svf-tools 1.0.306 → 1.0.310

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 (237) hide show
  1. package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +3 -3
  4. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +9 -9
  6. package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
  7. package/SVF-doxygen/html/html/BasicTypes_8h_source.html +8 -8
  8. package/SVF-doxygen/html/html/CHG_8cpp_source.html +5 -5
  9. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +9 -9
  11. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +6 -6
  12. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  13. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +5 -5
  14. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +4 -4
  15. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  16. package/SVF-doxygen/html/html/ExternalPAG_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
  18. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +5 -5
  19. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +4 -4
  20. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
  21. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +3 -3
  22. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +7 -7
  23. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +2 -2
  24. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +4 -4
  25. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +1 -1
  26. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +5 -5
  28. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +2 -2
  29. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
  30. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
  31. package/SVF-doxygen/html/html/MHP_8cpp_source.html +6 -6
  32. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
  33. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -1
  34. package/SVF-doxygen/html/html/MTA_8cpp_source.html +5 -5
  35. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +3 -3
  36. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +4 -4
  37. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +2 -2
  38. package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +3 -3
  39. package/SVF-doxygen/html/html/PAG_8cpp_source.html +3 -3
  40. package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
  41. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +1 -1
  42. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +8 -7
  43. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +3 -3
  44. package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +25 -22
  45. package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +1 -1
  46. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +18 -14
  47. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +68 -68
  48. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +2 -2
  49. package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
  50. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -2
  51. package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +23 -23
  52. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +23 -23
  53. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +2 -2
  54. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +2 -2
  55. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +2 -2
  56. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +2 -2
  57. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  58. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +8 -7
  59. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +4 -4
  60. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  61. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  62. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +3 -3
  63. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
  64. package/SVF-doxygen/html/html/TCT_8cpp_source.html +2 -2
  65. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +1 -1
  66. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  67. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +1 -1
  68. package/SVF-doxygen/html/html/VFG_8cpp_source.html +3 -3
  69. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  70. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
  71. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  72. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  73. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  74. package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +1 -1
  75. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +12 -12
  76. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +9 -9
  77. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +2 -2
  78. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +5 -5
  79. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +4 -4
  80. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +2 -2
  81. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +2 -2
  82. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +1 -1
  83. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +81 -78
  84. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +1 -1
  85. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  86. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +11 -11
  87. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +2 -2
  88. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +1 -1
  90. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
  91. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +115 -115
  92. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +20 -20
  93. package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +1 -1
  94. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +1 -1
  95. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
  96. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
  97. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +6 -6
  98. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +24 -24
  99. package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +1 -1
  100. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +12 -12
  101. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +36 -36
  102. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +3 -3
  103. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +13 -13
  104. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +4 -4
  105. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
  107. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  108. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  109. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +1 -1
  110. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +1 -1
  111. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +1 -1
  112. package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
  113. package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +1 -1
  114. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
  115. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  116. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  117. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +2 -2
  118. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  120. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +1 -1
  121. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +2 -2
  122. package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +1 -1
  123. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +25 -25
  124. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
  125. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +16 -16
  126. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +6 -6
  127. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +7 -7
  129. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  130. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +8 -8
  132. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +4 -4
  133. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +15 -15
  134. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +2 -2
  135. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +7 -7
  136. package/SVF-doxygen/html/html/classSVF_1_1NormalGepPE.html +1 -1
  137. package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +1 -1
  138. package/SVF-doxygen/html/html/classSVF_1_1PAG.html +2 -2
  139. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +29 -29
  140. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +2 -2
  141. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
  142. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
  143. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +1 -1
  144. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +18 -17
  145. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +4 -4
  146. package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +1 -1
  148. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache-members.html +19 -16
  149. package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +188 -95
  150. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +3 -3
  151. package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +2 -1
  152. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +2 -2
  153. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +2 -2
  154. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +2 -2
  156. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +8 -8
  157. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +4 -4
  158. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
  159. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +3 -3
  160. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +3 -3
  161. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +2 -2
  162. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +2 -2
  163. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +2 -2
  164. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +33 -33
  165. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  166. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +7 -7
  167. package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +1 -1
  168. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +13 -13
  169. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +9 -9
  170. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  171. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  172. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +2 -2
  173. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +1 -1
  174. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +1 -1
  175. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE.html +1 -1
  176. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  177. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +2 -2
  178. package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +1 -1
  179. package/SVF-doxygen/html/html/classSVF_1_1VariantGepPE.html +1 -1
  180. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +7 -7
  181. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
  182. package/SVF-doxygen/html/html/functions_c.html +10 -10
  183. package/SVF-doxygen/html/html/functions_f.html +1 -1
  184. package/SVF-doxygen/html/html/functions_func_f.html +1 -1
  185. package/SVF-doxygen/html/html/functions_i.html +5 -5
  186. package/SVF-doxygen/html/html/functions_o.html +3 -3
  187. package/SVF-doxygen/html/html/functions_p.html +23 -20
  188. package/SVF-doxygen/html/html/functions_r.html +6 -4
  189. package/SVF-doxygen/html/html/functions_s.html +8 -8
  190. package/SVF-doxygen/html/html/functions_t.html +6 -6
  191. package/SVF-doxygen/html/html/functions_u.html +3 -3
  192. package/SVF-doxygen/html/html/functions_v.html +3 -3
  193. package/SVF-doxygen/html/html/functions_vars_p.html +9 -0
  194. package/SVF-doxygen/html/html/globals_func_i.html +8 -8
  195. package/SVF-doxygen/html/html/globals_func_s.html +6 -6
  196. package/SVF-doxygen/html/html/globals_s.html +12 -14
  197. package/SVF-doxygen/html/html/namespaceSVF.html +2 -2
  198. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +10 -9
  199. package/SVF-doxygen/html/html/search/all_10.js +12 -9
  200. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  201. package/SVF-doxygen/html/html/search/all_13.js +7 -7
  202. package/SVF-doxygen/html/html/search/all_14.js +4 -4
  203. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  204. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  205. package/SVF-doxygen/html/html/search/all_3.js +1 -1
  206. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  207. package/SVF-doxygen/html/html/search/all_9.js +3 -3
  208. package/SVF-doxygen/html/html/search/all_e.js +4 -4
  209. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  210. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  211. package/SVF-doxygen/html/html/search/functions_5.js +1 -1
  212. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  213. package/SVF-doxygen/html/html/search/variables_10.js +3 -0
  214. package/SVF-doxygen/html/html/search/variables_14.js +2 -2
  215. package/SVF-doxygen/html/html/search/variables_e.js +3 -3
  216. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +1 -1
  217. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  218. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +1 -1
  219. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
  220. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SmallVector_3_01T_00_01N_01_4_01_4.html +3 -3
  221. package/SVF-doxygen/html/html/structstd_1_1hash_3_01llvm_1_1SparseBitVector_3_01N_01_4_01_4.html +3 -3
  222. package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +3 -3
  223. package/SVF-doxygen/html/html/tools_2DDA_2CMakeLists_8txt.html +1 -1
  224. package/SVF-doxygen/html/html/tools_2Example_2CMakeLists_8txt.html +1 -1
  225. package/SVF-doxygen/html/html/tools_2MTA_2CMakeLists_8txt.html +1 -1
  226. package/SVF-doxygen/html/html/tools_2SABER_2CMakeLists_8txt.html +1 -1
  227. package/SVF-doxygen/html/html/tools_2WPA_2CMakeLists_8txt.html +9 -9
  228. package/include/MemoryModel/PersistentPointsToCache.h +43 -34
  229. package/include/MemoryModel/PointerAnalysisImpl.h +1 -5
  230. package/include/Util/SVFBasicTypes.h +4 -2
  231. package/lib/MemoryModel/PointerAnalysisImpl.cpp +7 -0
  232. package/lib/MemoryModel/PointsTo.cpp +3 -3
  233. package/lib/Util/PTAStat.cpp +3 -4
  234. package/lib/Util/SVFUtil.cpp +1 -0
  235. package/lib/WPA/FlowSensitive.cpp +1 -1
  236. package/package.json +1 -1
  237. package/tools/WPA/CMakeLists.txt +3 -1
@@ -593,12 +593,12 @@ Additional Inherited Members</h2></td></tr>
593
593
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a42a5c0eac879be5e300583aa7d07beb0"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">SVF::MTAAnnotator::lsa</a></div><div class="ttdeci">LockAnalysis * lsa</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00086">MTAAnnotator.h:86</a></div></div>
594
594
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a95f4607624dac40e9d62f37e6b16fcf0"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a95f4607624dac40e9d62f37e6b16fcf0">SVF::MTAAnnotator::InstSet</a></div><div class="ttdeci">Set&lt; const Instruction * &gt; InstSet</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00025">MTAAnnotator.h:25</a></div></div>
595
595
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_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>
596
- <div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00152">SVFBasicTypes.h:152</a></div></div>
596
+ <div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00154">SVFBasicTypes.h:154</a></div></div>
597
597
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a3a53e90b4f361d1298983bc89795b3d2"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2">SVF::MTAAnnotator::numOfMHPSt</a></div><div class="ttdeci">u32_t numOfMHPSt</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00101">MTAAnnotator.h:101</a></div></div>
598
598
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a37df9f2416685c535be2faa01e162f3a"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">SVF::MTAAnnotator::storeset</a></div><div class="ttdeci">InstSet storeset</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00088">MTAAnnotator.h:88</a></div></div>
599
599
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a4e10dbbb742125ebcbdc079ad647b87b"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a4e10dbbb742125ebcbdc079ad647b87b">SVF::MTAAnnotator::ANNO_MHP</a></div><div class="ttdeci">static const u32_t ANNO_MHP</div><div class="ttdoc">Constant INTERLEV_FLAG values. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00108">MTAAnnotator.h:108</a></div></div>
600
600
  <div class="ttc" id="classSVF_1_1LockAnalysis_html_a4d4501d62bf51475662b6ba66e6380aa"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html#a4d4501d62bf51475662b6ba66e6380aa">SVF::LockAnalysis::isProtectedByCommonLock</a></div><div class="ttdeci">bool isProtectedByCommonLock(const Instruction *i1, const Instruction *i2)</div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8cpp_source.html#l00566">LockAnalysis.cpp:566</a></div></div>
601
- <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00147">SVFBasicTypes.h:147</a></div></div>
601
+ <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00149">SVFBasicTypes.h:149</a></div></div>
602
602
  </div><!-- fragment -->
603
603
  </div>
604
604
  </div>
@@ -656,13 +656,13 @@ Additional Inherited Members</h2></td></tr>
656
656
  <div class="ttc" id="classSVF_1_1PointsTo_html_a1ef805e714cfc29f0f3fa56c5ee964f6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a1ef805e714cfc29f0f3fa56c5ee964f6">SVF::PointsTo::reset</a></div><div class="ttdeci">void reset(u32_t n)</div><div class="ttdoc">Removes n from the set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00158">PointsTo.cpp:158</a></div></div>
657
657
  <div class="ttc" id="classSVF_1_1PointsTo_html_ab196d86cfb48d1c5d27a0c03c7497afa"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">SVF::PointsTo::set</a></div><div class="ttdeci">void set(u32_t n)</div><div class="ttdoc">Inserts n in the set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00149">PointsTo.cpp:149</a></div></div>
658
658
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_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>
659
- <div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00152">SVFBasicTypes.h:152</a></div></div>
659
+ <div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00154">SVFBasicTypes.h:154</a></div></div>
660
660
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a37df9f2416685c535be2faa01e162f3a"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">SVF::MTAAnnotator::storeset</a></div><div class="ttdeci">InstSet storeset</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00088">MTAAnnotator.h:88</a></div></div>
661
661
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
662
662
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_aded5add82485d493d57e293fd59bf960"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#aded5add82485d493d57e293fd59bf960">SVF::MTAAnnotator::ANNO_LOCAL</a></div><div class="ttdeci">static const u32_t ANNO_LOCAL</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00110">MTAAnnotator.h:110</a></div></div>
663
663
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_ad53ac0cec797f84d3bc14bdb6bab1ab3"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#ad53ac0cec797f84d3bc14bdb6bab1ab3">SVF::MTAAnnotator::numOfNonLocalLd</a></div><div class="ttdeci">u32_t numOfNonLocalLd</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00098">MTAAnnotator.h:98</a></div></div>
664
664
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
665
- <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00147">SVFBasicTypes.h:147</a></div></div>
665
+ <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00149">SVFBasicTypes.h:149</a></div></div>
666
666
  <div class="ttc" id="classSVF_1_1PointsTo_html_a8f741cdffbf3c5fe0f602cdca677dee6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">SVF::PointsTo::end</a></div><div class="ttdeci">const_iterator end(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00128">PointsTo.h:128</a></div></div>
667
667
  </div><!-- fragment -->
668
668
  </div>
@@ -610,7 +610,7 @@ Static Private Attributes</h2></td></tr>
610
610
 
611
611
  <p class="definition">Definition at line <a class="el" href="MTAResultValidator_8cpp_source.html#l00158">158</a> of file <a class="el" href="MTAResultValidator_8cpp_source.html">MTAResultValidator.cpp</a>.</p>
612
612
  <div class="fragment"><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; std::string str;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;[:&quot;</span>;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordflow">for</span> (CallStrCxt::const_iterator it = cxt.begin(), eit = cxt.end(); it != eit; ++it)</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; {</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; &#39; &quot;</span> &lt;&lt; *it &lt;&lt; <span class="stringliteral">&quot; &#39; &quot;</span>;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; rawstr &lt;&lt; *(<a class="code" href="classSVF_1_1MTAResultValidator.html#abe087e2e8d92aa218ef282d2493193ef">tcg</a>-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#a2c8b1674f1f942a3b5aa77b7abccb229">getCallSite</a>(*it)-&gt;<a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>());</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; call &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1MTAResultValidator.html#abe087e2e8d92aa218ef282d2493193ef">tcg</a>-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#a2c8b1674f1f942a3b5aa77b7abccb229">getCallSite</a>(*it)-&gt;<a class="code" href="classSVF_1_1CallBlockNode.html#a5bab98a0b8cf0a804d53abd994e922c0">getCaller</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">getName</a>() &lt;&lt; <span class="stringliteral">&quot;--&gt;&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1MTAResultValidator.html#abe087e2e8d92aa218ef282d2493193ef">tcg</a>-&gt;<a class="code" href="classSVF_1_1PTACallGraph.html#aacd5f35171717cb4d758c17bef828a0f">getCalleeOfCallSite</a>(*it)-&gt;<a class="code" href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">getName</a>() &lt;&lt; <span class="stringliteral">&quot;, \n&quot;</span>;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; ]&quot;</span>;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;max cxt = &quot;</span> &lt;&lt; cxt.size() &lt;&lt; rawstr.str() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;}</div><div class="ttc" id="classSVF_1_1MTAResultValidator_html_abe087e2e8d92aa218ef282d2493193ef"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#abe087e2e8d92aa218ef282d2493193ef">SVF::MTAResultValidator::tcg</a></div><div class="ttdeci">ThreadCallGraph * tcg</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00133">MTAResultValidator.h:133</a></div></div>
613
- <div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00229">SVFBasicTypes.h:229</a></div></div>
613
+ <div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00231">SVFBasicTypes.h:231</a></div></div>
614
614
  <div class="ttc" id="classSVF_1_1CallBlockNode_html_a5bab98a0b8cf0a804d53abd994e922c0"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html#a5bab98a0b8cf0a804d53abd994e922c0">SVF::CallBlockNode::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#l00400">ICFGNode.h:400</a></div></div>
615
615
  <div class="ttc" id="classSVF_1_1PTACallGraph_html_aacd5f35171717cb4d758c17bef828a0f"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#aacd5f35171717cb4d758c17bef828a0f">SVF::PTACallGraph::getCalleeOfCallSite</a></div><div class="ttdeci">const SVFFunction * getCalleeOfCallSite(CallSiteID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00371">PTACallGraph.h:371</a></div></div>
616
616
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
@@ -609,7 +609,7 @@ Additional Inherited Members</h2></td></tr>
609
609
 
610
610
  <p class="definition">Definition at line <a class="el" href="FSMPTA_8cpp_source.html#l00025">25</a> of file <a class="el" href="FSMPTA_8cpp_source.html">FSMPTA.cpp</a>.</p>
611
611
  <div class="fragment"><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;{</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <a class="code" href="classSVF_1_1MemSSA.html">MemSSA</a>* mssa = <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-&gt;<a class="code" href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9">getMSSA</a>();</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-&gt;<a class="code" href="classSVF_1_1SVFG.html#a0920e9f9896531959d74ae61013d96d6">buildSVFG</a>();</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1MTASVFGBuilder.html#a80353cd2e4f7f7f006071b59c2cb3b9b">ADDEDGE_NOEDGE</a> != <a class="code" href="classSVF_1_1Options.html#af129d2ff94af3f6830c0678cb4b72371">Options::AddModelFlag</a>)</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; {</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;FSMPTA adding edge\n&quot;</span>));</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVFUtil::pasMsg</a>(<span class="stringliteral">&quot;FSMPTA adding edge\n&quot;</span>));</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a1010ef4fc52e312f2b22867a63a5810d">connectMHPEdges</a>(mssa-&gt;<a class="code" href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">getPTA</a>());</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; }</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordflow">if</span> (mssa-&gt;<a class="code" href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">getPTA</a>()-&gt;<a class="code" href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">printStat</a>())</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-&gt;<a class="code" href="classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb">performStat</a>();</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;}</div><div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a80353cd2e4f7f7f006071b59c2cb3b9b"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a80353cd2e4f7f7f006071b59c2cb3b9b">SVF::MTASVFGBuilder::ADDEDGE_NOEDGE</a></div><div class="ttdeci">static const u32_t ADDEDGE_NOEDGE</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00153">FSMPTA.h:153</a></div></div>
612
- <div class="ttc" id="SVFBasicTypes_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00167">SVFBasicTypes.h:167</a></div></div>
612
+ <div class="ttc" id="SVFBasicTypes_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00169">SVFBasicTypes.h:169</a></div></div>
613
613
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00101">SVFUtil.cpp:101</a></div></div>
614
614
  <div class="ttc" id="classSVF_1_1SVFG_html_adc9fbb4553472b238d6c3bb5062279cb"><div class="ttname"><a href="classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb">SVF::SVFG::performStat</a></div><div class="ttdeci">void performStat()</div><div class="ttdoc">Perform statistics. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00740">SVFG.cpp:740</a></div></div>
615
615
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4880571f57542afc50da506dfe273183"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">SVF::PointerAnalysis::printStat</a></div><div class="ttdeci">bool printStat()</div><div class="ttdoc">Whether print statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00378">PointerAnalysis.h:378</a></div></div>
@@ -617,12 +617,12 @@ Additional Inherited Members</h2></td></tr>
617
617
  <div class="ttc" id="classSVF_1_1SVFG_html_a0920e9f9896531959d74ae61013d96d6"><div class="ttname"><a href="classSVF_1_1SVFG.html#a0920e9f9896531959d74ae61013d96d6">SVF::SVFG::buildSVFG</a></div><div class="ttdeci">virtual void buildSVFG()</div><div class="ttdoc">Start building SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00199">SVFG.cpp:199</a></div></div>
618
618
  <div class="ttc" id="classSVF_1_1MemSSA_html"><div class="ttname"><a href="classSVF_1_1MemSSA.html">SVF::MemSSA</a></div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00046">MemSSA.h:46</a></div></div>
619
619
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_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>
620
- <div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00152">SVFBasicTypes.h:152</a></div></div>
620
+ <div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00154">SVFBasicTypes.h:154</a></div></div>
621
621
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a1010ef4fc52e312f2b22867a63a5810d"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a1010ef4fc52e312f2b22867a63a5810d">SVF::MTASVFGBuilder::connectMHPEdges</a></div><div class="ttdeci">void connectMHPEdges(PointerAnalysis *pta)</div><div class="ttdoc">Connect MHP indirect value-flow edges for two nodes that may-happen-in-parallel. </div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00683">FSMPTA.cpp:683</a></div></div>
622
622
  <div class="ttc" id="classSVF_1_1MemSSA_html_ad40617a1907b9a6b8cc24888ce54a0ac"><div class="ttname"><a href="classSVF_1_1MemSSA.html#ad40617a1907b9a6b8cc24888ce54a0ac">SVF::MemSSA::getPTA</a></div><div class="ttdeci">BVDataPTAImpl * getPTA() const</div><div class="ttdoc">Return PTA. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00315">MemSSA.h:315</a></div></div>
623
623
  <div class="ttc" id="classSVF_1_1SVFG_html_a49a910bc4ea6e98d1584e74a018badc9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9">SVF::SVFG::getMSSA</a></div><div class="ttdeci">MemSSA * getMSSA() const</div><div class="ttdoc">Get SVFG memory SSA. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00138">SVFG.h:138</a></div></div>
624
624
  <div class="ttc" id="classSVF_1_1SVFGBuilder_html_a26bc3b9c07472e454bc567cd8746caef"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">SVF::SVFGBuilder::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00119">SVFGBuilder.h:119</a></div></div>
625
- <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00147">SVFBasicTypes.h:147</a></div></div>
625
+ <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00149">SVFBasicTypes.h:149</a></div></div>
626
626
  </div><!-- fragment -->
627
627
  </div>
628
628
  </div>
@@ -694,7 +694,7 @@ Additional Inherited Members</h2></td></tr>
694
694
  <p class="definition">Definition at line <a class="el" href="FSMPTA_8cpp_source.html#l00683">683</a> of file <a class="el" href="FSMPTA_8cpp_source.html">FSMPTA.cpp</a>.</p>
695
695
  <div class="fragment"><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160;{</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <a class="code" href="classSVF_1_1PCG.html">PCG</a>* pcg;</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1MTASVFGBuilder.html#a2be0c1f7cc8872a6f27431b33811cbea">ADDEDGE_NONSPARSE</a>==<a class="code" href="classSVF_1_1Options.html#af129d2ff94af3f6830c0678cb4b72371">Options::AddModelFlag</a>)</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; {</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; pcg= <span class="keyword">new</span> <a class="code" href="classSVF_1_1PCG.html">PCG</a>(pta);</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; pcg-&gt;<a class="code" href="classSVF_1_1PCG.html#a50b677ec622247a464cee7f0f45c5a53">analyze</a>();</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; }</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a46d39980440040fc0ca50b3df7eead1a">collectLoadStoreSVFGNodes</a>();</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a13ac51421add3cb242ad823e18938c95">recordedges</a>.clear();</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a1c0de33bba2f05f14140d872c345ab38">edge2pts</a>.clear();</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160;</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <span class="keywordflow">for</span> (SVFGNodeSet::const_iterator it1 = <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a772436f5edc7b4bed3a3e8f0e55ac5ce">stnodeSet</a>.begin(), eit1 = <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a772436f5edc7b4bed3a3e8f0e55ac5ce">stnodeSet</a>.end(); it1!=eit1; ++it1)</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; {</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* n1 = SVFUtil::cast&lt;StmtSVFGNode&gt;(*it1);</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* i1 = n1-&gt;<a class="code" href="classSVF_1_1StmtVFGNode.html#aae94dd9031a6662d509627e602aef532">getInst</a>();</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160;</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="keywordflow">for</span> (SVFGNodeSet::const_iterator it2 = <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a6dfa9807255258f324557d188adea9b2">ldnodeSet</a>.begin(), eit2 = <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a6dfa9807255258f324557d188adea9b2">ldnodeSet</a>.end(); it2 != eit2; ++it2)</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; {</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* n2 = SVFUtil::cast&lt;StmtSVFGNode&gt;(*it2);</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* i2 = n2-&gt;<a class="code" href="classSVF_1_1StmtVFGNode.html#aae94dd9031a6662d509627e602aef532">getInst</a>();</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1MTASVFGBuilder.html#a2be0c1f7cc8872a6f27431b33811cbea">ADDEDGE_NONSPARSE</a>==<a class="code" href="classSVF_1_1Options.html#af129d2ff94af3f6830c0678cb4b72371">Options::AddModelFlag</a>)</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; {</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#af2f66307e1d51947676f622c98ef0762">Options::UsePCG</a>)</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; {</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">if</span> (pcg-&gt;<a class="code" href="classSVF_1_1PCG.html#a0a1d0abba4f0775a5d1e9b13aad2f2d0">mayHappenInParallel</a>(i1, i2) || <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a73024bf30aa3ec79e5953a7ea1f8feb7">mhp</a>-&gt;<a class="code" href="classSVF_1_1MHP.html#a9989f2d200cec6c387d63f452b8eac6b">mayHappenInParallel</a>(i1, i2))</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a82b52f8e70f51353cbd7476a509ff523">handleStoreLoadNonSparse</a>(n1, n2, pta);</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; }</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; {</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a82b52f8e70f51353cbd7476a509ff523">handleStoreLoadNonSparse</a>(n1, n2, pta);</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; }</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; }</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; {</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a24921d1b1d79d7ef0b358be8d7a9e2c4">handleStoreLoad</a>(n1, n2, pta);</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; }</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; }</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160;</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="keywordflow">for</span> (SVFGNodeSet::const_iterator it2 = std::next(it1), eit2 = <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a772436f5edc7b4bed3a3e8f0e55ac5ce">stnodeSet</a>.end(); it2!=eit2; ++it2)</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; {</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* n2 = SVFUtil::cast&lt;StmtSVFGNode&gt;(*it2);</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* i2 = n2-&gt;<a class="code" href="classSVF_1_1StmtVFGNode.html#aae94dd9031a6662d509627e602aef532">getInst</a>();</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1MTASVFGBuilder.html#a2be0c1f7cc8872a6f27431b33811cbea">ADDEDGE_NONSPARSE</a> == <a class="code" href="classSVF_1_1Options.html#af129d2ff94af3f6830c0678cb4b72371">Options::AddModelFlag</a>)</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; {</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#af2f66307e1d51947676f622c98ef0762">Options::UsePCG</a>)</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; {</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keywordflow">if</span>(pcg-&gt;<a class="code" href="classSVF_1_1PCG.html#a0a1d0abba4f0775a5d1e9b13aad2f2d0">mayHappenInParallel</a>(i1, i2) || <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a73024bf30aa3ec79e5953a7ea1f8feb7">mhp</a>-&gt;<a class="code" href="classSVF_1_1MHP.html#a9989f2d200cec6c387d63f452b8eac6b">mayHappenInParallel</a>(i1, i2))</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a91ff57e51b0650963b4b5541fa0f7056">handleStoreStoreNonSparse</a>(n1, n2, pta);</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; }</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; {</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a91ff57e51b0650963b4b5541fa0f7056">handleStoreStoreNonSparse</a>(n1, n2, pta);</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; }</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; }</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; {</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a29a14309cfa1d7c4454fb1237704e487">handleStoreStore</a>(n1, n2, pta);</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; }</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; }</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; }</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160;</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a6bec8aed8673d10d65cc3df9fad3383b">Options::ReadPrecisionTDEdge</a> &amp;&amp; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#adac31c16b9e84d3bee24ce09a82c467b">ADDEDGE_NORP</a>!=<a class="code" href="classSVF_1_1Options.html#af129d2ff94af3f6830c0678cb4b72371">Options::AddModelFlag</a>)</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; {</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>()&lt;&lt;<span class="stringliteral">&quot;Read precision edge removing \n&quot;</span>);</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>()&lt;&lt;<span class="stringliteral">&quot;Read precision edge removing \n&quot;</span>);</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a5532751632ece036b3d6741908573b36">readPrecision</a>();</div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; }</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160;}</div><div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a73024bf30aa3ec79e5953a7ea1f8feb7"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a73024bf30aa3ec79e5953a7ea1f8feb7">SVF::MTASVFGBuilder::mhp</a></div><div class="ttdeci">MHP * mhp</div><div class="ttdoc">MHP class. </div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00136">FSMPTA.h:136</a></div></div>
696
696
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_aae94dd9031a6662d509627e602aef532"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#aae94dd9031a6662d509627e602aef532">SVF::StmtVFGNode::getInst</a></div><div class="ttdeci">const Instruction * getInst() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00183">VFGNode.h:183</a></div></div>
697
- <div class="ttc" id="SVFBasicTypes_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00167">SVFBasicTypes.h:167</a></div></div>
697
+ <div class="ttc" id="SVFBasicTypes_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00169">SVFBasicTypes.h:169</a></div></div>
698
698
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a6dfa9807255258f324557d188adea9b2"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a6dfa9807255258f324557d188adea9b2">SVF::MTASVFGBuilder::ldnodeSet</a></div><div class="ttdeci">SVFGNodeSet ldnodeSet</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00133">FSMPTA.h:133</a></div></div>
699
699
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a46d39980440040fc0ca50b3df7eead1a"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a46d39980440040fc0ca50b3df7eead1a">SVF::MTASVFGBuilder::collectLoadStoreSVFGNodes</a></div><div class="ttdeci">void collectLoadStoreSVFGNodes()</div><div class="ttdoc">Collect all loads/stores SVFGNodes. </div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00042">FSMPTA.cpp:42</a></div></div>
700
700
  <div class="ttc" id="classSVF_1_1PCG_html"><div class="ttname"><a href="classSVF_1_1PCG.html">SVF::PCG</a></div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00028">PCG.h:28</a></div></div>
@@ -711,14 +711,14 @@ Additional Inherited Members</h2></td></tr>
711
711
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a772436f5edc7b4bed3a3e8f0e55ac5ce"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a772436f5edc7b4bed3a3e8f0e55ac5ce">SVF::MTASVFGBuilder::stnodeSet</a></div><div class="ttdeci">SVFGNodeSet stnodeSet</div><div class="ttdoc">all stores/loads SVFGNodes </div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00132">FSMPTA.h:132</a></div></div>
712
712
  <div class="ttc" id="classSVF_1_1PCG_html_a0a1d0abba4f0775a5d1e9b13aad2f2d0"><div class="ttname"><a href="classSVF_1_1PCG.html#a0a1d0abba4f0775a5d1e9b13aad2f2d0">SVF::PCG::mayHappenInParallel</a></div><div class="ttdeci">virtual bool mayHappenInParallel(const Instruction *i1, const Instruction *i2) const</div><div class="ttdoc">Interface to query whether two function may happen-in-parallel. </div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00055">PCG.cpp:55</a></div></div>
713
713
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_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>
714
- <div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00152">SVFBasicTypes.h:152</a></div></div>
714
+ <div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00154">SVFBasicTypes.h:154</a></div></div>
715
715
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a29a14309cfa1d7c4454fb1237704e487"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a29a14309cfa1d7c4454fb1237704e487">SVF::MTASVFGBuilder::handleStoreStore</a></div><div class="ttdeci">void handleStoreStore(const StmtSVFGNode *n1, const StmtSVFGNode *n2, PointerAnalysis *pta)</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00495">FSMPTA.cpp:495</a></div></div>
716
716
  <div class="ttc" id="classSVF_1_1Options_html_af2f66307e1d51947676f622c98ef0762"><div class="ttname"><a href="classSVF_1_1Options.html#af2f66307e1d51947676f622c98ef0762">SVF::Options::UsePCG</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; UsePCG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00162">Options.h:162</a></div></div>
717
717
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a1c0de33bba2f05f14140d872c345ab38"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a1c0de33bba2f05f14140d872c345ab38">SVF::MTASVFGBuilder::edge2pts</a></div><div class="ttdeci">Map&lt; NodeIDPair, PointsTo &gt; edge2pts</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00140">FSMPTA.h:140</a></div></div>
718
718
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00114">VFGNode.h:114</a></div></div>
719
719
  <div class="ttc" id="classSVF_1_1MTASVFGBuilder_html_a82b52f8e70f51353cbd7476a509ff523"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html#a82b52f8e70f51353cbd7476a509ff523">SVF::MTASVFGBuilder::handleStoreLoadNonSparse</a></div><div class="ttdeci">void handleStoreLoadNonSparse(const StmtSVFGNode *n1, const StmtSVFGNode *n2, PointerAnalysis *pta)</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8cpp_source.html#l00442">FSMPTA.cpp:442</a></div></div>
720
720
  <div class="ttc" id="classSVF_1_1Options_html_a6bec8aed8673d10d65cc3df9fad3383b"><div class="ttname"><a href="classSVF_1_1Options.html#a6bec8aed8673d10d65cc3df9fad3383b">SVF::Options::ReadPrecisionTDEdge</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ReadPrecisionTDEdge</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00164">Options.h:164</a></div></div>
721
- <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00147">SVFBasicTypes.h:147</a></div></div>
721
+ <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00149">SVFBasicTypes.h:149</a></div></div>
722
722
  </div><!-- fragment -->
723
723
  </div>
724
724
  </div>
@@ -1550,7 +1550,7 @@ Additional Inherited Members</h2></td></tr>
1550
1550
 
1551
1551
  <p class="definition">Definition at line <a class="el" href="FSMPTA_8cpp_source.html#l00123">123</a> of file <a class="el" href="FSMPTA_8cpp_source.html">FSMPTA.cpp</a>.</p>
1552
1552
  <div class="fragment"><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;{</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1MTASVFGBuilder.html#a13ac51421add3cb242ad823e18938c95">recordedges</a>.empty())</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; std::pair&lt;NodeID, NodeID&gt; edgepair = *<a class="code" href="classSVF_1_1MTASVFGBuilder.html#a13ac51421add3cb242ad823e18938c95">recordedges</a>.begin();</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a13ac51421add3cb242ad823e18938c95">recordedges</a>.erase(<a class="code" href="classSVF_1_1MTASVFGBuilder.html#a13ac51421add3cb242ad823e18938c95">recordedges</a>.begin());</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> remove_pts = <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a1c0de33bba2f05f14140d872c345ab38">edge2pts</a>[edgepair];</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* n1 = SVFUtil::cast&lt;StmtSVFGNode&gt;(<a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-&gt;<a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(edgepair.first));</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1StmtVFGNode.html">StmtSVFGNode</a>* n2 = SVFUtil::cast&lt;StmtSVFGNode&gt;(<a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-&gt;<a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(edgepair.second));</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a> (n1&amp;&amp;n2 &amp;&amp; <span class="stringliteral">&quot;one node of removed pair is null&quot;</span>);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a> (n1-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a0931220d7a38e03f206cbdc6465d32ad">hasOutgoingEdge</a>() &amp;&amp; <span class="stringliteral">&quot;n1 doesn&#39;t have out edge&quot;</span>);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a> (n2-&gt;hasIncomingEdge() &amp;&amp; <span class="stringliteral">&quot;n2 doesn&#39;t have in edge&quot;</span>);</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;SVFGEdge*&gt;</a> removededges;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">for</span> (SVFGEdge::SVFGEdgeSetTy::iterator iter = n1-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(); iter != n1-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); ++iter)</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; {</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = *iter;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1VFGEdge.html#aa8f30d093d4950724a6688707326b57b">isIndirectVFGEdge</a>() &amp;&amp; (edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()==n2))</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; {</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>* e = SVFUtil::cast&lt;IndirectSVFGEdge&gt;(edge);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp; pts = e-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>();</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsTo::iterator</a> o = remove_pts.<a class="code" href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">begin</a>(), eo = remove_pts.<a class="code" href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">end</a>(); o != eo; ++o)</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">if</span> (const_cast&lt;NodeBS&amp;&gt;(pts).test(*o))</div><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_cast&lt;</span><a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&amp;<span class="keyword">&gt;</span>(pts).reset(*o);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a07c3f5fa2e0092dac28521cf901a26cf">MTASVFGBuilder::numOfRemovedPTS</a> ++;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; }</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordflow">if</span> (0 == e-&gt;<a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>().count())</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; {</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; removededges.insert(edge);</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; }</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">while</span>(!removededges.empty())</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = *removededges.begin();</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; removededges.erase(removededges.begin());</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-&gt;<a class="code" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">removeSVFGEdge</a>(edge);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>()&lt;&lt;<span class="stringliteral">&quot;Read Precision remove: &quot;</span>&lt;&lt;edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>()&lt;&lt;<span class="stringliteral">&quot; -&gt; &quot;</span>&lt;&lt;edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>()&lt;&lt;<span class="stringliteral">&quot;\n&quot;</span>);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="classSVF_1_1MTASVFGBuilder.html#a0319d1d2e78c79f9943f2e2f65da26ed">MTASVFGBuilder::numOfRemovedSVFGEdges</a>++;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; }</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00237">SVFG.h:237</a></div></div>
1553
- <div class="ttc" id="SVFBasicTypes_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00167">SVFBasicTypes.h:167</a></div></div>
1553
+ <div class="ttc" id="SVFBasicTypes_8h_html_a217a1ccdaec1abb103cf6b0373631234"><div class="ttname"><a href="SVFBasicTypes_8h.html#a217a1ccdaec1abb103cf6b0373631234">DMTA</a></div><div class="ttdeci">#define DMTA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00169">SVFBasicTypes.h:169</a></div></div>
1554
1554
  <div class="ttc" id="classSVF_1_1GenericEdge_html_ad9edb45e74ae675d9da82f5acf02d56e"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">SVF::GenericEdge::getDstID</a></div><div class="ttdeci">NodeID getDstID() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00077">GenericGraph.h:77</a></div></div>
1555
1555
  <div class="ttc" id="classSVF_1_1VFGEdge_html_aa8f30d093d4950724a6688707326b57b"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#aa8f30d093d4950724a6688707326b57b">SVF::VFGEdge::isIndirectVFGEdge</a></div><div class="ttdeci">bool isIndirectVFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00080">VFGEdge.h:80</a></div></div>
1556
1556
  <div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00201">GenericGraph.h:201</a></div></div>
@@ -1574,7 +1574,7 @@ Additional Inherited Members</h2></td></tr>
1574
1574
  <div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00205">GenericGraph.h:205</a></div></div>
1575
1575
  <div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
1576
1576
  <div class="ttc" id="classSVF_1_1SVFGBuilder_html_a26bc3b9c07472e454bc567cd8746caef"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">SVF::SVFGBuilder::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00119">SVFGBuilder.h:119</a></div></div>
1577
- <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00147">SVFBasicTypes.h:147</a></div></div>
1577
+ <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00149">SVFBasicTypes.h:149</a></div></div>
1578
1578
  <div class="ttc" id="classSVF_1_1PointsTo_html_a8f741cdffbf3c5fe0f602cdca677dee6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">SVF::PointsTo::end</a></div><div class="ttdeci">const_iterator end(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00128">PointsTo.h:128</a></div></div>
1579
1579
  <div class="ttc" id="classSVF_1_1IndirectSVFGEdge_html_a30aca718d25924f1babdf348bb0ace71"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">SVF::IndirectSVFGEdge::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00061">SVFGEdge.h:61</a></div></div>
1580
1580
  </div><!-- fragment -->
@@ -410,7 +410,7 @@ Additional Inherited Members</h2></td></tr>
410
410
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_ad53ac0cec797f84d3bc14bdb6bab1ab3"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#ad53ac0cec797f84d3bc14bdb6bab1ab3">SVF::MTAAnnotator::numOfNonLocalLd</a></div><div class="ttdeci">u32_t numOfNonLocalLd</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00098">MTAAnnotator.h:98</a></div></div>
411
411
  <div class="ttc" id="classSVF_1_1MTAAnnotator_html_a57df091dbdd4fc947cc5e7aaec123700"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a57df091dbdd4fc947cc5e7aaec123700">SVF::MTAAnnotator::numOfAnnotatedLd</a></div><div class="ttdeci">u32_t numOfAnnotatedLd</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00104">MTAAnnotator.h:104</a></div></div>
412
412
  <div class="ttc" id="classSVF_1_1PTAStat_html_afdb975520329be0c33cc7bdd51ba7031"><div class="ttname"><a href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">SVF::PTAStat::PTNumStatMap</a></div><div class="ttdeci">NUMStatMap PTNumStatMap</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00148">PTAStat.h:148</a></div></div>
413
- <div class="ttc" id="classSVF_1_1PTAStat_html_aa5f455bfa79743b8e263431593d29bbf"><div class="ttname"><a href="classSVF_1_1PTAStat.html#aa5f455bfa79743b8e263431593d29bbf">SVF::PTAStat::printStat</a></div><div class="ttdeci">virtual void printStat(string str=&quot;&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00291">PTAStat.cpp:291</a></div></div>
413
+ <div class="ttc" id="classSVF_1_1PTAStat_html_aa5f455bfa79743b8e263431593d29bbf"><div class="ttname"><a href="classSVF_1_1PTAStat.html#aa5f455bfa79743b8e263431593d29bbf">SVF::PTAStat::printStat</a></div><div class="ttdeci">virtual void printStat(string str=&quot;&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00290">PTAStat.cpp:290</a></div></div>
414
414
  </div><!-- fragment -->
415
415
  </div>
416
416
  </div>
@@ -477,7 +477,7 @@ Additional Inherited Members</h2></td></tr>
477
477
  <div class="ttc" id="classSVF_1_1SVFModule_html_a709371b13dcf500277f8bc275bdb23c7"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a709371b13dcf500277f8bc275bdb23c7">SVF::SVFModule::iterator</a></div><div class="ttdeci">FunctionSetType::iterator iterator</div><div class="ttdoc">Iterators type def. </div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00048">SVFModule.h:48</a></div></div>
478
478
  <div class="ttc" id="classSVF_1_1PTAStat_html_afdb975520329be0c33cc7bdd51ba7031"><div class="ttname"><a href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">SVF::PTAStat::PTNumStatMap</a></div><div class="ttdeci">NUMStatMap PTNumStatMap</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00148">PTAStat.h:148</a></div></div>
479
479
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00063">LLVMUtil.h:63</a></div></div>
480
- <div class="ttc" id="classSVF_1_1PTAStat_html_aa5f455bfa79743b8e263431593d29bbf"><div class="ttname"><a href="classSVF_1_1PTAStat.html#aa5f455bfa79743b8e263431593d29bbf">SVF::PTAStat::printStat</a></div><div class="ttdeci">virtual void printStat(string str=&quot;&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00291">PTAStat.cpp:291</a></div></div>
480
+ <div class="ttc" id="classSVF_1_1PTAStat_html_aa5f455bfa79743b8e263431593d29bbf"><div class="ttname"><a href="classSVF_1_1PTAStat.html#aa5f455bfa79743b8e263431593d29bbf">SVF::PTAStat::printStat</a></div><div class="ttdeci">virtual void printStat(string str=&quot;&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00290">PTAStat.cpp:290</a></div></div>
481
481
  </div><!-- fragment -->
482
482
  </div>
483
483
  </div>
@@ -508,7 +508,7 @@ Additional Inherited Members</h2></td></tr>
508
508
  <div class="ttc" id="classSVF_1_1PTAStat_html_a3724756ac0527ba3d199be32e38c6337"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337">SVF::PTAStat::timeStatMap</a></div><div class="ttdeci">TIMEStatMap timeStatMap</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00149">PTAStat.h:149</a></div></div>
509
509
  <div class="ttc" id="classSVF_1_1TCT_html_a1602d02773578bca73dcbd29b95c67d0"><div class="ttname"><a href="classSVF_1_1TCT.html#a1602d02773578bca73dcbd29b95c67d0">SVF::TCT::getThreadCallGraph</a></div><div class="ttdeci">ThreadCallGraph * getThreadCallGraph() const</div><div class="ttdoc">Get TCG. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00164">TCT.h:164</a></div></div>
510
510
  <div class="ttc" id="classSVF_1_1PTAStat_html_afdb975520329be0c33cc7bdd51ba7031"><div class="ttname"><a href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">SVF::PTAStat::PTNumStatMap</a></div><div class="ttdeci">NUMStatMap PTNumStatMap</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00148">PTAStat.h:148</a></div></div>
511
- <div class="ttc" id="classSVF_1_1PTAStat_html_aa5f455bfa79743b8e263431593d29bbf"><div class="ttname"><a href="classSVF_1_1PTAStat.html#aa5f455bfa79743b8e263431593d29bbf">SVF::PTAStat::printStat</a></div><div class="ttdeci">virtual void printStat(string str=&quot;&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00291">PTAStat.cpp:291</a></div></div>
511
+ <div class="ttc" id="classSVF_1_1PTAStat_html_aa5f455bfa79743b8e263431593d29bbf"><div class="ttname"><a href="classSVF_1_1PTAStat.html#aa5f455bfa79743b8e263431593d29bbf">SVF::PTAStat::printStat</a></div><div class="ttdeci">virtual void printStat(string str=&quot;&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00290">PTAStat.cpp:290</a></div></div>
512
512
  <div class="ttc" id="classSVF_1_1TCT_html_a49f0672760c29b9be7b6f99a4c82ab7e"><div class="ttname"><a href="classSVF_1_1TCT.html#a49f0672760c29b9be7b6f99a4c82ab7e">SVF::TCT::getMaxCxtSize</a></div><div class="ttdeci">u32_t getMaxCxtSize() const</div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00225">TCT.h:225</a></div></div>
513
513
  </div><!-- fragment -->
514
514
  </div>
@@ -550,7 +550,7 @@ Additional Inherited Members</h2></td></tr>
550
550
  <div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a50502f398e5eac9c6da3e26ea6052057"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a50502f398e5eac9c6da3e26ea6052057">SVF::ThreadCallGraph::joinsitesEnd</a></div><div class="ttdeci">CallSiteSet::const_iterator joinsitesEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00287">ThreadCallGraph.h:287</a></div></div>
551
551
  <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>
552
552
  <div class="ttc" id="classSVF_1_1PTAStat_html_afdb975520329be0c33cc7bdd51ba7031"><div class="ttname"><a href="classSVF_1_1PTAStat.html#afdb975520329be0c33cc7bdd51ba7031">SVF::PTAStat::PTNumStatMap</a></div><div class="ttdeci">NUMStatMap PTNumStatMap</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00148">PTAStat.h:148</a></div></div>
553
- <div class="ttc" id="classSVF_1_1PTAStat_html_aa5f455bfa79743b8e263431593d29bbf"><div class="ttname"><a href="classSVF_1_1PTAStat.html#aa5f455bfa79743b8e263431593d29bbf">SVF::PTAStat::printStat</a></div><div class="ttdeci">virtual void printStat(string str=&quot;&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00291">PTAStat.cpp:291</a></div></div>
553
+ <div class="ttc" id="classSVF_1_1PTAStat_html_aa5f455bfa79743b8e263431593d29bbf"><div class="ttname"><a href="classSVF_1_1PTAStat.html#aa5f455bfa79743b8e263431593d29bbf">SVF::PTAStat::printStat</a></div><div class="ttdeci">virtual void printStat(string str=&quot;&quot;)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00290">PTAStat.cpp:290</a></div></div>
554
554
  </div><!-- fragment -->
555
555
  </div>
556
556
  </div>
@@ -925,7 +925,7 @@ Private Attributes</h2></td></tr>
925
925
  <div class="ttc" id="classSVF_1_1MemSSA_html_a468e1481926df6865678b7232bb79bf3"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a468e1481926df6865678b7232bb79bf3">SVF::MemSSA::pta</a></div><div class="ttdeci">BVDataPTAImpl * pta</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00115">MemSSA.h:115</a></div></div>
926
926
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790">SVF::PointerAnalysis::Default_PTA</a></div><div class="ttdoc">default pta without any analysis </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00094">PointerAnalysis.h:94</a></div></div>
927
927
  <div class="ttc" id="classSVF_1_1Options_html_a74b821736a04f89adb79d6fd5369cdc3"><div class="ttname"><a href="classSVF_1_1Options.html#a74b821736a04f89adb79d6fd5369cdc3">SVF::Options::MemPar</a></div><div class="ttdeci">static const llvm::cl::opt&lt; MemSSA::MemPartition &gt; MemPar</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00154">Options.h:154</a></div></div>
928
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
928
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
929
929
  <div class="ttc" id="classSVF_1_1DistinctMRG_html"><div class="ttname"><a href="classSVF_1_1DistinctMRG.html">SVF::DistinctMRG</a></div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8h_source.html#l00047">MemPartition.h:47</a></div></div>
930
930
  <div class="ttc" id="classSVF_1_1MemSSA_html_a213ebe634bbdbe33460ccd941c1dc6a5"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a213ebe634bbdbe33460ccd941c1dc6a5">SVF::MemSSA::mrGen</a></div><div class="ttdeci">MRGenerator * mrGen</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00116">MemSSA.h:116</a></div></div>
931
931
  <div class="ttc" id="classSVF_1_1MemSSAStat_html"><div class="ttname"><a href="classSVF_1_1MemSSAStat.html">SVF::MemSSAStat</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGStat_8h_source.html#l00048">SVFGStat.h:48</a></div></div>
@@ -1444,15 +1444,15 @@ Private Attributes</h2></td></tr>
1444
1444
  <div class="fragment"><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;{</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(!<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(&amp;fun) &amp;&amp; <span class="stringliteral">&quot;we do not build memory ssa for external functions&quot;</span>);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a385e9d80a013723304b329454d32e8b1">DMSSA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Building Memory SSA for function &quot;</span> &lt;&lt; fun.<a class="code" href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">getName</a>()</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; &lt;&lt; <span class="stringliteral">&quot; \n&quot;</span>);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="code" href="classSVF_1_1MemSSA.html#a11e1e9a74a6764131fc8aae27d8bde5e">setCurrentDFDT</a>(f,t);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordtype">double</span> muchiStart = <a class="code" href="classSVF_1_1MemSSA.html#a4fc930040ec54eb60629da18fb6a4d04">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>(<span class="keyword">true</span>);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="classSVF_1_1MemSSA.html#a695adf83e8c40b9628b1866053f68033">createMUCHI</a>(fun);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordtype">double</span> muchiEnd = <a class="code" href="classSVF_1_1MemSSA.html#a4fc930040ec54eb60629da18fb6a4d04">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>(<span class="keyword">true</span>);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classSVF_1_1MemSSA.html#a4d2418b7df74f23d8fd328f66e29f198">timeOfCreateMUCHI</a> += (muchiEnd - muchiStart)/<a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordtype">double</span> phiStart = <a class="code" href="classSVF_1_1MemSSA.html#a4fc930040ec54eb60629da18fb6a4d04">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>(<span class="keyword">true</span>);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="classSVF_1_1MemSSA.html#acc6f72d96cf29e36093ba08ea86b8983">insertPHI</a>(fun);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordtype">double</span> phiEnd = <a class="code" href="classSVF_1_1MemSSA.html#a4fc930040ec54eb60629da18fb6a4d04">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>(<span class="keyword">true</span>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="classSVF_1_1MemSSA.html#a3c7b5fa73fdc7c805ee3673fbe812b44">timeOfInsertingPHI</a> += (phiEnd - phiStart)/<a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordtype">double</span> renameStart = <a class="code" href="classSVF_1_1MemSSA.html#a4fc930040ec54eb60629da18fb6a4d04">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>(<span class="keyword">true</span>);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classSVF_1_1MemSSA.html#a16114eb55775f6ee812c1648dcaede0c">SSARename</a>(fun);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordtype">double</span> renameEnd = <a class="code" href="classSVF_1_1MemSSA.html#a4fc930040ec54eb60629da18fb6a4d04">stat</a>-&gt;<a class="code" href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">getClk</a>(<span class="keyword">true</span>);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classSVF_1_1MemSSA.html#a97ccd5e0b9ab6144415e26bdf95cbabd">timeOfSSARenaming</a> += (renameEnd - renameStart)/<a class="code" href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a>;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;}</div><div class="ttc" id="classSVF_1_1MemSSA_html_a16114eb55775f6ee812c1648dcaede0c"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a16114eb55775f6ee812c1648dcaede0c">SVF::MemSSA::SSARename</a></div><div class="ttdeci">virtual void SSARename(const SVFFunction &amp;fun)</div><div class="ttdoc">SSA rename for a function. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8cpp_source.html#l00266">MemSSA.cpp:266</a></div></div>
1445
1445
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
1446
1446
  <div class="ttc" id="classSVF_1_1MemSSA_html_a4fc930040ec54eb60629da18fb6a4d04"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a4fc930040ec54eb60629da18fb6a4d04">SVF::MemSSA::stat</a></div><div class="ttdeci">MemSSAStat * stat</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00119">MemSSA.h:119</a></div></div>
1447
- <div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00229">SVFBasicTypes.h:229</a></div></div>
1447
+ <div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00231">SVFBasicTypes.h:231</a></div></div>
1448
1448
  <div class="ttc" id="classSVF_1_1MemSSA_html_a11e1e9a74a6764131fc8aae27d8bde5e"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a11e1e9a74a6764131fc8aae27d8bde5e">SVF::MemSSA::setCurrentDFDT</a></div><div class="ttdeci">void setCurrentDFDT(DominanceFrontier *f, DominatorTree *t)</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8cpp_source.html#l00081">MemSSA.cpp:81</a></div></div>
1449
1449
  <div class="ttc" id="classSVF_1_1MemSSA_html_a4d2418b7df74f23d8fd328f66e29f198"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a4d2418b7df74f23d8fd328f66e29f198">SVF::MemSSA::timeOfCreateMUCHI</a></div><div class="ttdeci">static double timeOfCreateMUCHI</div><div class="ttdoc">Time for generating mu/chi for load/store/calls. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00102">MemSSA.h:102</a></div></div>
1450
- <div class="ttc" id="SVFBasicTypes_8h_html_a385e9d80a013723304b329454d32e8b1"><div class="ttname"><a href="SVFBasicTypes_8h.html#a385e9d80a013723304b329454d32e8b1">DMSSA</a></div><div class="ttdeci">#define DMSSA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00163">SVFBasicTypes.h:163</a></div></div>
1451
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
1450
+ <div class="ttc" id="SVFBasicTypes_8h_html_a385e9d80a013723304b329454d32e8b1"><div class="ttname"><a href="SVFBasicTypes_8h.html#a385e9d80a013723304b329454d32e8b1">DMSSA</a></div><div class="ttdeci">#define DMSSA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00165">SVFBasicTypes.h:165</a></div></div>
1451
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
1452
1452
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_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>
1453
1453
  <div class="ttc" id="classSVF_1_1MemSSA_html_a97ccd5e0b9ab6144415e26bdf95cbabd"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a97ccd5e0b9ab6144415e26bdf95cbabd">SVF::MemSSA::timeOfSSARenaming</a></div><div class="ttdeci">static double timeOfSSARenaming</div><div class="ttdoc">Time for SSA rename. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00104">MemSSA.h:104</a></div></div>
1454
1454
  <div class="ttc" id="classSVF_1_1MemSSA_html_a695adf83e8c40b9628b1866053f68033"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a695adf83e8c40b9628b1866053f68033">SVF::MemSSA::createMUCHI</a></div><div class="ttdeci">virtual void createMUCHI(const SVFFunction &amp;fun)</div><div class="ttdoc">Create mu chi for candidate regions in a function. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8cpp_source.html#l00126">MemSSA.cpp:126</a></div></div>
1455
- <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00147">SVFBasicTypes.h:147</a></div></div>
1455
+ <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00149">SVFBasicTypes.h:149</a></div></div>
1456
1456
  <div class="ttc" id="classSVF_1_1MemSSA_html_a3c7b5fa73fdc7c805ee3673fbe812b44"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a3c7b5fa73fdc7c805ee3673fbe812b44">SVF::MemSSA::timeOfInsertingPHI</a></div><div class="ttdeci">static double timeOfInsertingPHI</div><div class="ttdoc">Time for inserting phis. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00103">MemSSA.h:103</a></div></div>
1457
1457
  <div class="ttc" id="classSVF_1_1MemSSA_html_acc6f72d96cf29e36093ba08ea86b8983"><div class="ttname"><a href="classSVF_1_1MemSSA.html#acc6f72d96cf29e36093ba08ea86b8983">SVF::MemSSA::insertPHI</a></div><div class="ttdeci">virtual void insertPHI(const SVFFunction &amp;fun)</div><div class="ttdoc">Insert phi for candidate regions in a fucntion. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8cpp_source.html#l00216">MemSSA.cpp:216</a></div></div>
1458
1458
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00063">LLVMUtil.h:63</a></div></div>
@@ -1575,7 +1575,7 @@ Private Attributes</h2></td></tr>
1575
1575
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_aaf6b41f44da3a4caea1fa395e41edf71"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aaf6b41f44da3a4caea1fa395e41edf71">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">PAG * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00205">PointerAnalysis.h:205</a></div></div>
1576
1576
  <div class="ttc" id="classSVF_1_1MRGenerator_html_a5875a7f064e468d5eceba737eeb44791"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a5875a7f064e468d5eceba737eeb44791">SVF::MRGenerator::getPAGEdgesFromInst</a></div><div class="ttdeci">PAGEdgeList &amp; getPAGEdgesFromInst(const Instruction *inst)</div><div class="ttdoc">Given an instruction, get all its the PAGEdge (statement) in sequence. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00160">MemRegion.cpp:160</a></div></div>
1577
1577
  <div class="ttc" id="classSVF_1_1PAG_html"><div class="ttname"><a href="classSVF_1_1PAG.html">SVF::PAG</a></div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00047">PAG.h:47</a></div></div>
1578
- <div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00229">SVFBasicTypes.h:229</a></div></div>
1578
+ <div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00231">SVFBasicTypes.h:231</a></div></div>
1579
1579
  <div class="ttc" id="classSVF_1_1MemSSA_html_a71fe305891acfaad16d510dc11a764fc"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a71fe305891acfaad16d510dc11a764fc">SVF::MemSSA::AddStoreCHI</a></div><div class="ttdeci">void AddStoreCHI(const BasicBlock *bb, const StorePE *store, const MRSet &amp;mrSet)</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00188">MemSSA.h:188</a></div></div>
1580
1580
  <div class="ttc" id="classSVF_1_1MemSSA_html_a1aa05f81640286a796db0ded4e10c7ac"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a1aa05f81640286a796db0ded4e10c7ac">SVF::MemSSA::AddCallSiteMU</a></div><div class="ttdeci">void AddCallSiteMU(const CallBlockNode *cs, const MRSet &amp;mrSet)</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00193">MemSSA.h:193</a></div></div>
1581
1581
  <div class="ttc" id="classSVF_1_1MemSSA_html_a468e1481926df6865678b7232bb79bf3"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a468e1481926df6865678b7232bb79bf3">SVF::MemSSA::pta</a></div><div class="ttdeci">BVDataPTAImpl * pta</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00115">MemSSA.h:115</a></div></div>
@@ -1591,7 +1591,7 @@ Private Attributes</h2></td></tr>
1591
1591
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7a7e06e90a215086696effb5f5537baf"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7a7e06e90a215086696effb5f5537baf">SVF::SVFUtil::functionDoesNotRet</a></div><div class="ttdeci">bool functionDoesNotRet(const Function *fun)</div><div class="ttdoc">Return true if the function has a return instruction reachable from function entry. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00088">LLVMUtil.cpp:88</a></div></div>
1592
1592
  <div class="ttc" id="classSVF_1_1MRGenerator_html_a8832a53d8f6a5eb0a07551ca19c5513d"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a8832a53d8f6a5eb0a07551ca19c5513d">SVF::MRGenerator::hasPAGEdgeList</a></div><div class="ttdeci">bool hasPAGEdgeList(const Instruction *inst)</div><div class="ttdoc">Whether this instruction has PAG Edge. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00151">MemRegion.cpp:151</a></div></div>
1593
1593
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a61b29238f1f32978c7b6aded4b73244d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a61b29238f1f32978c7b6aded4b73244d">SVF::SVFUtil::getFunReachableBBs</a></div><div class="ttdeci">void getFunReachableBBs(const Function *fun, DominatorTree *dt, std::vector&lt; const BasicBlock *&gt; &amp;bbs)</div><div class="ttdoc">Get reachable basic block from function entry. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00059">LLVMUtil.cpp:59</a></div></div>
1594
- <div class="ttc" id="SVFBasicTypes_8h_html_a385e9d80a013723304b329454d32e8b1"><div class="ttname"><a href="SVFBasicTypes_8h.html#a385e9d80a013723304b329454d32e8b1">DMSSA</a></div><div class="ttdeci">#define DMSSA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00163">SVFBasicTypes.h:163</a></div></div>
1594
+ <div class="ttc" id="SVFBasicTypes_8h_html_a385e9d80a013723304b329454d32e8b1"><div class="ttname"><a href="SVFBasicTypes_8h.html#a385e9d80a013723304b329454d32e8b1">DMSSA</a></div><div class="ttdeci">#define DMSSA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00165">SVFBasicTypes.h:165</a></div></div>
1595
1595
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_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>
1596
1596
  <div class="ttc" id="classSVF_1_1LoadPE_html"><div class="ttname"><a href="classSVF_1_1LoadPE.html">SVF::LoadPE</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGEdge_8h_source.html#l00396">PAGEdge.h:396</a></div></div>
1597
1597
  <div class="ttc" id="classSVF_1_1MRGenerator_html_acb78098bf1fc8c3a80720a3dff3a0a1d"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#acb78098bf1fc8c3a80720a3dff3a0a1d">SVF::MRGenerator::getCallSiteModMRSet</a></div><div class="ttdeci">MRSet &amp; getCallSiteModMRSet(const CallBlockNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00463">MemRegion.h:463</a></div></div>
@@ -1605,7 +1605,7 @@ Private Attributes</h2></td></tr>
1605
1605
  <div class="ttc" id="classSVF_1_1CallBlockNode_html"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html">SVF::CallBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>
1606
1606
  <div class="ttc" id="classSVF_1_1MemSSA_html_ac6f2171f92e0bdd5dbdb58efed144c18"><div class="ttname"><a href="classSVF_1_1MemSSA.html#ac6f2171f92e0bdd5dbdb58efed144c18">SVF::MemSSA::AddCallSiteCHI</a></div><div class="ttdeci">void AddCallSiteCHI(const CallBlockNode *cs, const MRSet &amp;mrSet)</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00198">MemSSA.h:198</a></div></div>
1607
1607
  <div class="ttc" id="classSVF_1_1MemSSA_html_ae4c7b17d8da8278dca362af79f9f268d"><div class="ttname"><a href="classSVF_1_1MemSSA.html#ae4c7b17d8da8278dca362af79f9f268d">SVF::MemSSA::mr2VerStackMap</a></div><div class="ttdeci">MemRegToVerStackMap mr2VerStackMap</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00139">MemSSA.h:139</a></div></div>
1608
- <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00147">SVFBasicTypes.h:147</a></div></div>
1608
+ <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00149">SVFBasicTypes.h:149</a></div></div>
1609
1609
  <div class="ttc" id="classSVF_1_1MemSSA_html_a59314f6ce17919574d687a08a38b55ec"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a59314f6ce17919574d687a08a38b55ec">SVF::MemSSA::funToEntryChiSetMap</a></div><div class="ttdeci">FunToEntryChiSetMap funToEntryChiSetMap</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00136">MemSSA.h:136</a></div></div>
1610
1610
  </div><!-- fragment -->
1611
1611
  </div>
@@ -1682,7 +1682,7 @@ Private Attributes</h2></td></tr>
1682
1682
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_aaf6b41f44da3a4caea1fa395e41edf71"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aaf6b41f44da3a4caea1fa395e41edf71">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">PAG * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00205">PointerAnalysis.h:205</a></div></div>
1683
1683
  <div class="ttc" id="classSVF_1_1MRGenerator_html_a5875a7f064e468d5eceba737eeb44791"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a5875a7f064e468d5eceba737eeb44791">SVF::MRGenerator::getPAGEdgesFromInst</a></div><div class="ttdeci">PAGEdgeList &amp; getPAGEdgesFromInst(const Instruction *inst)</div><div class="ttdoc">Given an instruction, get all its the PAGEdge (statement) in sequence. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00160">MemRegion.cpp:160</a></div></div>
1684
1684
  <div class="ttc" id="classSVF_1_1PAG_html"><div class="ttname"><a href="classSVF_1_1PAG.html">SVF::PAG</a></div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00047">PAG.h:47</a></div></div>
1685
- <div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00229">SVFBasicTypes.h:229</a></div></div>
1685
+ <div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00231">SVFBasicTypes.h:231</a></div></div>
1686
1686
  <div class="ttc" id="classSVF_1_1Options_html_a4ac0e6b77fc9ccc18b269268b3cd046d"><div class="ttname"><a href="classSVF_1_1Options.html#a4ac0e6b77fc9ccc18b269268b3cd046d">SVF::Options::MSSAFun</a></div><div class="ttdeci">static const llvm::cl::opt&lt; std ::string &gt; MSSAFun</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00152">Options.h:152</a></div></div>
1687
1687
  <div class="ttc" id="classSVF_1_1MemSSA_html_a468e1481926df6865678b7232bb79bf3"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a468e1481926df6865678b7232bb79bf3">SVF::MemSSA::pta</a></div><div class="ttdeci">BVDataPTAImpl * pta</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00115">MemSSA.h:115</a></div></div>
1688
1688
  <div class="ttc" id="classSVF_1_1MemSSA_html_af9cf084e3070456d8cca491e1391b0c4"><div class="ttname"><a href="classSVF_1_1MemSSA.html#af9cf084e3070456d8cca491e1391b0c4">SVF::MemSSA::CHISet</a></div><div class="ttdeci">Set&lt; CHI * &gt; CHISet</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00065">MemSSA.h:65</a></div></div>
@@ -2698,17 +2698,17 @@ Private Attributes</h2></td></tr>
2698
2698
  <div class="ttc" id="classSVF_1_1MemSSA_html_a36e9cf7394c3ece8a5f2f9bfc512956a"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a36e9cf7394c3ece8a5f2f9bfc512956a">SVF::MemSSA::getDF</a></div><div class="ttdeci">DominanceFrontier * getDF(const SVFFunction &amp;)</div><div class="ttdoc">Get/set methods for dominace frontier/tree. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00292">MemSSA.h:292</a></div></div>
2699
2699
  <div class="ttc" id="classSVF_1_1MemSSA_html_acf840b71b67cabe831f01f2d358f27fa"><div class="ttname"><a href="classSVF_1_1MemSSA.html#acf840b71b67cabe831f01f2d358f27fa">SVF::MemSSA::usedRegs</a></div><div class="ttdeci">MRSet usedRegs</div><div class="ttdoc">The following three set are used for prune SSA phi insertion. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00146">MemSSA.h:146</a></div></div>
2700
2700
  <div class="ttc" id="namespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00077">BasicTypes.h:77</a></div></div>
2701
- <div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00229">SVFBasicTypes.h:229</a></div></div>
2701
+ <div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00231">SVFBasicTypes.h:231</a></div></div>
2702
2702
  <div class="ttc" id="classSVF_1_1MemSSA_html_a4d4f7039c2972e671dc15b8c75abad14"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a4d4f7039c2972e671dc15b8c75abad14">SVF::MemSSA::BBToMRSetMap</a></div><div class="ttdeci">Map&lt; const BasicBlock *, MRSet &gt; BBToMRSetMap</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00088">MemSSA.h:88</a></div></div>
2703
2703
  <div class="ttc" id="namespaceSVF_html_ab44d20f806be99699895260b14a942d7"><div class="ttname"><a href="namespaceSVF.html#ab44d20f806be99699895260b14a942d7">SVF::DominanceFrontier</a></div><div class="ttdeci">llvm::DominanceFrontier DominanceFrontier</div><div class="ttdoc">LLVM Dominators. </div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00196">BasicTypes.h:196</a></div></div>
2704
2704
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a077caa1b10ab84d101d79fc7ea50db2d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVF::SVFUtil::writeWrnMsg</a></div><div class="ttdeci">void writeWrnMsg(std::string msg)</div><div class="ttdoc">Writes a message run through wrnMsg. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00069">SVFUtil.cpp:69</a></div></div>
2705
2705
  <div class="ttc" id="classSVF_1_1MemSSA_html_a66e693af7b37e4e58b4834898d6a34fa"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a66e693af7b37e4e58b4834898d6a34fa">SVF::MemSSA::BBList</a></div><div class="ttdeci">std::vector&lt; const BasicBlock * &gt; BBList</div><div class="ttdoc">For phi insertion. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00087">MemSSA.h:87</a></div></div>
2706
- <div class="ttc" id="SVFBasicTypes_8h_html_a385e9d80a013723304b329454d32e8b1"><div class="ttname"><a href="SVFBasicTypes_8h.html#a385e9d80a013723304b329454d32e8b1">DMSSA</a></div><div class="ttdeci">#define DMSSA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00163">SVFBasicTypes.h:163</a></div></div>
2706
+ <div class="ttc" id="SVFBasicTypes_8h_html_a385e9d80a013723304b329454d32e8b1"><div class="ttname"><a href="SVFBasicTypes_8h.html#a385e9d80a013723304b329454d32e8b1">DMSSA</a></div><div class="ttdeci">#define DMSSA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00165">SVFBasicTypes.h:165</a></div></div>
2707
2707
  <div class="ttc" id="classSVF_1_1MemSSA_html_add1d4ff17d0860906d2f5f7172176121"><div class="ttname"><a href="classSVF_1_1MemSSA.html#add1d4ff17d0860906d2f5f7172176121">SVF::MemSSA::reg2BBMap</a></div><div class="ttdeci">MemRegToBBsMap reg2BBMap</div><div class="ttdoc">Maps memory region to its basic block. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00148">MemSSA.h:148</a></div></div>
2708
2708
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_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>
2709
2709
  <div class="ttc" id="classSVF_1_1MemSSA_html_a606aaf7a76ca71cb32adc9af7291ae6e"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a606aaf7a76ca71cb32adc9af7291ae6e">SVF::MemSSA::AddMSSAPHI</a></div><div class="ttdeci">void AddMSSAPHI(const BasicBlock *bb, const MRSet &amp;mrSet)</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00203">MemSSA.h:203</a></div></div>
2710
2710
  <div class="ttc" id="classSVF_1_1MemRegion_html"><div class="ttname"><a href="classSVF_1_1MemRegion.html">SVF::MemRegion</a></div><div class="ttdoc">Memory Region class. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00051">MemRegion.h:51</a></div></div>
2711
- <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00147">SVFBasicTypes.h:147</a></div></div>
2711
+ <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00149">SVFBasicTypes.h:149</a></div></div>
2712
2712
  </div><!-- fragment -->
2713
2713
  </div>
2714
2714
  </div>
@@ -3020,12 +3020,12 @@ Private Attributes</h2></td></tr>
3020
3020
  <p>SSA construction algorithm </p>
3021
3021
 
3022
3022
  <p class="definition">Definition at line <a class="el" href="MemSSA_8cpp_source.html#l00266">266</a> of file <a class="el" href="MemSSA_8cpp_source.html">MemSSA.cpp</a>.</p>
3023
- <div class="fragment"><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;{</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a385e9d80a013723304b329454d32e8b1">DMSSA</a>,</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t ssa rename for function &quot;</span> &lt;&lt; fun.<a class="code" href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">getName</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>);</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="classSVF_1_1MemSSA.html#a271c20725d49dd65b95c062938ffde4c">SSARenameBB</a>(fun.<a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()-&gt;getEntryBlock());</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00229">SVFBasicTypes.h:229</a></div></div>
3023
+ <div class="fragment"><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;{</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a385e9d80a013723304b329454d32e8b1">DMSSA</a>,</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t ssa rename for function &quot;</span> &lt;&lt; fun.<a class="code" href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">getName</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>);</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="classSVF_1_1MemSSA.html#a271c20725d49dd65b95c062938ffde4c">SSARenameBB</a>(fun.<a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()-&gt;getEntryBlock());</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00231">SVFBasicTypes.h:231</a></div></div>
3024
3024
  <div class="ttc" id="classSVF_1_1MemSSA_html_a271c20725d49dd65b95c062938ffde4c"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a271c20725d49dd65b95c062938ffde4c">SVF::MemSSA::SSARenameBB</a></div><div class="ttdeci">virtual void SSARenameBB(const BasicBlock &amp;bb)</div><div class="ttdoc">SSA rename for a basic block. </div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8cpp_source.html#l00279">MemSSA.cpp:279</a></div></div>
3025
- <div class="ttc" id="SVFBasicTypes_8h_html_a385e9d80a013723304b329454d32e8b1"><div class="ttname"><a href="SVFBasicTypes_8h.html#a385e9d80a013723304b329454d32e8b1">DMSSA</a></div><div class="ttdeci">#define DMSSA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00163">SVFBasicTypes.h:163</a></div></div>
3025
+ <div class="ttc" id="SVFBasicTypes_8h_html_a385e9d80a013723304b329454d32e8b1"><div class="ttname"><a href="SVFBasicTypes_8h.html#a385e9d80a013723304b329454d32e8b1">DMSSA</a></div><div class="ttdeci">#define DMSSA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00165">SVFBasicTypes.h:165</a></div></div>
3026
3026
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_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>
3027
3027
  <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="BasicTypes_8h_source.html#l00249">BasicTypes.h:249</a></div></div>
3028
- <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00147">SVFBasicTypes.h:147</a></div></div>
3028
+ <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00149">SVFBasicTypes.h:149</a></div></div>
3029
3029
  </div><!-- fragment -->
3030
3030
  </div>
3031
3031
  </div>