svf-tools 1.0.579 → 1.0.581

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 (313) hide show
  1. package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +2 -1
  2. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +3 -2
  3. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +9 -6
  4. package/SVF-doxygen/html/html/Andersen_8h_source.html +6 -3
  5. package/SVF-doxygen/html/html/Annotator_8h_source.html +1 -1
  6. package/SVF-doxygen/html/html/BasicTypes_8cpp.html +81 -0
  7. package/SVF-doxygen/html/html/BasicTypes_8cpp_source.html +91 -0
  8. package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +10 -10
  9. package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +1 -1
  10. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +5 -5
  11. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +5 -5
  12. package/SVF-doxygen/html/html/CFLBase_8h_source.html +1 -1
  13. package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +12 -11
  14. package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +49 -48
  15. package/SVF-doxygen/html/html/CFLGrammar_8txt.html +76 -76
  16. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +10 -10
  18. package/SVF-doxygen/html/html/CFLSolver_8h_source.html +1 -1
  19. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +11 -10
  20. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +5 -4
  21. package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
  22. package/SVF-doxygen/html/html/CHG_8cpp_source.html +8 -8
  23. package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
  24. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +18 -16
  25. package/SVF-doxygen/html/html/CPPUtil_8h_source.html +1 -1
  26. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +6 -3
  28. package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
  29. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
  30. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +4 -2
  31. package/SVF-doxygen/html/html/CxtStmt_8h_source.html +2 -2
  32. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +5 -5
  33. package/SVF-doxygen/html/html/DCHG_8h_source.html +3 -3
  34. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  35. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +5 -2
  36. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +4 -2
  39. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +5 -5
  40. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  41. package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
  42. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
  43. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +4 -2
  44. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +2 -1
  45. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +6 -3
  46. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +5 -2
  47. package/SVF-doxygen/html/html/GrammarBuilder_8cpp_source.html +1 -2
  48. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -5
  49. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +3 -3
  50. package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
  51. package/SVF-doxygen/html/html/ICFGNode_8h_source.html +1 -1
  52. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +3 -3
  53. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  54. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
  55. package/SVF-doxygen/html/html/IRGraph_8h_source.html +2 -2
  56. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +6 -6
  57. package/SVF-doxygen/html/html/LLVMModule_8h_source.html +1 -1
  58. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +9 -9
  59. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +7 -7
  60. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  61. package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
  62. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +2 -2
  63. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +5 -5
  64. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
  65. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +7 -6
  66. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
  67. package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
  68. package/SVF-doxygen/html/html/MHP_8cpp_source.html +4 -4
  69. package/SVF-doxygen/html/html/MHP_8h_source.html +1 -1
  70. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
  71. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
  72. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +2 -2
  73. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +7 -7
  74. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +3 -3
  75. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
  76. package/SVF-doxygen/html/html/MTA_8cpp_source.html +5 -3
  77. package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
  78. package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
  79. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +6 -5
  80. package/SVF-doxygen/html/html/MemRegion_8h_source.html +4 -2
  81. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +10 -8
  82. package/SVF-doxygen/html/html/MemSSA_8h_source.html +4 -2
  83. package/SVF-doxygen/html/html/PCG_8cpp_source.html +3 -3
  84. package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
  85. package/SVF-doxygen/html/html/PEGGrammar_8txt.html +25 -25
  86. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +1 -1
  87. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  88. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +9 -9
  89. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
  90. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +3 -0
  91. package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +3 -2
  92. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +1 -1
  93. package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
  94. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
  95. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +2 -1
  96. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +4 -3
  97. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  98. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +18 -17
  99. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +6 -6
  100. package/SVF-doxygen/html/html/SVFIR_8h_source.html +1 -1
  101. package/SVF-doxygen/html/html/SVFModule_8h_source.html +4 -4
  102. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +2 -1
  103. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +5 -5
  104. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +4 -4
  105. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +2 -2
  106. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
  107. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  108. package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +5 -5
  109. package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +4 -4
  110. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -2
  111. package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +2 -3
  112. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  113. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +2 -1
  114. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +11 -11
  115. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
  116. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +3 -3
  117. package/SVF-doxygen/html/html/TCT_8cpp_source.html +6 -6
  118. package/SVF-doxygen/html/html/TCT_8h_source.html +4 -4
  119. package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +2 -2
  120. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +4 -4
  121. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
  122. package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
  123. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  124. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +0 -2
  125. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +83 -84
  126. package/SVF-doxygen/html/html/VFGNode_8h_source.html +3 -3
  127. package/SVF-doxygen/html/html/VFG_8cpp_source.html +6 -4
  128. package/SVF-doxygen/html/html/VFG_8h_source.html +6 -3
  129. package/SVF-doxygen/html/html/VFG_8txt.html +5 -5
  130. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +4 -2
  131. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +3 -1
  132. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
  133. package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
  134. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +3 -3
  136. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +8 -8
  137. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +4 -4
  138. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +3 -3
  139. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +5 -5
  140. package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
  141. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +1 -1
  142. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  143. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +1 -1
  144. package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +11 -11
  145. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +11 -11
  146. package/SVF-doxygen/html/html/classSVF_1_1CFLFIFOWorkList.html +24 -24
  147. package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar-members.html +24 -23
  148. package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar.html +49 -47
  149. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +10 -10
  150. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +1 -1
  151. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +17 -16
  152. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
  153. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +1 -1
  154. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +36 -36
  156. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  157. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +17 -8
  158. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +9 -8
  159. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +2 -2
  161. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +5 -5
  162. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +2 -2
  163. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +10 -6
  164. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +3 -3
  165. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +1 -1
  166. package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +1 -1
  167. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +5 -5
  168. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +3 -3
  169. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +5 -4
  170. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +12 -8
  171. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +4 -2
  172. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +7 -7
  173. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
  174. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +2 -2
  175. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  176. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase-members.html +25 -24
  177. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +75 -44
  178. package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder.html +1 -2
  179. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
  180. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +6 -6
  181. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +3 -3
  182. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +3 -3
  183. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +7 -7
  184. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +3 -3
  185. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  186. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +3 -3
  187. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +17 -17
  188. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +7 -6
  189. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +13 -13
  190. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +15 -12
  191. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +5 -3
  192. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +5 -5
  193. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +11 -11
  194. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
  195. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +34 -22
  196. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +1 -1
  197. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +8 -8
  198. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
  199. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
  200. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +13 -13
  201. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +3 -3
  202. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  203. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +3 -3
  204. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +5 -5
  205. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +126 -160
  206. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +11 -8
  207. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
  208. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +3 -3
  209. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +3 -3
  210. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +38 -37
  211. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +3 -2
  212. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
  213. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +1 -1
  214. package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +7 -7
  215. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +3 -2
  216. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  217. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +2 -2
  218. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +2 -1
  219. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  220. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +14 -14
  221. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +7 -7
  222. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +15 -15
  223. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  224. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  225. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +1 -1
  226. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
  227. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  228. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  229. package/SVF-doxygen/html/html/classSVF_1_1VFCFLGraphBuilder.html +1 -1
  230. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +24 -18
  231. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +6 -5
  232. package/SVF-doxygen/html/html/dir_862d3276083eaac55caed79b9120bf29.html +2 -0
  233. package/SVF-doxygen/html/html/files.html +14 -13
  234. package/SVF-doxygen/html/html/functions_d.html +1 -1
  235. package/SVF-doxygen/html/html/functions_func_d.html +1 -1
  236. package/SVF-doxygen/html/html/functions_func_g.html +2 -2
  237. package/SVF-doxygen/html/html/functions_func_i.html +11 -8
  238. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  239. package/SVF-doxygen/html/html/functions_g.html +2 -2
  240. package/SVF-doxygen/html/html/functions_i.html +16 -13
  241. package/SVF-doxygen/html/html/functions_l.html +3 -3
  242. package/SVF-doxygen/html/html/functions_o.html +6 -6
  243. package/SVF-doxygen/html/html/functions_p.html +7 -3
  244. package/SVF-doxygen/html/html/functions_r.html +1 -1
  245. package/SVF-doxygen/html/html/functions_s.html +8 -8
  246. package/SVF-doxygen/html/html/functions_v.html +3 -3
  247. package/SVF-doxygen/html/html/globals_a.html +5 -5
  248. package/SVF-doxygen/html/html/globals_c.html +2 -4
  249. package/SVF-doxygen/html/html/globals_e.html +1 -1
  250. package/SVF-doxygen/html/html/globals_f.html +1 -1
  251. package/SVF-doxygen/html/html/globals_func.html +1 -1
  252. package/SVF-doxygen/html/html/globals_g.html +12 -12
  253. package/SVF-doxygen/html/html/globals_l.html +4 -4
  254. package/SVF-doxygen/html/html/globals_s.html +4 -4
  255. package/SVF-doxygen/html/html/globals_v.html +4 -4
  256. package/SVF-doxygen/html/html/globals_vars.html +33 -35
  257. package/SVF-doxygen/html/html/namespaceSVF.html +26 -23
  258. package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +11 -11
  259. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +4 -4
  260. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +25 -23
  261. package/SVF-doxygen/html/html/search/all_1.js +2 -2
  262. package/SVF-doxygen/html/html/search/all_10.js +6 -6
  263. package/SVF-doxygen/html/html/search/all_11.js +1 -1
  264. package/SVF-doxygen/html/html/search/all_12.js +7 -7
  265. package/SVF-doxygen/html/html/search/all_13.js +3 -3
  266. package/SVF-doxygen/html/html/search/all_15.js +4 -4
  267. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  268. package/SVF-doxygen/html/html/search/all_2.js +1 -0
  269. package/SVF-doxygen/html/html/search/all_3.js +1 -1
  270. package/SVF-doxygen/html/html/search/all_4.js +1 -1
  271. package/SVF-doxygen/html/html/search/all_5.js +1 -1
  272. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  273. package/SVF-doxygen/html/html/search/all_7.js +7 -7
  274. package/SVF-doxygen/html/html/search/all_9.js +5 -4
  275. package/SVF-doxygen/html/html/search/all_b.js +1 -1
  276. package/SVF-doxygen/html/html/search/all_c.js +5 -5
  277. package/SVF-doxygen/html/html/search/all_e.js +1 -1
  278. package/SVF-doxygen/html/html/search/all_f.js +2 -2
  279. package/SVF-doxygen/html/html/search/files_1.js +1 -0
  280. package/SVF-doxygen/html/html/search/functions_3.js +1 -1
  281. package/SVF-doxygen/html/html/search/functions_5.js +1 -1
  282. package/SVF-doxygen/html/html/search/functions_6.js +2 -2
  283. package/SVF-doxygen/html/html/search/functions_8.js +2 -1
  284. package/SVF-doxygen/html/html/search/functions_f.js +1 -1
  285. package/SVF-doxygen/html/html/search/variables_1.js +2 -2
  286. package/SVF-doxygen/html/html/search/variables_12.js +2 -2
  287. package/SVF-doxygen/html/html/search/variables_13.js +2 -2
  288. package/SVF-doxygen/html/html/search/variables_15.js +2 -2
  289. package/SVF-doxygen/html/html/search/variables_3.js +1 -1
  290. package/SVF-doxygen/html/html/search/variables_5.js +1 -1
  291. package/SVF-doxygen/html/html/search/variables_6.js +1 -1
  292. package/SVF-doxygen/html/html/search/variables_7.js +5 -5
  293. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  294. package/SVF-doxygen/html/html/search/variables_c.js +3 -3
  295. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  296. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +3 -3
  297. package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement.html +1 -2
  298. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +1 -5
  299. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -5
  300. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +1 -1
  301. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
  302. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
  303. package/include/CFL/CFLAlias.h +2 -3
  304. package/include/CFL/CFLGrammar.h +2 -0
  305. package/include/CFL/CFLGrammar.txt +28 -28
  306. package/include/CFL/PEGGrammar.txt +7 -7
  307. package/include/CFL/VFG.txt +3 -3
  308. package/include/SVF-FE/BasicTypes.h +3 -0
  309. package/include/Util/BasicTypes.h +8 -101
  310. package/lib/CFL/CFLGrammar.cpp +33 -1
  311. package/lib/CFL/GrammarBuilder.cpp +1 -1
  312. package/lib/Util/BasicTypes.cpp +110 -0
  313. package/package.json +1 -1
@@ -973,17 +973,17 @@ Private Member Functions</h2></td></tr>
973
973
  <p class="definition">Definition at line <a class="el" href="PointerAnalysis_8cpp_source.html#l00493">493</a> of file <a class="el" href="PointerAnalysis_8cpp_source.html">PointerAnalysis.cpp</a>.</p>
974
974
  <div class="fragment"><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;{</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">for</span> (VFunSet::const_iterator fit = vfns.begin(),</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; feit = vfns.end(); fit != feit; ++fit)</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; {</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee = *fit;</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; callee = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a142e650415cb81011eb59dadd3cb0637">getDefFunForMultipleModule</a>(callee-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>());</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe">getIndCallMap</a>()[cs].count(callee) &gt; 0)</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVFUtil::getLLVMCallSite</a>(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>()).arg_size() == callee-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d">arg_size</a>() ||</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVFUtil::getLLVMCallSite</a>(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>()).getFunctionType()-&gt;isVarArg() &amp;&amp; callee-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a3c1fa59deae39c75c72c97e47326d982">isVarArg</a>()))</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; {</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; newEdges[cs].insert(callee);</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe">getIndCallMap</a>()[cs].insert(callee);</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callBlockNode = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-&gt;<a class="code" href="classSVF_1_1ICFG.html#adc66b547720b9271e6805edea0b9d01f">getCallICFGNode</a>(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>());</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; <a class="code" href="classSVF_1_1PointerAnalysis.html#ad47b39252e02c68dfb466d4f42dc7ebe">ptaCallGraph</a>-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#a46416c668e2f0099394e79f685ede758">addIndirectCallGraphEdge</a>(callBlockNode, cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">getCaller</a>(),callee);</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; }</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; }</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160;}</div><div class="ttc" id="classSVF_1_1PTACallGraph_html_a46416c668e2f0099394e79f685ede758"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a46416c668e2f0099394e79f685ede758">SVF::PTACallGraph::addIndirectCallGraphEdge</a></div><div class="ttdeci">void addIndirectCallGraphEdge(const CallICFGNode *cs, const SVFFunction *callerFun, const SVFFunction *calleeFun)</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8cpp_source.html#l00187">PTACallGraph.cpp:187</a></div></div>
975
975
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a142e650415cb81011eb59dadd3cb0637"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a142e650415cb81011eb59dadd3cb0637">SVF::SVFUtil::getDefFunForMultipleModule</a></div><div class="ttdeci">const SVFFunction * getDefFunForMultipleModule(const Function *fun)</div><div class="ttdoc">Get the definition of a function across multiple modules. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00257">SVFUtil.h:257</a></div></div>
976
- <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00115">BasicTypes.h:115</a></div></div>
976
+ <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
977
977
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad47b39252e02c68dfb466d4f42dc7ebe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad47b39252e02c68dfb466d4f42dc7ebe">SVF::PointerAnalysis::ptaCallGraph</a></div><div class="ttdeci">PTACallGraph * ptaCallGraph</div><div class="ttdoc">Call graph used for pointer analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00152">PointerAnalysis.h:152</a></div></div>
978
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a3757cd3ae587eaca488fa4cd8ad3967d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d">SVF::SVFFunction::arg_size</a></div><div class="ttdeci">u32_t arg_size() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00157">BasicTypes.h:157</a></div></div>
978
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a3757cd3ae587eaca488fa4cd8ad3967d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d">SVF::SVFFunction::arg_size</a></div><div class="ttdeci">u32_t arg_size() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00156">BasicTypes.h:156</a></div></div>
979
979
  <div class="ttc" id="classSVF_1_1ICFG_html_adc66b547720b9271e6805edea0b9d01f"><div class="ttname"><a href="classSVF_1_1ICFG.html#adc66b547720b9271e6805edea0b9d01f">SVF::ICFG::getCallICFGNode</a></div><div class="ttdeci">CallICFGNode * getCallICFGNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00239">ICFG.cpp:239</a></div></div>
980
980
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a1ca30dfa42702071b65d363c76d25cbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe">SVF::PointerAnalysis::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="PointerAnalysis_8h_source.html#l00375">PointerAnalysis.h:375</a></div></div>
981
981
  <div class="ttc" id="classSVF_1_1CallICFGNode_html_a674753d5ca0fbe28674acb25291f2bcf"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">SVF::CallICFGNode::getCallSite</a></div><div class="ttdeci">const Instruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00380">ICFGNode.h:380</a></div></div>
982
982
  <div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
983
- <div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00141">BasicTypes.h:141</a></div></div>
983
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00140">BasicTypes.h:140</a></div></div>
984
984
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a202de7ad2bea0311e2f75894c030e7a9"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVF::SVFUtil::getLLVMCallSite</a></div><div class="ttdeci">CallSite getLLVMCallSite(const Instruction *inst)</div><div class="ttdoc">Return LLVM callsite given a instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00217">SVFUtil.h:217</a></div></div>
985
985
  <div class="ttc" id="classSVF_1_1CallICFGNode_html_a18f4077d42b23c3fed35efc793b6102e"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">SVF::CallICFGNode::getCaller</a></div><div class="ttdeci">const SVFFunction * getCaller() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00399">ICFGNode.h:399</a></div></div>
986
- <div class="ttc" id="classSVF_1_1SVFFunction_html_a3c1fa59deae39c75c72c97e47326d982"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3c1fa59deae39c75c72c97e47326d982">SVF::SVFFunction::isVarArg</a></div><div class="ttdeci">bool isVarArg() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00167">BasicTypes.h:167</a></div></div>
986
+ <div class="ttc" id="classSVF_1_1SVFFunction_html_a3c1fa59deae39c75c72c97e47326d982"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3c1fa59deae39c75c72c97e47326d982">SVF::SVFFunction::isVarArg</a></div><div class="ttdeci">bool isVarArg() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00166">BasicTypes.h:166</a></div></div>
987
987
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00142">PointerAnalysis.h:142</a></div></div>
988
988
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
989
989
  </div><!-- fragment -->
@@ -1162,7 +1162,7 @@ Private Member Functions</h2></td></tr>
1162
1162
  <div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;{</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <span class="keywordflow">for</span> (OrderedNodeSet::iterator nIter = this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc">getAllValidPtrs</a>().begin();</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; nIter != this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc">getAllValidPtrs</a>().end(); ++nIter)</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node = <a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(*nIter);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;DummyObjVar&gt;(node) || SVFUtil::isa&lt;DummyValVar&gt;(node))</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;##&lt;&quot;</span> &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">getValue</a>()-&gt;getName().str() &lt;&lt; <span class="stringliteral">&quot;&gt; &quot;</span>;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Source Loc: &quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">getValue</a>());</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\nNodeID &quot;</span> &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">getValue</a>()-&gt;getType();</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#aa40ff2fcaba3d4297d63269b74738737">printFlattenFields</a>(type);</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* ptType = SVFUtil::dyn_cast&lt;PointerType&gt;(type))</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#aa40ff2fcaba3d4297d63269b74738737">printFlattenFields</a>(<a class="code" href="classSVF_1_1SymbolTableInfo.html#aaeed05509be23fce24809b9cb21cdee2">SymbolTableInfo::getPtrElementType</a>(ptType));</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; }</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;}</div><div class="ttc" id="classSVF_1_1PointerAnalysis_html_a60b111647e000cc983aa52513f90afbc"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc">SVF::PointerAnalysis::getAllValidPtrs</a></div><div class="ttdeci">OrderedNodeSet &amp; getAllValidPtrs()</div><div class="ttdoc">Get all Valid Pointers for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00218">PointerAnalysis.h:218</a></div></div>
1163
1163
  <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aaeed05509be23fce24809b9cb21cdee2"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aaeed05509be23fce24809b9cb21cdee2">SVF::SymbolTableInfo::getPtrElementType</a></div><div class="ttdeci">static const Type * getPtrElementType(const PointerType *pty)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00386">SymbolTableInfo.cpp:386</a></div></div>
1164
1164
  <div class="ttc" id="namespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdoc">LLVM Basic classes. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00064">BasicTypes.h:64</a></div></div>
1165
- <div class="ttc" id="namespaceSVF_html_aa962cc1d782cc46553251e96b64a754b"><div class="ttname"><a href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">SVF::PointerType</a></div><div class="ttdeci">llvm::PointerType PointerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00084">BasicTypes.h:84</a></div></div>
1165
+ <div class="ttc" id="namespaceSVF_html_aa962cc1d782cc46553251e96b64a754b"><div class="ttname"><a href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">SVF::PointerType</a></div><div class="ttdeci">llvm::PointerType PointerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00083">BasicTypes.h:83</a></div></div>
1166
1166
  <div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
1167
1167
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00267">SVFUtil.cpp:267</a></div></div>
1168
1168
  <div class="ttc" id="cJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
@@ -2493,7 +2493,7 @@ Private Member Functions</h2></td></tr>
2493
2493
  <p class="definition">Definition at line <a class="el" href="PointerAnalysis_8cpp_source.html#l00148">148</a> of file <a class="el" href="PointerAnalysis_8cpp_source.html">PointerAnalysis.cpp</a>.</p>
2494
2494
  <div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;{</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* obj = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">getObject</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; assert(obj &amp;&amp; <span class="stringliteral">&quot;object not found!!&quot;</span>);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">if</span>(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#af7316c697eafc71d5fc93108da4e2cee">isStack</a>())</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>)-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e">getFunction</a>())</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svffun = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-&gt;<a class="code" href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">getSVFFunction</a>(fun);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ae3b651799345d9d92b6d736dafb03f63">callGraphSCC</a>-&gt;<a class="code" href="classSVF_1_1SCCDetection.html#a5d699af73b1e7ad4e3a5f6d26b8b6d15">isInCycle</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-&gt;getCallGraphNode(svffun)-&gt;getId());</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; }</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;}</div><div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00378">SymbolTableInfo.h:378</a></div></div>
2495
2495
  <div class="ttc" id="classSVF_1_1MemObj_html_af7316c697eafc71d5fc93108da4e2cee"><div class="ttname"><a href="classSVF_1_1MemObj.html#af7316c697eafc71d5fc93108da4e2cee">SVF::MemObj::isStack</a></div><div class="ttdeci">bool isStack() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00764">SymbolTableInfo.cpp:764</a></div></div>
2496
- <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00115">BasicTypes.h:115</a></div></div>
2496
+ <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
2497
2497
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7c9b7e5fe37ae31ba84d167945ca57df"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">SVF::PointerAnalysis::getPTACallGraph</a></div><div class="ttdeci">PTACallGraph * getPTACallGraph() const</div><div class="ttdoc">Return call graph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00174">PointerAnalysis.h:174</a></div></div>
2498
2498
  <div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00069">BasicTypes.h:69</a></div></div>
2499
2499
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae3b651799345d9d92b6d736dafb03f63"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae3b651799345d9d92b6d736dafb03f63">SVF::PointerAnalysis::callGraphSCC</a></div><div class="ttdeci">CallGraphSCC * callGraphSCC</div><div class="ttdoc">SCC for CallGraph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00154">PointerAnalysis.h:154</a></div></div>
@@ -2567,7 +2567,7 @@ Private Member Functions</h2></td></tr>
2567
2567
  <p>Match arguments for callsite at caller and callee </p>
2568
2568
 
2569
2569
  <p class="definition">Definition at line <a class="el" href="PointerAnalysis_8cpp_source.html#l00447">447</a> of file <a class="el" href="PointerAnalysis_8cpp_source.html">PointerAnalysis.cpp</a>.</p>
2570
- <div class="fragment"><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;{</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;isTDFork(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>()))</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVFUtil::getLLVMCallSite</a>(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>()).arg_size() == callee-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d">arg_size</a>();</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFFunction_html_a3757cd3ae587eaca488fa4cd8ad3967d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d">SVF::SVFFunction::arg_size</a></div><div class="ttdeci">u32_t arg_size() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00157">BasicTypes.h:157</a></div></div>
2570
+ <div class="fragment"><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;{</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>()-&gt;isTDFork(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>()))</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVFUtil::getLLVMCallSite</a>(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>()).arg_size() == callee-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d">arg_size</a>();</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFFunction_html_a3757cd3ae587eaca488fa4cd8ad3967d"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a3757cd3ae587eaca488fa4cd8ad3967d">SVF::SVFFunction::arg_size</a></div><div class="ttdeci">u32_t arg_size() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00156">BasicTypes.h:156</a></div></div>
2571
2571
  <div class="ttc" id="classSVF_1_1ThreadAPI_html_a6852ff1eedc1117e95e45e4a90c80d53"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">SVF::ThreadAPI::getThreadAPI</a></div><div class="ttdeci">static ThreadAPI * getThreadAPI()</div><div class="ttdoc">Return a static reference. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00102">ThreadAPI.h:102</a></div></div>
2572
2572
  <div class="ttc" id="classSVF_1_1CallICFGNode_html_a674753d5ca0fbe28674acb25291f2bcf"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">SVF::CallICFGNode::getCallSite</a></div><div class="ttdeci">const Instruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00380">ICFGNode.h:380</a></div></div>
2573
2573
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a202de7ad2bea0311e2f75894c030e7a9"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVF::SVFUtil::getLLVMCallSite</a></div><div class="ttdeci">CallSite getLLVMCallSite(const Instruction *inst)</div><div class="ttdoc">Return LLVM callsite given a instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00217">SVFUtil.h:217</a></div></div>
@@ -2604,7 +2604,7 @@ Private Member Functions</h2></td></tr>
2604
2604
  <p>Print indirect call targets at an indirect callsite </p>
2605
2605
 
2606
2606
  <p class="definition">Definition at line <a class="el" href="PointerAnalysis_8cpp_source.html#l00335">335</a> of file <a class="el" href="PointerAnalysis_8cpp_source.html">PointerAnalysis.cpp</a>.</p>
2607
- <div class="fragment"><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;{</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\nNodeID: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1PointerAnalysis.html#adbceaf90526e44192c2fa4aac5468f5f">getFunPtr</a>(cs);</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\nCallSite: &quot;</span>;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVFUtil::value2String</a>(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>());</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tLocation: &quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVFUtil::getSourceLoc</a>(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>());</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t with Targets: &quot;</span>;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">if</span> (!targets.empty())</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; {</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; FunctionSet::const_iterator fit = targets.begin();</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; FunctionSet::const_iterator feit = targets.end();</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">for</span> (; fit != feit; ++fit)</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee = *fit;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n\t&quot;</span> &lt;&lt; callee-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">getName</a>();</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; }</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; {</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n\tNo Targets!&quot;</span>;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; }</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00115">BasicTypes.h:115</a></div></div>
2607
+ <div class="fragment"><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;{</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\nNodeID: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1PointerAnalysis.html#adbceaf90526e44192c2fa4aac5468f5f">getFunPtr</a>(cs);</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\nCallSite: &quot;</span>;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVFUtil::value2String</a>(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>());</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\tLocation: &quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVFUtil::getSourceLoc</a>(cs-&gt;<a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>());</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t with Targets: &quot;</span>;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">if</span> (!targets.empty())</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; {</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; FunctionSet::const_iterator fit = targets.begin();</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; FunctionSet::const_iterator feit = targets.end();</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">for</span> (; fit != feit; ++fit)</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee = *fit;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n\t&quot;</span> &lt;&lt; callee-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">getName</a>();</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; }</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; }</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; {</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n\tNo Targets!&quot;</span>;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; }</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
2608
2608
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00267">SVFUtil.cpp:267</a></div></div>
2609
2609
  <div class="ttc" id="namespaceSVF_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#l00049">SVFUtil.h:49</a></div></div>
2610
2610
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00390">SVFUtil.cpp:390</a></div></div>
@@ -2848,7 +2848,7 @@ Private Member Functions</h2></td></tr>
2848
2848
  <div class="ttc" id="classSVF_1_1SVFIR_html_a3dbe0b17694daa74f648a70e77efaf23"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a3dbe0b17694daa74f648a70e77efaf23">SVF::SVFIR::isIndirectCallSites</a></div><div class="ttdeci">bool isIndirectCallSites(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00315">SVFIR.h:315</a></div></div>
2849
2849
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a142e650415cb81011eb59dadd3cb0637"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a142e650415cb81011eb59dadd3cb0637">SVF::SVFUtil::getDefFunForMultipleModule</a></div><div class="ttdeci">const SVFFunction * getDefFunForMultipleModule(const Function *fun)</div><div class="ttdoc">Get the definition of a function across multiple modules. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00257">SVFUtil.h:257</a></div></div>
2850
2850
  <div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html">SVF::PointsTo::PointsToIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00181">PointsTo.h:181</a></div></div>
2851
- <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00115">BasicTypes.h:115</a></div></div>
2851
+ <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
2852
2852
  <div class="ttc" id="classSVF_1_1Options_html_ad6c29b05188c9e06aa89623c61865ed8"><div class="ttname"><a href="classSVF_1_1Options.html#ad6c29b05188c9e06aa89623c61865ed8">SVF::Options::IndirectCallLimit</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; IndirectCallLimit</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00138">Options.h:138</a></div></div>
2853
2853
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad47b39252e02c68dfb466d4f42dc7ebe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad47b39252e02c68dfb466d4f42dc7ebe">SVF::PointerAnalysis::ptaCallGraph</a></div><div class="ttdeci">PTACallGraph * ptaCallGraph</div><div class="ttdoc">Call graph used for pointer analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00152">PointerAnalysis.h:152</a></div></div>
2854
2854
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ab541df6fc703c0b21c2c308584c0b7ff"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ab541df6fc703c0b21c2c308584c0b7ff">SVF::PointerAnalysis::matchArgs</a></div><div class="ttdeci">bool matchArgs(const CallICFGNode *cs, const SVFFunction *callee)</div><div class="ttdoc">Match arguments for callsite at caller and callee. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00447">PointerAnalysis.cpp:447</a></div></div>
@@ -2926,8 +2926,8 @@ Private Member Functions</h2></td></tr>
2926
2926
  <p class="definition">Definition at line <a class="el" href="PointerAnalysis_8cpp_source.html#l00601">601</a> of file <a class="el" href="PointerAnalysis_8cpp_source.html">PointerAnalysis.cpp</a>.</p>
2927
2927
  <div class="fragment"><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160;{</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160;</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* checkFun = <a class="code" href="namespaceSVF_1_1SVFUtil.html#aa09c2b313ff1c1abcc1e5cb3f9ef46a5">getFunction</a>(fun))</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; {</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">if</span>(!checkFun-&gt;getLLVMFun()-&gt;use_empty())</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#aed4e5066f6ddef83afaf60adbcc11de0">PTAName</a>() &lt;&lt; <span class="stringliteral">&quot;] Checking &quot;</span> &lt;&lt; fun &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160;</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <span class="keywordflow">for</span> (Value::user_iterator i = checkFun-&gt;getLLVMFun()-&gt;user_begin(), e =</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; checkFun-&gt;getLLVMFun()-&gt;user_end(); i != e; ++i)</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">CallInst</a> *call = SVFUtil::dyn_cast&lt;CallInst&gt;(*i))</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; {</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; assert(call-&gt;arg_size() == 2</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; &amp;&amp; <span class="stringliteral">&quot;arguments should be two pointers!!&quot;</span>);</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* V1 = call-&gt;getArgOperand(0);</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* V2 = call-&gt;getArgOperand(1);</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">AliasResult</a> aliasRes = <a class="code" href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">alias</a>(V1, V2);</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160;</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; <span class="keywordtype">bool</span> expectedFailure = <span class="keyword">false</span>;</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">if</span> (fun == <a class="code" href="classSVF_1_1PointerAnalysis.html#a32c6f12ce8bc0554dbb6aafa36f9a235">aliasTestFailMayAlias</a> || fun == <a class="code" href="classSVF_1_1PointerAnalysis.html#a651cc82379c2d18cc2f69f25b2ae08db">aliasTestFailMayAliasMangled</a>)</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; {</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="comment">// change to must alias when our analysis support it</span></div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">if</span> (aliasRes == <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239">AliasResult::NoAlias</a>)</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; expectedFailure = <span class="keyword">true</span>;</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; }</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (fun == <a class="code" href="classSVF_1_1PointerAnalysis.html#a18347e41bc66b16e3f42c7c52811ad42">aliasTestFailNoAlias</a> || fun == <a class="code" href="classSVF_1_1PointerAnalysis.html#aefd4e9ea66da5ad84a45efead823eb22">aliasTestFailNoAliasMangled</a>)</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; {</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; <span class="comment">// change to partial alias when our analysis support it</span></div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <span class="keywordflow">if</span> (aliasRes == <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">AliasResult::MayAlias</a> || aliasRes == <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aa03eb20fd81629154d6c346763ea64d6">AliasResult::PartialAlias</a> || aliasRes == <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943ab58a0391f037031a51016ebfe2a752b2">AliasResult::MustAlias</a>)</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; expectedFailure = <span class="keyword">true</span>;</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; }</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;not supported alias check!!&quot;</span>);</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id1 = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(V1);</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id2 = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(V2);</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160;</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <span class="keywordflow">if</span> (expectedFailure)</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a6a55f1f8598998a3ffbbc67d32eaf8c4">sucMsg</a>(<span class="stringliteral">&quot;\t EXPECTED-FAILURE :&quot;</span>) &lt;&lt; fun &lt;&lt; <span class="stringliteral">&quot; check &lt;id:&quot;</span> &lt;&lt; id1 &lt;&lt; <span class="stringliteral">&quot;, id:&quot;</span> &lt;&lt; id2 &lt;&lt; <span class="stringliteral">&quot;&gt; at (&quot;</span></div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(call) &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; {</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5d4bb92f5df30417f414397f8e58cf01">errMsg</a>(<span class="stringliteral">&quot;\t UNEXPECTED FAILURE :&quot;</span>) &lt;&lt; fun &lt;&lt; <span class="stringliteral">&quot; check &lt;id:&quot;</span> &lt;&lt; id1 &lt;&lt; <span class="stringliteral">&quot;, id:&quot;</span> &lt;&lt; id2 &lt;&lt; <span class="stringliteral">&quot;&gt; at (&quot;</span></div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(call) &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;test case failed!&quot;</span>);</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; }</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; }</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;alias check functions not only used at callsite??&quot;</span>);</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; }</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
2928
2928
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a651cc82379c2d18cc2f69f25b2ae08db"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a651cc82379c2d18cc2f69f25b2ae08db">SVF::PointerAnalysis::aliasTestFailMayAliasMangled</a></div><div class="ttdeci">static const std::string aliasTestFailMayAliasMangled</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00121">PointerAnalysis.h:121</a></div></div>
2929
- <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00115">BasicTypes.h:115</a></div></div>
2930
- <div class="ttc" id="namespaceSVF_html_adc8b60ca7d60cf6c81feae20e4a04c63"><div class="ttname"><a href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">SVF::CallInst</a></div><div class="ttdeci">llvm::CallInst CallInst</div><div class="ttdoc">LLVM Instructions. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00098">BasicTypes.h:98</a></div></div>
2929
+ <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
2930
+ <div class="ttc" id="namespaceSVF_html_adc8b60ca7d60cf6c81feae20e4a04c63"><div class="ttname"><a href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">SVF::CallInst</a></div><div class="ttdeci">llvm::CallInst CallInst</div><div class="ttdoc">LLVM Instructions. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00097">BasicTypes.h:97</a></div></div>
2931
2931
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00267">SVFUtil.cpp:267</a></div></div>
2932
2932
  <div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">SVF::AliasResult</a></div><div class="ttdeci">AliasResult</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00196">SVFBasicTypes.h:196</a></div></div>
2933
2933
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a6a55f1f8598998a3ffbbc67d32eaf8c4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a6a55f1f8598998a3ffbbc67d32eaf8c4">SVF::SVFUtil::sucMsg</a></div><div class="ttdeci">std::string sucMsg(std::string msg)</div><div class="ttdoc">Returns successful message by converting a string into green string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00054">SVFUtil.cpp:54</a></div></div>
@@ -2979,7 +2979,7 @@ Private Member Functions</h2></td></tr>
2979
2979
  <div class="fragment"><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160;{</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160;</div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="comment">// check for must alias cases, whether our alias analysis produce the correct results</span></div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* checkFun = <a class="code" href="namespaceSVF_1_1SVFUtil.html#aa09c2b313ff1c1abcc1e5cb3f9ef46a5">getFunction</a>(fun))</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; {</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">if</span>(!checkFun-&gt;getLLVMFun()-&gt;use_empty())</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;[&quot;</span> &lt;&lt; this-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#aed4e5066f6ddef83afaf60adbcc11de0">PTAName</a>() &lt;&lt; <span class="stringliteral">&quot;] Checking &quot;</span> &lt;&lt; fun &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160;</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">for</span> (Value::user_iterator i = checkFun-&gt;getLLVMFun()-&gt;user_begin(), e =</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; checkFun-&gt;getLLVMFun()-&gt;user_end(); i != e; ++i)</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">SVFUtil::isCallSite</a>(*i))</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; {</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs(*i);</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; assert(cs.getNumArgOperands() == 2</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; &amp;&amp; <span class="stringliteral">&quot;arguments should be two pointers!!&quot;</span>);</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* V1 = cs.getArgOperand(0);</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* V2 = cs.getArgOperand(1);</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">AliasResult</a> aliasRes = <a class="code" href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">alias</a>(V1, V2);</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160;</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; <span class="keywordtype">bool</span> checkSuccessful = <span class="keyword">false</span>;</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">if</span> (fun == <a class="code" href="classSVF_1_1PointerAnalysis.html#a7648a0358e2c0798db1c547ec7aa7c64">aliasTestMayAlias</a> || fun == <a class="code" href="classSVF_1_1PointerAnalysis.html#a13ce6b930a35877f17bffd4b89e22654">aliasTestMayAliasMangled</a>)</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; {</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">if</span> (aliasRes == <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">AliasResult::MayAlias</a> || aliasRes == <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943ab58a0391f037031a51016ebfe2a752b2">AliasResult::MustAlias</a>)</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; checkSuccessful = <span class="keyword">true</span>;</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; }</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (fun == <a class="code" href="classSVF_1_1PointerAnalysis.html#ac353221cc7aced590dcf3550a24b1570">aliasTestNoAlias</a> || fun == <a class="code" href="classSVF_1_1PointerAnalysis.html#a0e68883e2ee328315af29e59bb2008cd">aliasTestNoAliasMangled</a>)</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; {</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keywordflow">if</span> (aliasRes == <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943afdd83ddff93d38902f07775cd36df239">AliasResult::NoAlias</a>)</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; checkSuccessful = <span class="keyword">true</span>;</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; }</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (fun == <a class="code" href="classSVF_1_1PointerAnalysis.html#a7477a4301d548b93958e57df389cbba0">aliasTestMustAlias</a> || fun == <a class="code" href="classSVF_1_1PointerAnalysis.html#aec884481726cfaf19c4ab8ec8d9195b7">aliasTestMustAliasMangled</a>)</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; {</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="comment">// change to must alias when our analysis support it</span></div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="keywordflow">if</span> (aliasRes == <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">AliasResult::MayAlias</a> || aliasRes == <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943ab58a0391f037031a51016ebfe2a752b2">AliasResult::MustAlias</a>)</div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; checkSuccessful = <span class="keyword">true</span>;</div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; }</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (fun == <a class="code" href="classSVF_1_1PointerAnalysis.html#a83b0a51d88fa7aadff6e9267765d07a5">aliasTestPartialAlias</a> || fun == <a class="code" href="classSVF_1_1PointerAnalysis.html#acbb517523fd30708ed1a93f306cd3545">aliasTestPartialAliasMangled</a>)</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; {</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="comment">// change to partial alias when our analysis support it</span></div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; <span class="keywordflow">if</span> (aliasRes == <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">AliasResult::MayAlias</a>)</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; checkSuccessful = <span class="keyword">true</span>;</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; }</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;not supported alias check!!&quot;</span>);</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160;</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id1 = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(V1);</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> id2 = <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(V2);</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160;</div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="keywordflow">if</span> (checkSuccessful)</div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a6a55f1f8598998a3ffbbc67d32eaf8c4">sucMsg</a>(<span class="stringliteral">&quot;\t SUCCESS :&quot;</span>) &lt;&lt; fun &lt;&lt; <span class="stringliteral">&quot; check &lt;id:&quot;</span> &lt;&lt; id1 &lt;&lt; <span class="stringliteral">&quot;, id:&quot;</span> &lt;&lt; id2 &lt;&lt; <span class="stringliteral">&quot;&gt; at (&quot;</span></div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(*i) &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; {</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5d4bb92f5df30417f414397f8e58cf01">errMsg</a>(<span class="stringliteral">&quot;\t FAILURE :&quot;</span>) &lt;&lt; fun</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; &lt;&lt; <span class="stringliteral">&quot; check &lt;id:&quot;</span> &lt;&lt; id1 &lt;&lt; <span class="stringliteral">&quot;, id:&quot;</span> &lt;&lt; id2</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; &lt;&lt; <span class="stringliteral">&quot;&gt; at (&quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(*i) &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;test case failed!&quot;</span>);</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; }</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; }</div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;alias check functions not only used at callsite??&quot;</span>);</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160;</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; }</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160;}</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a2e08ce822223842fa6a73fd659b1a526"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">SVF::SVFUtil::isCallSite</a></div><div class="ttdeci">bool isCallSite(const Instruction *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#l00196">SVFUtil.h:196</a></div></div>
2980
2980
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
2981
2981
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac353221cc7aced590dcf3550a24b1570"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac353221cc7aced590dcf3550a24b1570">SVF::PointerAnalysis::aliasTestNoAlias</a></div><div class="ttdeci">static const std::string aliasTestNoAlias</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00114">PointerAnalysis.h:114</a></div></div>
2982
- <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00115">BasicTypes.h:115</a></div></div>
2982
+ <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
2983
2983
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00267">SVFUtil.cpp:267</a></div></div>
2984
2984
  <div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">SVF::AliasResult</a></div><div class="ttdeci">AliasResult</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00196">SVFBasicTypes.h:196</a></div></div>
2985
2985
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a6a55f1f8598998a3ffbbc67d32eaf8c4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a6a55f1f8598998a3ffbbc67d32eaf8c4">SVF::SVFUtil::sucMsg</a></div><div class="ttdeci">std::string sucMsg(std::string msg)</div><div class="ttdoc">Returns successful message by converting a string into green string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00054">SVFUtil.cpp:54</a></div></div>
@@ -2995,7 +2995,7 @@ Private Member Functions</h2></td></tr>
2995
2995
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7477a4301d548b93958e57df389cbba0"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7477a4301d548b93958e57df389cbba0">SVF::PointerAnalysis::aliasTestMustAlias</a></div><div class="ttdeci">static const std::string aliasTestMustAlias</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00118">PointerAnalysis.h:118</a></div></div>
2996
2996
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a83b0a51d88fa7aadff6e9267765d07a5"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a83b0a51d88fa7aadff6e9267765d07a5">SVF::PointerAnalysis::aliasTestPartialAlias</a></div><div class="ttdeci">static const std::string aliasTestPartialAlias</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00116">PointerAnalysis.h:116</a></div></div>
2997
2997
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a6c01f259ad2379a422d7106ce0255eb8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">SVF::PointerAnalysis::alias</a></div><div class="ttdeci">virtual AliasResult alias(const Value *V1, const Value *V2)=0</div><div class="ttdoc">Interface exposed to users of our pointer analysis, given Value infos. </div></div>
2998
- <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00387">BasicTypes.h:387</a></div></div>
2998
+ <div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00294">BasicTypes.h:294</a></div></div>
2999
2999
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_acbb517523fd30708ed1a93f306cd3545"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#acbb517523fd30708ed1a93f306cd3545">SVF::PointerAnalysis::aliasTestPartialAliasMangled</a></div><div class="ttdeci">static const std::string aliasTestPartialAliasMangled</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00117">PointerAnalysis.h:117</a></div></div>
3000
3000
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00142">PointerAnalysis.h:142</a></div></div>
3001
3001
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a5d4bb92f5df30417f414397f8e58cf01"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a5d4bb92f5df30417f414397f8e58cf01">SVF::SVFUtil::errMsg</a></div><div class="ttdeci">std::string errMsg(std::string msg)</div><div class="ttdoc">Print error message by converting a string into red string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00076">SVFUtil.cpp:76</a></div></div>
@@ -287,8 +287,8 @@ Static Private Attributes</h2></td></tr>
287
287
  <div class="fragment"><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; {</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="comment">// Collect call sites of all RC_ACCESS function calls.</span></div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; std::vector&lt;const CallInst*&gt; csInsts;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1RaceResultValidator.html#abd3ad42a71357dfd1483e6e0d18d5ebd">M</a>-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a648542aa5c4b487ad5aa12a39d15e951">llvmFunBegin</a>(); it != <a class="code" href="classSVF_1_1RaceResultValidator.html#abd3ad42a71357dfd1483e6e0d18d5ebd">M</a>-&gt;<a class="code" href="classSVF_1_1SVFModule.html#af38d0f831967d6d8391a4c84e58d6519">llvmFunEnd</a>(); it++)</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> fName = (*it)-&gt;getName().str();</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">if</span>(fName.find(<a class="code" href="classSVF_1_1RaceResultValidator.html#ae296de41ead49fcff5ea9e7a5afde1c9">RC_ACCESS</a>) != std::string::npos)</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; {</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; F = (*it);</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">break</span>;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; }</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; }</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">if</span> (!F) <span class="keywordflow">return</span>;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">for</span> (Value::const_use_iterator it = F-&gt;use_begin(), ie =</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; F-&gt;use_end(); it != ie; ++it)</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; {</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a334998718813a19a7697daf4ba282faf">Use</a> *u = &amp;*it;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *user = u-&gt;getUser();</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">CallInst</a> *csInst = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">CallInst</a>&gt;(user);</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; assert(csInst);</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; csInsts.push_back(csInst);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; }</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; assert(csInsts.size() % 2 == 0 &amp;&amp; <span class="stringliteral">&quot;We should have RC_ACCESS called in pairs.&quot;</span>);</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="comment">// Sort the validation sites according to their ids.</span></div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; std::sort(csInsts.begin(), csInsts.end(), <a class="code" href="classSVF_1_1RaceResultValidator.html#a7a16fb7a3f382284dbb080802f6e6f43">compare</a>);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="comment">// Generate access pairs.</span></div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0, e = csInsts.size(); i != e;)</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; {</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">CallInst</a> *CI1 = csInsts[i++];</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">CallInst</a> *CI2 = csInsts[i++];</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a> *C = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a>&gt;(CI1-&gt;getOperand(1));</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; assert(C);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *I1 = <a class="code" href="classSVF_1_1RaceResultValidator.html#ad029f7a9a5161191a44d1e841f9d6114">getPreviousMemoryAccessInst</a>(CI1);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *I2 = <a class="code" href="classSVF_1_1RaceResultValidator.html#ad029f7a9a5161191a44d1e841f9d6114">getPreviousMemoryAccessInst</a>(CI2);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; assert(I1 &amp;&amp; I2 &amp;&amp; <span class="stringliteral">&quot;RC_ACCESS should be placed immediately after the target memory access.&quot;</span>);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="classSVF_1_1RaceResultValidator.html#ac57ae430ee5b6868fe810172ec658853">RC_FLAG</a> flags = C-&gt;getZExtValue();</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="classSVF_1_1RaceResultValidator.html#a8436ecde1e34bca7cef86a320ad42162">accessPairs</a>.push_back(AccessPair(I1, I2, flags));</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; }</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div><div class="ttc" id="namespaceSVF_html_a334998718813a19a7697daf4ba282faf"><div class="ttname"><a href="namespaceSVF.html#a334998718813a19a7697daf4ba282faf">SVF::Use</a></div><div class="ttdeci">llvm::Use Use</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00036">BasicTypes.h:36</a></div></div>
288
288
  <div class="ttc" id="classSVF_1_1SVFModule_html_af38d0f831967d6d8391a4c84e58d6519"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af38d0f831967d6d8391a4c84e58d6519">SVF::SVFModule::llvmFunEnd</a></div><div class="ttdeci">llvm_iterator llvmFunEnd()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00147">SVFModule.h:147</a></div></div>
289
289
  <div class="ttc" id="classSVF_1_1RaceResultValidator_html_a7a16fb7a3f382284dbb080802f6e6f43"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#a7a16fb7a3f382284dbb080802f6e6f43">SVF::RaceResultValidator::compare</a></div><div class="ttdeci">static bool compare(const CallInst *CI1, const CallInst *CI2)</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00393">MTAResultValidator.h:393</a></div></div>
290
- <div class="ttc" id="namespaceSVF_html_adc8b60ca7d60cf6c81feae20e4a04c63"><div class="ttname"><a href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">SVF::CallInst</a></div><div class="ttdeci">llvm::CallInst CallInst</div><div class="ttdoc">LLVM Instructions. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00098">BasicTypes.h:98</a></div></div>
291
- <div class="ttc" id="namespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00089">BasicTypes.h:89</a></div></div>
290
+ <div class="ttc" id="namespaceSVF_html_adc8b60ca7d60cf6c81feae20e4a04c63"><div class="ttname"><a href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">SVF::CallInst</a></div><div class="ttdeci">llvm::CallInst CallInst</div><div class="ttdoc">LLVM Instructions. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00097">BasicTypes.h:97</a></div></div>
291
+ <div class="ttc" id="namespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00088">BasicTypes.h:88</a></div></div>
292
292
  <div class="ttc" id="classSVF_1_1RaceResultValidator_html_ac57ae430ee5b6868fe810172ec658853"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#ac57ae430ee5b6868fe810172ec658853">SVF::RaceResultValidator::RC_FLAG</a></div><div class="ttdeci">int RC_FLAG</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00171">MTAResultValidator.h:171</a></div></div>
293
293
  <div class="ttc" id="classSVF_1_1SVFModule_html_a648542aa5c4b487ad5aa12a39d15e951"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a648542aa5c4b487ad5aa12a39d15e951">SVF::SVFModule::llvmFunBegin</a></div><div class="ttdeci">llvm_iterator llvmFunBegin()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00139">SVFModule.h:139</a></div></div>
294
294
  <div class="ttc" id="classSVF_1_1RaceResultValidator_html_ad029f7a9a5161191a44d1e841f9d6114"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#ad029f7a9a5161191a44d1e841f9d6114">SVF::RaceResultValidator::getPreviousMemoryAccessInst</a></div><div class="ttdeci">const Instruction * getPreviousMemoryAccessInst(const Instruction *I)</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00408">MTAResultValidator.h:408</a></div></div>
@@ -340,7 +340,7 @@ Static Private Attributes</h2></td></tr>
340
340
  <p>Comparison function to sort the validation targets in ascending order of the validation id (i.e., the 1st argument of RC_ACCESS function call). </p>
341
341
 
342
342
  <p class="definition">Definition at line <a class="el" href="MTAResultValidator_8h_source.html#l00393">393</a> of file <a class="el" href="MTAResultValidator_8h_source.html">MTAResultValidator.h</a>.</p>
343
- <div class="fragment"><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; {</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *V1 = CI1-&gt;getOperand(0);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *V2 = CI2-&gt;getOperand(0);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a> *C1 = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a>&gt;(V1);</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a> *C2 = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a>&gt;(V2);</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; assert(0 != C1 &amp;&amp; 0 != C2);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">return</span> C1-&gt;getZExtValue() &lt; C2-&gt;getZExtValue();</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; }</div><div class="ttc" id="namespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00089">BasicTypes.h:89</a></div></div>
343
+ <div class="fragment"><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; {</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *V1 = CI1-&gt;getOperand(0);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *V2 = CI2-&gt;getOperand(0);</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a> *C1 = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a>&gt;(V1);</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a> *C2 = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a>&gt;(V2);</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; assert(0 != C1 &amp;&amp; 0 != C2);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keywordflow">return</span> C1-&gt;getZExtValue() &lt; C2-&gt;getZExtValue();</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; }</div><div class="ttc" id="namespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00088">BasicTypes.h:88</a></div></div>
344
344
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if&lt;!is_simple_type&lt; Y &gt;::value, typename cast_retty&lt; X, const Y &gt;::ret_type &gt;::type dyn_cast(const Y &amp;Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
345
345
  <div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00071">BasicTypes.h:71</a></div></div>
346
346
  </div><!-- fragment -->
@@ -186,7 +186,7 @@ Static Public Member Functions</h2></td></tr>
186
186
  <tr class="memitem:a4513c6e66b46c36219ba6d7403f3eb00 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">makeEdgeFlagWithCallInst</a> (<a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> k, const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *cs)</td></tr>
187
187
  <tr class="memdesc:a4513c6e66b46c36219ba6d7403f3eb00 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the unique edgeFlag value from edge kind and call site Instruction. <a href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">More...</a><br /></td></tr>
188
188
  <tr class="separator:a4513c6e66b46c36219ba6d7403f3eb00 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2">&#160;</td></tr>
189
- <tr class="memitem:ad61722f886afaaee722ac55a4eed4d18 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#ad61722f886afaaee722ac55a4eed4d18">makeEdgeFlagWithStoreInst</a> (<a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> k, const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *store)</td></tr>
189
+ <tr class="memitem:ad61722f886afaaee722ac55a4eed4d18 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#ad61722f886afaaee722ac55a4eed4d18">makeEdgeFlagWithStoreInst</a> (<a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> k, const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *<a class="el" href="CFLGrammar_8txt.html#a92d5a256d74eadeb5bfa131b84067f0d">store</a>)</td></tr>
190
190
  <tr class="separator:ad61722f886afaaee722ac55a4eed4d18 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2">&#160;</td></tr>
191
191
  <tr class="memitem:ac517a3166a3afe45d04480534ac3bb50 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#ac517a3166a3afe45d04480534ac3bb50">classof</a> (const <a class="el" href="classSVF_1_1SVFStmt.html">SVFStmt</a> *)</td></tr>
192
192
  <tr class="memdesc:ac517a3166a3afe45d04480534ac3bb50 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="mdescLeft">&#160;</td><td class="mdescRight">ClassOf. <a href="classSVF_1_1SVFStmt.html#ac517a3166a3afe45d04480534ac3bb50">More...</a><br /></td></tr>
@@ -125,7 +125,7 @@ Additional Inherited Members</h2></td></tr>
125
125
  </table>
126
126
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
127
127
  <div class="textblock">
128
- <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00377">377</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
128
+ <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00284">284</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
129
129
  </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
130
130
  <a id="abf53678f536d64c4d979600c9fe429d1"></a>
131
131
  <h2 class="memtitle"><span class="permalink"><a href="#abf53678f536d64c4d979600c9fe429d1">&#9670;&nbsp;</a></span>SVFBasicBlock()</h2>
@@ -151,8 +151,8 @@ Additional Inherited Members</h2></td></tr>
151
151
  </table>
152
152
  </div><div class="memdoc">
153
153
 
154
- <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00381">381</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
155
- <div class="fragment"><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; : <a class="code" href="classSVF_1_1SVFValue.html#ac42927fed1c213852daceb902478d9c8">SVFValue</a>(val,<a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4">SVFValue::SVFBB</a>)</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; {</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFValue_html_ac42927fed1c213852daceb902478d9c8"><div class="ttname"><a href="classSVF_1_1SVFValue.html#ac42927fed1c213852daceb902478d9c8">SVF::SVFValue::SVFValue</a></div><div class="ttdeci">SVFValue(const std::string &amp;val, SVFValKind k)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00224">SVFBasicTypes.h:224</a></div></div>
154
+ <p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00288">288</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
155
+ <div class="fragment"><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; : <a class="code" href="classSVF_1_1SVFValue.html#ac42927fed1c213852daceb902478d9c8">SVFValue</a>(val,<a class="code" href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4">SVFValue::SVFBB</a>)</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFValue_html_ac42927fed1c213852daceb902478d9c8"><div class="ttname"><a href="classSVF_1_1SVFValue.html#ac42927fed1c213852daceb902478d9c8">SVF::SVFValue::SVFValue</a></div><div class="ttdeci">SVFValue(const std::string &amp;val, SVFValKind k)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00224">SVFBasicTypes.h:224</a></div></div>
156
156
  <div class="ttc" id="classSVF_1_1SVFValue_html_afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4"><div class="ttname"><a href="classSVF_1_1SVFValue.html#afb50ea5aeea7a0608a3c9335aea6860ea732cb3760ef56163428add79824174f4">SVF::SVFValue::SVFBB</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00215">SVFBasicTypes.h:215</a></div></div>
157
157
  </div><!-- fragment -->
158
158
  </div>
@@ -74,7 +74,7 @@ $(function() {
74
74
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a3ce143c5204cbed737fc18276ae90788">bb2LoopMap</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
75
75
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#a1f2c6271dfefc6db685569e6c0cbedf5">classof</a>(const SVFValue *node)</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
76
76
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#aa54fb9214e4c1a8b11daaa3e0edd0a6b">dfBBsMap</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
77
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a3955e86456afe4cc550eb42c84d61c68">dominate</a>(const BasicBlock *bbKey, const BasicBlock *bbValue) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
77
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a8cd83e389a55630e08559392d6004b32">dominate</a>(const BasicBlock *bbKey, const BasicBlock *bbValue) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"></td></tr>
78
78
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a2fd6f9d86754ebacdd75c4fa8a699c6b">dtBBsMap</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
79
79
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a2215730d8469cc3f4bf0c0f16b47a7fc">exitBB</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
80
80
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#af33c2824b5ca3a44e0467655ae890623">fun</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
@@ -84,10 +84,10 @@ $(function() {
84
84
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a52358a4814f16dc8db4d62f92968f70e">getDomTreeMap</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
85
85
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a39d2a2ce19abe953b3c27a84e97bbe30">getDomTreeMap</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
86
86
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#ae7f366f62080286448602698d45ec095">getExitBB</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
87
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a27eb0c9d0756068da90302d420f42a2d">getExitBlocksOfLoop</a>(const BasicBlock *bb, Set&lt; const BasicBlock *&gt; &amp;exitbbs) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
87
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#ad37d4e8003373738ca4e0a9489119bc6">getExitBlocksOfLoop</a>(const BasicBlock *bb, Set&lt; const BasicBlock *&gt; &amp;exitbbs) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"></td></tr>
88
88
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#a2ba3206a8461ef82713264e235128826">getKind</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
89
89
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
90
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#aff9c71d1f1546a19807abfe2af20ca7d">getLoopInfo</a>(const BasicBlock *bb) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
90
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a5e68fc5ef70bddb78fece39fdea37d41">getLoopInfo</a>(const BasicBlock *bb) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"></td></tr>
91
91
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">getName</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
92
92
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#ae2592f5b8166779cbd1b2542fdcd6d7d">getPostDomTreeMap</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
93
93
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a465774dfabebd2ff4f79e2a7654f0430">getPostDomTreeMap</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -99,7 +99,7 @@ $(function() {
99
99
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#ab672f0255ec8e42d5e414bc8c72b7c76">isDeclaration</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
100
100
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a29f016522d91f1b78ea05a9334b1c3e3">isIntri</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
101
101
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a7b4c6c7143d012802ea5ee962bec2deb">isIntrinsic</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
102
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a408763a3a95397c5dc1a47fc85d443e9">isLoopHeader</a>(const BasicBlock *bb) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
102
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#abcba9b1b7d7ede561a154417c09ced6c">isLoopHeader</a>(const BasicBlock *bb) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"></td></tr>
103
103
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#ac85bdf04fd784e22a89426955d28e3d6">isNotRet</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
104
104
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a97b0ad9fd31d7982f44a839605566347">isNotRetFunction</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
105
105
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a1e9dc1d660e3626540b7501194bb12ea">isUncalled</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
@@ -110,7 +110,7 @@ $(function() {
110
110
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#abaa61e04b128feff7216d3ecdf4feefa">operator()</a>(const SVFValue *lhs, const SVFValue *rhs) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
111
111
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html#aa171d1126f4ac00c3310d58d9b77c587">operator==</a>(SVFValue *rhs) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
112
112
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#afa46555a912e591eaf7b8057c41dc4fe">pdtBBsMap</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
113
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a8e1db3a8be765e23cbb4ec66b9e88e2d">postDominate</a>(const BasicBlock *bbKey, const BasicBlock *bbValue) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
113
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#aecb578309d89d324f5cd7fc8e1925eeb">postDominate</a>(const BasicBlock *bbKey, const BasicBlock *bbValue) const</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"></td></tr>
114
114
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a9e58567eeb41a608a580a492d195ec60">reachableBBs</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
115
115
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#ad3b997a837c9a4ad41758178bf102dcf">setExitBB</a>(BasicBlock *exitBB)</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
116
116
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html#a3ff1ce3a7e4a9f4037a8bb74ddb5fabf">setIsNotRet</a>(const bool doesNotRet)</td><td class="entry"><a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>