svf-tools 1.0.321 → 1.0.322

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 (319) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
  4. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +5 -5
  5. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
  6. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  7. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
  8. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
  10. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
  11. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +3 -3
  12. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +9 -9
  14. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +7 -7
  15. package/SVF-doxygen/html/html/MemRegion_8h_source.html +11 -11
  16. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +9 -9
  17. package/SVF-doxygen/html/html/MemSSA_8h_source.html +11 -11
  18. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +2 -2
  21. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +2 -2
  24. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
  25. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +4 -4
  26. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +4 -4
  27. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +33 -33
  28. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +31 -31
  29. package/SVF-doxygen/html/html/SVFIR_8h_source.html +32 -32
  30. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +14 -14
  31. package/SVF-doxygen/html/html/SVFStatements_8h.html +11 -11
  32. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +72 -72
  33. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +9 -9
  34. package/SVF-doxygen/html/html/SVFVariables_8h.html +9 -9
  35. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +66 -66
  36. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  38. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +8 -8
  39. package/SVF-doxygen/html/html/VFGNode_8h_source.html +11 -11
  40. package/SVF-doxygen/html/html/VFG_8cpp_source.html +16 -16
  41. package/SVF-doxygen/html/html/VFG_8h_source.html +21 -21
  42. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
  43. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  44. package/SVF-doxygen/html/html/annotated.html +21 -21
  45. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
  46. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +136 -0
  47. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +498 -0
  48. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.png +0 -0
  49. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode-members.html +1 -1
  50. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +7 -7
  51. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
  52. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +3 -3
  53. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  54. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +154 -0
  55. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +754 -0
  56. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.png +0 -0
  57. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +169 -0
  58. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +537 -0
  59. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.png +0 -0
  60. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +169 -0
  61. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +547 -0
  62. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.png +0 -0
  63. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +172 -0
  64. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +556 -0
  65. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.png +0 -0
  66. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +74 -22
  67. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +477 -93
  68. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.png +0 -0
  69. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
  70. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +5 -5
  71. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
  72. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
  73. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +3 -3
  74. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +56 -21
  75. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +251 -89
  76. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.png +0 -0
  77. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode-members.html +1 -1
  78. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +7 -7
  79. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
  80. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +8 -8
  81. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +18 -18
  82. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +167 -0
  83. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +531 -0
  84. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.png +0 -0
  85. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +165 -0
  86. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +502 -0
  87. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.png +0 -0
  88. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +167 -0
  89. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +577 -0
  90. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.png +0 -0
  91. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
  92. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +2 -2
  93. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +2 -2
  94. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +3 -3
  95. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +6 -6
  96. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.png +0 -0
  97. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +23 -22
  98. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  99. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN-members.html +4 -4
  100. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +37 -37
  101. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.png +0 -0
  102. package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +56 -22
  103. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +257 -118
  104. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.png +0 -0
  105. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode-members.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +7 -7
  107. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +170 -0
  108. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +752 -0
  109. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.png +0 -0
  110. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +3 -3
  111. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +8 -8
  112. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +18 -18
  113. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +8 -8
  114. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +18 -18
  115. package/SVF-doxygen/html/html/classSVF_1_1LoadMU-members.html +3 -3
  116. package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +20 -20
  117. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +56 -21
  118. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +251 -89
  119. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.png +0 -0
  120. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode-members.html +1 -1
  121. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +7 -7
  122. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +8 -8
  123. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +63 -63
  124. package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +8 -8
  125. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +71 -71
  126. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +3 -3
  127. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.png +0 -0
  128. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt-members.html +141 -0
  129. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.html +647 -0
  130. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.png +0 -0
  131. package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +165 -0
  132. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +644 -0
  133. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.png +0 -0
  134. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +10 -10
  135. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +2 -2
  136. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +73 -22
  137. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +445 -98
  138. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.png +0 -0
  139. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +8 -8
  140. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +9 -9
  141. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +32 -32
  142. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +9 -9
  143. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +26 -26
  144. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +14 -14
  145. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +142 -142
  146. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +11 -11
  147. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +137 -137
  148. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +7 -7
  149. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.png +0 -0
  150. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +13 -13
  151. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.png +0 -0
  152. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
  153. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI-members.html +3 -3
  154. package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +20 -20
  155. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +56 -21
  156. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +258 -89
  157. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.png +0 -0
  158. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode-members.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +7 -7
  160. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +2 -2
  161. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +20 -20
  162. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +146 -0
  163. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +792 -0
  164. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.png +0 -0
  165. package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +9 -9
  166. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +69 -69
  167. package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +163 -0
  168. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +521 -0
  169. package/SVF-doxygen/html/html/classSVF_1_1ValVar.png +0 -0
  170. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt-members.html +138 -0
  171. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.html +542 -0
  172. package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.png +0 -0
  173. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
  174. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  175. package/SVF-doxygen/html/html/classes.html +18 -18
  176. package/SVF-doxygen/html/html/functions_a.html +39 -39
  177. package/SVF-doxygen/html/html/functions_b.html +2 -2
  178. package/SVF-doxygen/html/html/functions_c.html +34 -34
  179. package/SVF-doxygen/html/html/functions_d.html +4 -4
  180. package/SVF-doxygen/html/html/functions_f.html +3 -3
  181. package/SVF-doxygen/html/html/functions_func.html +38 -38
  182. package/SVF-doxygen/html/html/functions_func_b.html +2 -2
  183. package/SVF-doxygen/html/html/functions_func_c.html +30 -30
  184. package/SVF-doxygen/html/html/functions_func_d.html +4 -4
  185. package/SVF-doxygen/html/html/functions_func_f.html +2 -2
  186. package/SVF-doxygen/html/html/functions_func_g.html +49 -49
  187. package/SVF-doxygen/html/html/functions_func_l.html +3 -3
  188. package/SVF-doxygen/html/html/functions_func_n.html +2 -2
  189. package/SVF-doxygen/html/html/functions_func_o.html +15 -15
  190. package/SVF-doxygen/html/html/functions_func_p.html +2 -2
  191. package/SVF-doxygen/html/html/functions_func_s.html +4 -4
  192. package/SVF-doxygen/html/html/functions_func_t.html +20 -20
  193. package/SVF-doxygen/html/html/functions_func_u.html +2 -2
  194. package/SVF-doxygen/html/html/functions_func_v.html +5 -5
  195. package/SVF-doxygen/html/html/functions_g.html +52 -52
  196. package/SVF-doxygen/html/html/functions_i.html +2 -2
  197. package/SVF-doxygen/html/html/functions_l.html +9 -9
  198. package/SVF-doxygen/html/html/functions_m.html +1 -1
  199. package/SVF-doxygen/html/html/functions_n.html +2 -2
  200. package/SVF-doxygen/html/html/functions_o.html +17 -17
  201. package/SVF-doxygen/html/html/functions_p.html +4 -4
  202. package/SVF-doxygen/html/html/functions_s.html +7 -7
  203. package/SVF-doxygen/html/html/functions_t.html +20 -20
  204. package/SVF-doxygen/html/html/functions_type_c.html +1 -1
  205. package/SVF-doxygen/html/html/functions_type_l.html +3 -3
  206. package/SVF-doxygen/html/html/functions_type_p.html +1 -1
  207. package/SVF-doxygen/html/html/functions_type_s.html +3 -3
  208. package/SVF-doxygen/html/html/functions_u.html +2 -2
  209. package/SVF-doxygen/html/html/functions_v.html +5 -5
  210. package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
  211. package/SVF-doxygen/html/html/functions_vars_g.html +1 -1
  212. package/SVF-doxygen/html/html/functions_vars_i.html +2 -2
  213. package/SVF-doxygen/html/html/functions_vars_l.html +2 -2
  214. package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
  215. package/SVF-doxygen/html/html/functions_vars_o.html +3 -3
  216. package/SVF-doxygen/html/html/functions_w.html +5 -9
  217. package/SVF-doxygen/html/html/hierarchy.html +65 -65
  218. package/SVF-doxygen/html/html/namespaceSVF.html +23 -23
  219. package/SVF-doxygen/html/html/search/all_1.js +37 -37
  220. package/SVF-doxygen/html/html/search/all_10.js +2 -2
  221. package/SVF-doxygen/html/html/search/all_13.js +6 -6
  222. package/SVF-doxygen/html/html/search/all_14.js +1 -1
  223. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  224. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  225. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  226. package/SVF-doxygen/html/html/search/all_2.js +1 -1
  227. package/SVF-doxygen/html/html/search/all_3.js +8 -8
  228. package/SVF-doxygen/html/html/search/all_4.js +2 -2
  229. package/SVF-doxygen/html/html/search/all_6.js +2 -2
  230. package/SVF-doxygen/html/html/search/all_7.js +26 -26
  231. package/SVF-doxygen/html/html/search/all_9.js +1 -1
  232. package/SVF-doxygen/html/html/search/all_c.js +7 -7
  233. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  234. package/SVF-doxygen/html/html/search/all_e.js +1 -1
  235. package/SVF-doxygen/html/html/search/all_f.js +3 -3
  236. package/SVF-doxygen/html/html/search/classes_0.js +1 -1
  237. package/SVF-doxygen/html/html/search/classes_1.js +1 -1
  238. package/SVF-doxygen/html/html/search/classes_11.js +1 -1
  239. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  240. package/SVF-doxygen/html/html/search/classes_2.js +5 -5
  241. package/SVF-doxygen/html/html/search/classes_3.js +2 -2
  242. package/SVF-doxygen/html/html/search/classes_5.js +1 -1
  243. package/SVF-doxygen/html/html/search/classes_6.js +2 -2
  244. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  245. package/SVF-doxygen/html/html/search/classes_b.js +1 -1
  246. package/SVF-doxygen/html/html/search/classes_c.js +1 -1
  247. package/SVF-doxygen/html/html/search/classes_d.js +1 -1
  248. package/SVF-doxygen/html/html/search/classes_f.js +1 -1
  249. package/SVF-doxygen/html/html/search/functions_0.js +37 -37
  250. package/SVF-doxygen/html/html/search/functions_1.js +1 -1
  251. package/SVF-doxygen/html/html/search/functions_10.js +3 -3
  252. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  253. package/SVF-doxygen/html/html/search/functions_12.js +1 -1
  254. package/SVF-doxygen/html/html/search/functions_13.js +2 -2
  255. package/SVF-doxygen/html/html/search/functions_2.js +7 -7
  256. package/SVF-doxygen/html/html/search/functions_3.js +2 -2
  257. package/SVF-doxygen/html/html/search/functions_5.js +1 -1
  258. package/SVF-doxygen/html/html/search/functions_6.js +25 -25
  259. package/SVF-doxygen/html/html/search/functions_a.js +3 -3
  260. package/SVF-doxygen/html/html/search/functions_c.js +1 -1
  261. package/SVF-doxygen/html/html/search/functions_d.js +2 -2
  262. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  263. package/SVF-doxygen/html/html/search/typedefs_11.js +3 -3
  264. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  265. package/SVF-doxygen/html/html/search/typedefs_b.js +3 -3
  266. package/SVF-doxygen/html/html/search/typedefs_f.js +1 -1
  267. package/SVF-doxygen/html/html/search/variables_6.js +1 -1
  268. package/SVF-doxygen/html/html/search/variables_7.js +1 -1
  269. package/SVF-doxygen/html/html/search/variables_9.js +1 -1
  270. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  271. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  272. package/SVF-doxygen/html/html/search/variables_f.js +1 -1
  273. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +2 -2
  274. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  275. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +2 -2
  276. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +1 -1
  277. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +1 -1
  278. package/include/Graphs/ICFGNode.h +1 -1
  279. package/include/Graphs/VFG.h +9 -9
  280. package/include/Graphs/VFGNode.h +6 -6
  281. package/include/MSSA/MSSAMuChi.h +6 -6
  282. package/include/MSSA/MemRegion.h +8 -8
  283. package/include/MSSA/MemSSA.h +10 -10
  284. package/include/MemoryModel/PointerAnalysis.h +1 -1
  285. package/include/MemoryModel/PointerAnalysisImpl.h +2 -2
  286. package/include/MemoryModel/SVFIR.h +28 -28
  287. package/include/MemoryModel/SVFStatements.h +68 -68
  288. package/include/MemoryModel/SVFVariables.h +39 -39
  289. package/include/SVF-FE/SVFIRBuilder.h +22 -22
  290. package/lib/DDA/ContextDDA.cpp +4 -4
  291. package/lib/DDA/DDAStat.cpp +1 -1
  292. package/lib/DDA/FlowDDA.cpp +2 -2
  293. package/lib/Graphs/ConsG.cpp +12 -12
  294. package/lib/Graphs/IRGraph.cpp +15 -15
  295. package/lib/Graphs/OfflineConsG.cpp +8 -8
  296. package/lib/Graphs/SVFG.cpp +8 -8
  297. package/lib/Graphs/ThreadCallGraph.cpp +2 -2
  298. package/lib/Graphs/VFG.cpp +15 -15
  299. package/lib/MSSA/MemRegion.cpp +6 -6
  300. package/lib/MSSA/MemSSA.cpp +6 -6
  301. package/lib/MemoryModel/PAGBuilderFromFile.cpp +3 -3
  302. package/lib/MemoryModel/PointerAnalysis.cpp +9 -9
  303. package/lib/MemoryModel/PointerAnalysisImpl.cpp +2 -2
  304. package/lib/MemoryModel/SVFIR.cpp +44 -44
  305. package/lib/MemoryModel/SVFStatements.cpp +24 -24
  306. package/lib/MemoryModel/SVFVariables.cpp +19 -19
  307. package/lib/SABER/SaberSVFGBuilder.cpp +2 -2
  308. package/lib/SVF-FE/Graph2Json.cpp +1 -1
  309. package/lib/SVF-FE/SVFIRBuilder.cpp +5 -5
  310. package/lib/Util/PTAStat.cpp +1 -1
  311. package/lib/Util/TypeBasedHeapCloning.cpp +19 -19
  312. package/lib/WPA/AndersenSFR.cpp +1 -1
  313. package/lib/WPA/AndersenStat.cpp +3 -3
  314. package/lib/WPA/FlowSensitive.cpp +2 -2
  315. package/lib/WPA/FlowSensitiveStat.cpp +2 -2
  316. package/lib/WPA/FlowSensitiveTBHC.cpp +4 -4
  317. package/lib/WPA/VersionedFlowSensitive.cpp +1 -1
  318. package/lib/WPA/VersionedFlowSensitiveStat.cpp +1 -1
  319. package/package.json +1 -1
@@ -386,12 +386,13 @@ Additional Inherited Members</h2></td></tr>
386
386
  </div><div class="memdoc">
387
387
 
388
388
  <p class="definition">Definition at line <a class="el" href="Graph2Json_8cpp_source.html#l00014">14</a> of file <a class="el" href="Graph2Json_8cpp_source.html">Graph2Json.cpp</a>.</p>
389
- <div class="fragment"><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;{</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;write symbols to &#39;&quot;</span> &lt;&lt; filename &lt;&lt; <span class="stringliteral">&quot;&#39;...&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; std::error_code err;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <a class="code" href="namespaceSVF.html#acde6a1d496f1b655088ccbe023820277">ToolOutputFile</a> F(filename.c_str(), err, llvm::sys::fs::OF_None);</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="keywordflow">if</span> (err)</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; {</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot; error opening file for writing!\n&quot;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; F.os().clear_error();</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; }</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; llvm::json::Array root_array;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1ICFG.html#a498f84068ef643a94970aeb171607e31">ICFG::iterator</a> it = <a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), eit = <a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it!=eit; ++it)</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node = it-&gt;second;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; llvm::json::Object ICFGNode_Obj;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;ICFG_ID&quot;</span>] = id;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;Node Type&quot;</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a2c022308f9c7ae3bf33d9482fcb51e03">getICFGKind</a>(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>());</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1IntraBlockNode.html">IntraBlockNode</a>* bNode = SVFUtil::dyn_cast&lt;IntraBlockNode&gt;(node))</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; {</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;Source Location&quot;</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(bNode-&gt;getInst());</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html#a896b591a710148fad7705a0d88652976">SVFIR::PAGEdgeList</a>&amp; edges = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ad0c6908c3e4ff83d0eb34906826d2a10">getInstPTAPAGEdgeList</a>(bNode);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; llvm::json::Array PAGEdge_array;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">//dump pag edges</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">for</span> (SVFIR::PAGEdgeList::iterator it = edges.begin(),</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; eit = edges.end(); it != eit; ++it)</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">PAGEdge</a>* edge = *it;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; llvm::json::Object edge_obj;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; edge_obj[<span class="stringliteral">&quot;Source Node&quot;</span>] = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; edge_obj[<span class="stringliteral">&quot;Destination Node&quot;</span>] = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; edge_obj[<span class="stringliteral">&quot;Source Type&quot;</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a54f0729c869b5061b5fb9fe056c326ef">getPAGNodeKindValue</a>(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()-&gt;getNodeKind());</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; edge_obj[<span class="stringliteral">&quot;Destination Type&quot;</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a54f0729c869b5061b5fb9fe056c326ef">getPAGNodeKindValue</a>(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()-&gt;getNodeKind());</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; edge_obj[<span class="stringliteral">&quot;Edge Type&quot;</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a38aa67e172459a72d8fc92a6172903be">getPAGEdgeKindValue</a>(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>());</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; edge_obj[<span class="stringliteral">&quot;srcValueName&quot;</span>] = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()-&gt;getValueName();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; edge_obj[<span class="stringliteral">&quot;dstValueName&quot;</span>] = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()-&gt;getValueName();</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">if</span>(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>()==<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ac2089ffeab3f27354b2094758c805746">PAGEdge::NormalGep</a>)</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1NormalGepPE.html">NormalGepPE</a>* gepEdge = SVFUtil::cast&lt;NormalGepPE&gt;(edge);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; edge_obj[<span class="stringliteral">&quot;offset&quot;</span>] = gepEdge-&gt;<a class="code" href="classSVF_1_1NormalGepPE.html#a38ac1dd06ada0a04e13a038f8b69e3e5">getOffset</a>();</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> edge_value = llvm::json::Object{edge_obj};</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; PAGEdge_array.push_back(edge_value);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> PagEdge_value = llvm::json::Array{PAGEdge_array};</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;SVFIR Edges&quot;</span>] = PagEdge_value;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FunEntryBlockNode.html">FunEntryBlockNode</a>* <a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a> = SVFUtil::dyn_cast&lt;FunEntryBlockNode&gt;(node))</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>-&gt;getFun()))</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;isExtCall&quot;</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;isExtCall&quot;</span>] = <span class="keyword">false</span>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;Source Location&quot;</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(<a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>-&gt;getFun()-&gt;getLLVMFun());</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;Function Name&quot;</span>] = <a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>-&gt;getFun()-&gt;getName();</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1FunExitBlockNode.html">FunExitBlockNode</a>* <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a> = SVFUtil::dyn_cast&lt;FunExitBlockNode&gt;(node))</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>-&gt;getFun()))</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;isExtCall&quot;</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;isExtCall&quot;</span>] = <span class="keyword">false</span>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;Source Location&quot;</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(&amp;(<a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>-&gt;getFun()-&gt;getLLVMFun()-&gt;back()));</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;Function Name&quot;</span>] = <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>-&gt;getFun()-&gt;getName();</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a>* call = SVFUtil::dyn_cast&lt;CallBlockNode&gt;(node))</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;Source Location&quot;</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(call-&gt;getCallSite());</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1RetBlockNode.html">RetBlockNode</a>* ret = SVFUtil::dyn_cast&lt;RetBlockNode&gt;(node))</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;Source Location&quot;</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(ret-&gt;getCallSite());</div><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; <span class="keywordflow">else</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what else kinds of nodes do we have??&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; llvm::json::Array ICFGEdges_array;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1ICFGNode.html#a5a148eccec266a67e4ff5364d7268fff">ICFGNode::iterator</a> sit = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), esit = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); sit!=esit; ++sit)</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_1ICFGEdge.html">ICFGEdge</a>* edge = *sit;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; llvm::json::Object ICFGEdge_obj;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;CallCFGEdge&gt;(edge))</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>* call = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>&gt;(edge);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFG Edge Type&quot;</span>] = <span class="stringliteral">&quot;CallCFGEdge&quot;</span>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFGEdgeSrcID&quot;</span>] = call-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFGEdgeDstID&quot;</span>] = call-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;RetCFGEdge&gt;(edge))</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>* call = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>&gt;(edge);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFG Edge Type&quot;</span>] = <span class="stringliteral">&quot;RetCFGEdge&quot;</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFGEdgeSrcID&quot;</span>] = call-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFGEdgeDstID&quot;</span>] = call-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;IntraCFGEdge&gt;(edge))</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>* intraCFGEdge = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>&gt;(edge);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFG Edge Type&quot;</span>] = <span class="stringliteral">&quot;IntraCFGEdge&quot;</span>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFGEdgeSrcID&quot;</span>] = intraCFGEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFGEdgeDstID&quot;</span>] = intraCFGEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGEdge_Val = llvm::json::Object{ICFGEdge_obj};</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; ICFGEdges_array.push_back(ICFGEdge_Val);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGEdges_val = llvm::json::Array{ICFGEdges_array};</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;ICFGEdges&quot;</span>] = ICFGEdges_val;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGNode_val = llvm::json::Object{ICFGNode_Obj};</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; root_array.push_back(ICFGNode_val);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> root_value = llvm::json::Array{root_array};</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="namespaceSVF.html#ac5a03512613828c2fab8930f38c2d485">llvm::json::operator&lt;&lt;</a>(F.os(),root_value);</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; F.os().close();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">if</span> (!F.os().has_error())</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; F.keep();</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;}</div><div class="ttc" id="classSVF_1_1ICFGEdge_html"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00042">ICFGEdge.h:42</a></div></div>
389
+ <div class="fragment"><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;{</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;write symbols to &#39;&quot;</span> &lt;&lt; filename &lt;&lt; <span class="stringliteral">&quot;&#39;...&quot;</span>;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; std::error_code err;</div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <a class="code" href="namespaceSVF.html#acde6a1d496f1b655088ccbe023820277">ToolOutputFile</a> F(filename.c_str(), err, llvm::sys::fs::OF_None);</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="keywordflow">if</span> (err)</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; {</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot; error opening file for writing!\n&quot;</span>;</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; F.os().clear_error();</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; }</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; llvm::json::Array root_array;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1ICFG.html#a498f84068ef643a94970aeb171607e31">ICFG::iterator</a> it = <a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(), eit = <a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it!=eit; ++it)</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node = it-&gt;second;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; llvm::json::Object ICFGNode_Obj;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;ICFG_ID&quot;</span>] = id;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;Node Type&quot;</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a2c022308f9c7ae3bf33d9482fcb51e03">getICFGKind</a>(node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">getNodeKind</a>());</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1IntraBlockNode.html">IntraBlockNode</a>* bNode = SVFUtil::dyn_cast&lt;IntraBlockNode&gt;(node))</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; {</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;Source Location&quot;</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(bNode-&gt;getInst());</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html#a896b591a710148fad7705a0d88652976">SVFIR::PAGEdgeList</a>&amp; edges = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-&gt;<a class="code" href="classSVF_1_1SVFIR.html#ad0c6908c3e4ff83d0eb34906826d2a10">getInstPTAPAGEdgeList</a>(bNode);</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; llvm::json::Array PAGEdge_array;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">//dump pag edges</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">for</span> (SVFIR::PAGEdgeList::iterator it = edges.begin(),</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; eit = edges.end(); it != eit; ++it)</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">PAGEdge</a>* edge = *it;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; llvm::json::Object edge_obj;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; edge_obj[<span class="stringliteral">&quot;Source Node&quot;</span>] = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; edge_obj[<span class="stringliteral">&quot;Destination Node&quot;</span>] = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; edge_obj[<span class="stringliteral">&quot;Source Type&quot;</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a54f0729c869b5061b5fb9fe056c326ef">getPAGNodeKindValue</a>(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()-&gt;getNodeKind());</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; edge_obj[<span class="stringliteral">&quot;Destination Type&quot;</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a54f0729c869b5061b5fb9fe056c326ef">getPAGNodeKindValue</a>(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()-&gt;getNodeKind());</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; edge_obj[<span class="stringliteral">&quot;Edge Type&quot;</span>] = <a class="code" href="classSVF_1_1ICFGPrinter.html#a38aa67e172459a72d8fc92a6172903be">getPAGEdgeKindValue</a>(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>());</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; edge_obj[<span class="stringliteral">&quot;srcValueName&quot;</span>] = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()-&gt;getValueName();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; edge_obj[<span class="stringliteral">&quot;dstValueName&quot;</span>] = edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()-&gt;getValueName();</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">if</span>(edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>()==<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ac2089ffeab3f27354b2094758c805746">PAGEdge::NormalGep</a>)</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1NormalGepStmt.html">NormalGepStmt</a>* gepEdge = SVFUtil::cast&lt;NormalGepStmt&gt;(edge);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; edge_obj[<span class="stringliteral">&quot;offset&quot;</span>] = gepEdge-&gt;<a class="code" href="classSVF_1_1NormalGepStmt.html#a904919192ddbd054381c3b863531ab10">getOffset</a>();</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> edge_value = llvm::json::Object{edge_obj};</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; PAGEdge_array.push_back(edge_value);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> PagEdge_value = llvm::json::Array{PAGEdge_array};</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;SVFIR Edges&quot;</span>] = PagEdge_value;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FunEntryBlockNode.html">FunEntryBlockNode</a>* <a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a> = SVFUtil::dyn_cast&lt;FunEntryBlockNode&gt;(node))</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>-&gt;getFun()))</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;isExtCall&quot;</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;isExtCall&quot;</span>] = <span class="keyword">false</span>;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;Source Location&quot;</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(<a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>-&gt;getFun()-&gt;getLLVMFun());</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;Function Name&quot;</span>] = <a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>-&gt;getFun()-&gt;getName();</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1FunExitBlockNode.html">FunExitBlockNode</a>* <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a> = SVFUtil::dyn_cast&lt;FunExitBlockNode&gt;(node))</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(<a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>-&gt;getFun()))</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;isExtCall&quot;</span>] = <span class="keyword">true</span>;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;isExtCall&quot;</span>] = <span class="keyword">false</span>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;Source Location&quot;</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(&amp;(<a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>-&gt;getFun()-&gt;getLLVMFun()-&gt;back()));</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;Function Name&quot;</span>] = <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>-&gt;getFun()-&gt;getName();</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a>* call = SVFUtil::dyn_cast&lt;CallBlockNode&gt;(node))</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;Source Location&quot;</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(call-&gt;getCallSite());</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1RetBlockNode.html">RetBlockNode</a>* ret = SVFUtil::dyn_cast&lt;RetBlockNode&gt;(node))</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;Source Location&quot;</span>] = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(ret-&gt;getCallSite());</div><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; <span class="keywordflow">else</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what else kinds of nodes do we have??&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; llvm::json::Array ICFGEdges_array;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="classSVF_1_1ICFGNode.html#a5a148eccec266a67e4ff5364d7268fff">ICFGNode::iterator</a> sit = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), esit = node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); sit!=esit; ++sit)</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_1ICFGEdge.html">ICFGEdge</a>* edge = *sit;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; llvm::json::Object ICFGEdge_obj;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;CallCFGEdge&gt;(edge))</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>* call = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>&gt;(edge);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFG Edge Type&quot;</span>] = <span class="stringliteral">&quot;CallCFGEdge&quot;</span>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFGEdgeSrcID&quot;</span>] = call-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFGEdgeDstID&quot;</span>] = call-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;RetCFGEdge&gt;(edge))</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>* call = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>&gt;(edge);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFG Edge Type&quot;</span>] = <span class="stringliteral">&quot;RetCFGEdge&quot;</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFGEdgeSrcID&quot;</span>] = call-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFGEdgeDstID&quot;</span>] = call-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;IntraCFGEdge&gt;(edge))</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>* intraCFGEdge = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>&gt;(edge);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFG Edge Type&quot;</span>] = <span class="stringliteral">&quot;IntraCFGEdge&quot;</span>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFGEdgeSrcID&quot;</span>] = intraCFGEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; ICFGEdge_obj[<span class="stringliteral">&quot;ICFGEdgeDstID&quot;</span>] = intraCFGEdge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGEdge_Val = llvm::json::Object{ICFGEdge_obj};</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; ICFGEdges_array.push_back(ICFGEdge_Val);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGEdges_val = llvm::json::Array{ICFGEdges_array};</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; ICFGNode_Obj[<span class="stringliteral">&quot;ICFGEdges&quot;</span>] = ICFGEdges_val;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> ICFGNode_val = llvm::json::Object{ICFGNode_Obj};</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; root_array.push_back(ICFGNode_val);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">llvm::json::Value</a> root_value = llvm::json::Array{root_array};</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="namespaceSVF.html#ac5a03512613828c2fab8930f38c2d485">llvm::json::operator&lt;&lt;</a>(F.os(),root_value);</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; F.os().close();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">if</span> (!F.os().has_error())</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; F.keep();</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;}</div><div class="ttc" id="classSVF_1_1ICFGEdge_html"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00042">ICFGEdge.h:42</a></div></div>
390
390
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00361">GenericGraph.h:361</a></div></div>
391
391
  <div class="ttc" id="classSVF_1_1GenericEdge_html_abe8525c542def8162b094c169a01993b"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">SVF::GenericEdge::getEdgeKind</a></div><div class="ttdeci">GEdgeKind getEdgeKind() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00081">GenericGraph.h:81</a></div></div>
392
392
  <div class="ttc" id="util_8h_html_a43b6ea6be735bb828bc062c70cadeff8"><div class="ttname"><a href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a></div><div class="ttdeci">VOID_OR_INT exit()</div></div>
393
393
  <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>
394
394
  <div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
395
+ <div class="ttc" id="classSVF_1_1NormalGepStmt_html_a904919192ddbd054381c3b863531ab10"><div class="ttname"><a href="classSVF_1_1NormalGepStmt.html#a904919192ddbd054381c3b863531ab10">SVF::NormalGepStmt::getOffset</a></div><div class="ttdeci">u32_t getOffset() const</div><div class="ttdoc">offset of the gep edge </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00739">SVFStatements.h:739</a></div></div>
395
396
  <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#l00202">GenericGraph.h:202</a></div></div>
396
397
  <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>
397
398
  <div class="ttc" id="classSVF_1_1GenericEdge_html_ae6792506a0150a9400d635eceab7f9e7"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::GenericEdge::getSrcID</a></div><div class="ttdeci">NodeID getSrcID() const</div><div class="ttdoc">get methods of the components </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00073">GenericGraph.h:73</a></div></div>
@@ -405,7 +406,6 @@ Additional Inherited Members</h2></td></tr>
405
406
  <div class="ttc" id="classSVF_1_1IntraCFGEdge_html"><div class="ttname"><a href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00111">ICFGEdge.h:111</a></div></div>
406
407
  <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00089">GenericGraph.h:89</a></div></div>
407
408
  <div class="ttc" id="classSVF_1_1SVFIR_html_ad0c6908c3e4ff83d0eb34906826d2a10"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ad0c6908c3e4ff83d0eb34906826d2a10">SVF::SVFIR::getInstPTAPAGEdgeList</a></div><div class="ttdeci">PAGEdgeList &amp; getInstPTAPAGEdgeList(const ICFGNode *inst)</div><div class="ttdoc">Given an instruction, get all its PTA PAGEdges. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00187">SVFIR.h:187</a></div></div>
408
- <div class="ttc" id="classSVF_1_1NormalGepPE_html"><div class="ttname"><a href="classSVF_1_1NormalGepPE.html">SVF::NormalGepPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00704">SVFStatements.h:704</a></div></div>
409
409
  <div class="ttc" id="classSVF_1_1RetBlockNode_html"><div class="ttname"><a href="classSVF_1_1RetBlockNode.html">SVF::RetBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00459">ICFGNode.h:459</a></div></div>
410
410
  <div class="ttc" id="namespaceSVF_html_acde6a1d496f1b655088ccbe023820277"><div class="ttname"><a href="namespaceSVF.html#acde6a1d496f1b655088ccbe023820277">SVF::ToolOutputFile</a></div><div class="ttdeci">llvm::ToolOutputFile ToolOutputFile</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00103">BasicTypes.h:103</a></div></div>
411
411
  <div class="ttc" id="classSVF_1_1FunExitBlockNode_html"><div class="ttname"><a href="classSVF_1_1FunExitBlockNode.html">SVF::FunExitBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00308">ICFGNode.h:308</a></div></div>
@@ -417,13 +417,13 @@ Additional Inherited Members</h2></td></tr>
417
417
  <div class="ttc" id="classSVF_1_1SVFIR_html_a896b591a710148fad7705a0d88652976"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a896b591a710148fad7705a0d88652976">SVF::SVFIR::PAGEdgeList</a></div><div class="ttdeci">std::vector&lt; const SVFStmt * &gt; PAGEdgeList</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00056">SVFIR.h:56</a></div></div>
418
418
  <div class="ttc" id="classSVF_1_1ICFGNode_html_a5a148eccec266a67e4ff5364d7268fff"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a5a148eccec266a67e4ff5364d7268fff">SVF::ICFGNode::iterator</a></div><div class="ttdeci">ICFGEdge::ICFGEdgeSetTy::iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00065">ICFGNode.h:65</a></div></div>
419
419
  <div class="ttc" id="namespaceSVF_html_ac5a03512613828c2fab8930f38c2d485"><div class="ttname"><a href="namespaceSVF.html#ac5a03512613828c2fab8930f38c2d485">SVF::operator&lt;&lt;</a></div><div class="ttdeci">raw_ostream &amp; operator&lt;&lt;(raw_ostream &amp;o, const std::pair&lt; F, S &gt; &amp;var)</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00335">BasicTypes.h:335</a></div></div>
420
+ <div class="ttc" id="classSVF_1_1NormalGepStmt_html"><div class="ttname"><a href="classSVF_1_1NormalGepStmt.html">SVF::NormalGepStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00704">SVFStatements.h:704</a></div></div>
420
421
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
421
422
  <div class="ttc" id="classSVF_1_1ICFGPrinter_html_a2c022308f9c7ae3bf33d9482fcb51e03"><div class="ttname"><a href="classSVF_1_1ICFGPrinter.html#a2c022308f9c7ae3bf33d9482fcb51e03">SVF::ICFGPrinter::getICFGKind</a></div><div class="ttdeci">std::string getICFGKind(const int kind)</div><div class="ttdef"><b>Definition:</b> <a href="Graph2Json_8cpp_source.html#l00143">Graph2Json.cpp:143</a></div></div>
422
423
  <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>
423
424
  <div class="ttc" id="cuddInt_8c_html_a936a27e51e66afb57c2b3a12d78a238e"><div class="ttname"><a href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a></div><div class="ttdeci">static int * entry</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l08422">cuddInt.c:8422</a></div></div>
424
425
  <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#l00206">GenericGraph.h:206</a></div></div>
425
426
  <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>
426
- <div class="ttc" id="classSVF_1_1NormalGepPE_html_a38ac1dd06ada0a04e13a038f8b69e3e5"><div class="ttname"><a href="classSVF_1_1NormalGepPE.html#a38ac1dd06ada0a04e13a038f8b69e3e5">SVF::NormalGepPE::getOffset</a></div><div class="ttdeci">u32_t getOffset() const</div><div class="ttdoc">offset of the gep edge </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00739">SVFStatements.h:739</a></div></div>
427
427
  <div class="ttc" id="classSVF_1_1ICFGPrinter_html_a54f0729c869b5061b5fb9fe056c326ef"><div class="ttname"><a href="classSVF_1_1ICFGPrinter.html#a54f0729c869b5061b5fb9fe056c326ef">SVF::ICFGPrinter::getPAGNodeKindValue</a></div><div class="ttdeci">std::string getPAGNodeKindValue(int kind)</div><div class="ttdef"><b>Definition:</b> <a href="Graph2Json_8cpp_source.html#l00168">Graph2Json.cpp:168</a></div></div>
428
428
  <div class="ttc" id="classSVF_1_1ICFGPrinter_html_a38aa67e172459a72d8fc92a6172903be"><div class="ttname"><a href="classSVF_1_1ICFGPrinter.html#a38aa67e172459a72d8fc92a6172903be">SVF::ICFGPrinter::getPAGEdgeKindValue</a></div><div class="ttdeci">std::string getPAGEdgeKindValue(int kind)</div><div class="ttdef"><b>Definition:</b> <a href="Graph2Json_8cpp_source.html#l00203">Graph2Json.cpp:203</a></div></div>
429
429
  <div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00078">BasicTypes.h:78</a></div></div>
@@ -71,8 +71,8 @@ $(function() {
71
71
  <table class="directory">
72
72
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a3c9e58dee18cde9a6e1575e34955af78">addCPtsToCallSiteMods</a>(NodeBS &amp;cpts, const CallBlockNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
73
73
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a77cf2b1959581da2b0cdf88291664ff3">addCPtsToCallSiteRefs</a>(NodeBS &amp;cpts, const CallBlockNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
74
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a4cd3d3af2cfad7b5c086f00ab8e68169">addCPtsToLoad</a>(NodeBS &amp;cpts, const LoadPE *ld, const SVFFunction *fun)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
75
- <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#aa9900773ce82da953385df2e6487200e">addCPtsToStore</a>(NodeBS &amp;cpts, const StorePE *st, const SVFFunction *fun)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
74
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a79a3032b50f7ef905213b770b12e0967">addCPtsToLoad</a>(NodeBS &amp;cpts, const LoadStmt *ld, const SVFFunction *fun)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
75
+ <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#af50efed3af17806a3ba3f668e4466d3e">addCPtsToStore</a>(NodeBS &amp;cpts, const StoreStmt *st, const SVFFunction *fun)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
76
76
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a8b00b46136ce2586b5f94248d0826a94">addModSideEffectOfCallSite</a>(const CallBlockNode *cs, const NodeBS &amp;mods)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
77
77
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a39604645ca9ba10607ada3872b14705a">addModSideEffectOfFunction</a>(const SVFFunction *fun, const NodeBS &amp;mods)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
78
78
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a4e02c3aee7eb0206f6d643b72e39d059">addRefSideEffectOfCallSite</a>(const CallBlockNode *cs, const NodeBS &amp;refs)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
@@ -100,7 +100,7 @@ $(function() {
100
100
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6">getFunction</a>(const PAGEdge *pagEdge) const</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
101
101
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a64ba36ddcd304f6543e416c552763879">getFunMRSet</a>(const SVFFunction *fun)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
102
102
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a1331e6f0941838064d77a5adaa5c6303">getFunToPointsToList</a>()</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
103
- <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a5cf5ae60ad6028809088f3c842afde9d">getLoadMRSet</a>(const LoadPE *load)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
103
+ <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a19da5768681a21c52a6c43761814a157">getLoadMRSet</a>(const LoadStmt *load)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
104
104
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#af0d1a34ce38e9b20ee6fc7b27fcd5198">getModInfoForCall</a>(const CallBlockNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
105
105
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a455e0ba173141ac8ce76a655ac52205f">getModRefInfo</a>(const CallBlockNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
106
106
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a9f1d1604fb884e5c99702556915396f9">getModRefInfo</a>(const CallBlockNode *cs, const Value *V)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
@@ -119,7 +119,7 @@ $(function() {
119
119
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#ae2cc7d7d6ab427acb0352b388c7a4acc">getRefSideEffectOfCallSite</a>(const CallBlockNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
120
120
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#ac0007c8808654ca74feef0d8568378b9">getRefSideEffectOfFunction</a>(const SVFFunction *fun)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
121
121
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a98b3481580be48cff7e93bf3c8a29dac">getRepPointsTo</a>(const NodeBS &amp;cpts) const</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
122
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#ac409bbee6bf9deef7e31233a05054ee2">getStoreMRSet</a>(const StorePE *store)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
122
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a364ad1e34d09a92cdc0cfe530c84880f">getStoreMRSet</a>(const StoreStmt *store)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
123
123
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a123a2ea51b04f1398b9ee66567f5014a">handleCallsiteModRef</a>(NodeBS &amp;mod, NodeBS &amp;ref, const CallBlockNode *cs, const SVFFunction *fun)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
124
124
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a1cb94c8a0379eb30c99f0c3cb2bfebaf">hasCPtsList</a>(const SVFFunction *fun) const</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
125
125
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a8868281e5f5b5f3a83acf8568971ad40">hasModMRSet</a>(const CallBlockNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -131,8 +131,8 @@ $(function() {
131
131
  <tr><td class="entry"><a class="el" href="classSVF_1_1InterDisjointMRG.html#a104134d0f7c8b16abe8f5f3899c3bbf0">inters</a></td><td class="entry"><a class="el" href="classSVF_1_1InterDisjointMRG.html">SVF::InterDisjointMRG</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
132
132
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#ae4bc9b653e15ce876579741e91a463ae">IntraDisjointMRG</a>(BVDataPTAImpl *p, bool ptrOnly)</td><td class="entry"><a class="el" href="classSVF_1_1IntraDisjointMRG.html">SVF::IntraDisjointMRG</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
133
133
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a28130cc55ab317d383ba6593f323b12a">isAliasedMR</a>(const NodeBS &amp;cpts, const MemRegion *mr)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
134
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a72f55ad36f4ce46c5eee4bf0ce736cee">LoadsToMRsMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
135
- <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a7b9b1c326d075a9be473680fef6a9616">LoadsToPointsToMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
134
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a273b2634adcfa10a08924517e8d51175">LoadsToMRsMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
135
+ <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#acfadd565b5c978c9417e059b3ea7588c">LoadsToPointsToMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
136
136
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">memRegSet</a></td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
137
137
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#adc9d530e6f010596d91cd3711dc1358b">modRefAnalysis</a>(PTACallGraphNode *callGraphNode, WorkList &amp;worklist)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
138
138
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#ac8fedbb65a582135354c939183d48f46">MRGenerator</a>(BVDataPTAImpl *p, bool ptrOnly)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
@@ -146,8 +146,8 @@ $(function() {
146
146
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">PtsToSubPtsMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1IntraDisjointMRG.html">SVF::IntraDisjointMRG</a></td><td class="entry"></td></tr>
147
147
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#af8d52e6c9884c6e1abc6dbcbc5e32629">SCC</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
148
148
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a66d94d15fb94e90a771f6b3dd7c0ecdd">sortPointsTo</a>(const NodeBS &amp;cpts)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
149
- <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a9d2221818297a7abeb8d8736093105d0">StoresToMRsMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
150
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a45e786ca09aa6cbfcf17d8e5a166a801">StoresToPointsToMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
149
+ <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#afacb458ca832ef459e873b7d90134a8c">StoresToMRsMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
150
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a357e1654e30b2f91f6ea30ea5a52e91d">StoresToPointsToMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
151
151
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a9c1da53188729eb743e1a33bbad87af7">updateAliasMRs</a>()</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
152
152
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a68d50c752252bd40c402c7b99b95f0fc">WorkList</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
153
153
  <tr><td class="entry"><a class="el" href="classSVF_1_1InterDisjointMRG.html#a664e831aa98e3c894e794273fbb78591">~InterDisjointMRG</a>()</td><td class="entry"><a class="el" href="classSVF_1_1InterDisjointMRG.html">SVF::InterDisjointMRG</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -124,10 +124,10 @@ Public Member Functions</h2></td></tr>
124
124
  <tr class="memitem:a64ba36ddcd304f6543e416c552763879 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a64ba36ddcd304f6543e416c552763879">getFunMRSet</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
125
125
  <tr class="memdesc:a64ba36ddcd304f6543e416c552763879 inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Memory Region set. <a href="classSVF_1_1MRGenerator.html#a64ba36ddcd304f6543e416c552763879">More...</a><br /></td></tr>
126
126
  <tr class="separator:a64ba36ddcd304f6543e416c552763879 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
127
- <tr class="memitem:a5cf5ae60ad6028809088f3c842afde9d inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a5cf5ae60ad6028809088f3c842afde9d">getLoadMRSet</a> (const <a class="el" href="classSVF_1_1LoadPE.html">LoadPE</a> *load)</td></tr>
128
- <tr class="separator:a5cf5ae60ad6028809088f3c842afde9d inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
129
- <tr class="memitem:ac409bbee6bf9deef7e31233a05054ee2 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ac409bbee6bf9deef7e31233a05054ee2">getStoreMRSet</a> (const <a class="el" href="classSVF_1_1StorePE.html">StorePE</a> *store)</td></tr>
130
- <tr class="separator:ac409bbee6bf9deef7e31233a05054ee2 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
127
+ <tr class="memitem:a19da5768681a21c52a6c43761814a157 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a19da5768681a21c52a6c43761814a157">getLoadMRSet</a> (const <a class="el" href="classSVF_1_1LoadStmt.html">LoadStmt</a> *load)</td></tr>
128
+ <tr class="separator:a19da5768681a21c52a6c43761814a157 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
129
+ <tr class="memitem:a364ad1e34d09a92cdc0cfe530c84880f inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a364ad1e34d09a92cdc0cfe530c84880f">getStoreMRSet</a> (const <a class="el" href="classSVF_1_1StoreStmt.html">StoreStmt</a> *store)</td></tr>
130
+ <tr class="separator:a364ad1e34d09a92cdc0cfe530c84880f inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
131
131
  <tr class="memitem:aeed8bcf54d2a72c640e464e256249630 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#aeed8bcf54d2a72c640e464e256249630">hasRefMRSet</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
132
132
  <tr class="separator:aeed8bcf54d2a72c640e464e256249630 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
133
  <tr class="memitem:a8868281e5f5b5f3a83acf8568971ad40 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a8868281e5f5b5f3a83acf8568971ad40">hasModMRSet</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
@@ -200,11 +200,11 @@ Protected Member Functions</h2></td></tr>
200
200
  <tr class="memitem:a123a2ea51b04f1398b9ee66567f5014a inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a123a2ea51b04f1398b9ee66567f5014a">handleCallsiteModRef</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;mod, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;ref, const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
201
201
  <tr class="memdesc:a123a2ea51b04f1398b9ee66567f5014a inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Mod-Ref of a callee function. <a href="classSVF_1_1MRGenerator.html#a123a2ea51b04f1398b9ee66567f5014a">More...</a><br /></td></tr>
202
202
  <tr class="separator:a123a2ea51b04f1398b9ee66567f5014a inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
203
- <tr class="memitem:aa9900773ce82da953385df2e6487200e inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#aa9900773ce82da953385df2e6487200e">addCPtsToStore</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts, const <a class="el" href="classSVF_1_1StorePE.html">StorePE</a> *st, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
204
- <tr class="memdesc:aa9900773ce82da953385df2e6487200e inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add cpts to store/load. <a href="classSVF_1_1MRGenerator.html#aa9900773ce82da953385df2e6487200e">More...</a><br /></td></tr>
205
- <tr class="separator:aa9900773ce82da953385df2e6487200e inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
206
- <tr class="memitem:a4cd3d3af2cfad7b5c086f00ab8e68169 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a4cd3d3af2cfad7b5c086f00ab8e68169">addCPtsToLoad</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts, const <a class="el" href="classSVF_1_1LoadPE.html">LoadPE</a> *ld, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
207
- <tr class="separator:a4cd3d3af2cfad7b5c086f00ab8e68169 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
203
+ <tr class="memitem:af50efed3af17806a3ba3f668e4466d3e inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#af50efed3af17806a3ba3f668e4466d3e">addCPtsToStore</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts, const <a class="el" href="classSVF_1_1StoreStmt.html">StoreStmt</a> *st, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
204
+ <tr class="memdesc:af50efed3af17806a3ba3f668e4466d3e inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add cpts to store/load. <a href="classSVF_1_1MRGenerator.html#af50efed3af17806a3ba3f668e4466d3e">More...</a><br /></td></tr>
205
+ <tr class="separator:af50efed3af17806a3ba3f668e4466d3e inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
206
+ <tr class="memitem:a79a3032b50f7ef905213b770b12e0967 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a79a3032b50f7ef905213b770b12e0967">addCPtsToLoad</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts, const <a class="el" href="classSVF_1_1LoadStmt.html">LoadStmt</a> *ld, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
207
+ <tr class="separator:a79a3032b50f7ef905213b770b12e0967 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
208
208
  <tr class="memitem:a77cf2b1959581da2b0cdf88291664ff3 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a77cf2b1959581da2b0cdf88291664ff3">addCPtsToCallSiteRefs</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts, const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
209
209
  <tr class="separator:a77cf2b1959581da2b0cdf88291664ff3 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
210
210
  <tr class="memitem:a3c9e58dee18cde9a6e1575e34955af78 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a3c9e58dee18cde9a6e1575e34955af78">addCPtsToCallSiteMods</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &amp;cpts, const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
@@ -287,17 +287,17 @@ Additional Inherited Members</h2></td></tr>
287
287
  <tr class="memitem:af8d52e6c9884c6e1abc6dbcbc5e32629 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1SCCDetection.html">SCCDetection</a>&lt; <a class="el" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#af8d52e6c9884c6e1abc6dbcbc5e32629">SCC</a></td></tr>
288
288
  <tr class="memdesc:af8d52e6c9884c6e1abc6dbcbc5e32629 inherit pub_types_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call Graph SCC. <a href="classSVF_1_1MRGenerator.html#af8d52e6c9884c6e1abc6dbcbc5e32629">More...</a><br /></td></tr>
289
289
  <tr class="separator:af8d52e6c9884c6e1abc6dbcbc5e32629 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
290
- <tr class="memitem:a72f55ad36f4ce46c5eee4bf0ce736cee inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1LoadPE.html">LoadPE</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a72f55ad36f4ce46c5eee4bf0ce736cee">LoadsToMRsMap</a></td></tr>
291
- <tr class="separator:a72f55ad36f4ce46c5eee4bf0ce736cee inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
292
- <tr class="memitem:a9d2221818297a7abeb8d8736093105d0 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1StorePE.html">StorePE</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a9d2221818297a7abeb8d8736093105d0">StoresToMRsMap</a></td></tr>
293
- <tr class="separator:a9d2221818297a7abeb8d8736093105d0 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
290
+ <tr class="memitem:a273b2634adcfa10a08924517e8d51175 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1LoadStmt.html">LoadStmt</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a273b2634adcfa10a08924517e8d51175">LoadsToMRsMap</a></td></tr>
291
+ <tr class="separator:a273b2634adcfa10a08924517e8d51175 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
292
+ <tr class="memitem:afacb458ca832ef459e873b7d90134a8c inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1StoreStmt.html">StoreStmt</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#afacb458ca832ef459e873b7d90134a8c">StoresToMRsMap</a></td></tr>
293
+ <tr class="separator:afacb458ca832ef459e873b7d90134a8c inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
294
294
  <tr class="memitem:a71b5ce2c754ffff5a84fdb0c3aa16819 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a71b5ce2c754ffff5a84fdb0c3aa16819">CallSiteToMRsMap</a></td></tr>
295
295
  <tr class="separator:a71b5ce2c754ffff5a84fdb0c3aa16819 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
296
- <tr class="memitem:a7b9b1c326d075a9be473680fef6a9616 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1LoadPE.html">LoadPE</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a7b9b1c326d075a9be473680fef6a9616">LoadsToPointsToMap</a></td></tr>
297
- <tr class="memdesc:a7b9b1c326d075a9be473680fef6a9616 inherit pub_types_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map loads/stores/callsites to their cpts set. <a href="classSVF_1_1MRGenerator.html#a7b9b1c326d075a9be473680fef6a9616">More...</a><br /></td></tr>
298
- <tr class="separator:a7b9b1c326d075a9be473680fef6a9616 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
299
- <tr class="memitem:a45e786ca09aa6cbfcf17d8e5a166a801 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1StorePE.html">StorePE</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a45e786ca09aa6cbfcf17d8e5a166a801">StoresToPointsToMap</a></td></tr>
300
- <tr class="separator:a45e786ca09aa6cbfcf17d8e5a166a801 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
296
+ <tr class="memitem:acfadd565b5c978c9417e059b3ea7588c inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1LoadStmt.html">LoadStmt</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#acfadd565b5c978c9417e059b3ea7588c">LoadsToPointsToMap</a></td></tr>
297
+ <tr class="memdesc:acfadd565b5c978c9417e059b3ea7588c inherit pub_types_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Map loads/stores/callsites to their cpts set. <a href="classSVF_1_1MRGenerator.html#acfadd565b5c978c9417e059b3ea7588c">More...</a><br /></td></tr>
298
+ <tr class="separator:acfadd565b5c978c9417e059b3ea7588c inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
299
+ <tr class="memitem:a357e1654e30b2f91f6ea30ea5a52e91d inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1StoreStmt.html">StoreStmt</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a357e1654e30b2f91f6ea30ea5a52e91d">StoresToPointsToMap</a></td></tr>
300
+ <tr class="separator:a357e1654e30b2f91f6ea30ea5a52e91d inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
301
301
  <tr class="memitem:a9d22e9d113393c536c5fe473fd76f388 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a9d22e9d113393c536c5fe473fd76f388">CallSiteToPointsToMap</a></td></tr>
302
302
  <tr class="separator:a9d22e9d113393c536c5fe473fd76f388 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
303
303
  <tr class="memitem:ab01e492f002c73e2c89eb0b4c8f9647d inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>&lt; const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ab01e492f002c73e2c89eb0b4c8f9647d">FunToNodeBSMap</a></td></tr>
@@ -71,8 +71,8 @@ $(function() {
71
71
  <table class="directory">
72
72
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a3c9e58dee18cde9a6e1575e34955af78">addCPtsToCallSiteMods</a>(NodeBS &amp;cpts, const CallBlockNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
73
73
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a77cf2b1959581da2b0cdf88291664ff3">addCPtsToCallSiteRefs</a>(NodeBS &amp;cpts, const CallBlockNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
74
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a4cd3d3af2cfad7b5c086f00ab8e68169">addCPtsToLoad</a>(NodeBS &amp;cpts, const LoadPE *ld, const SVFFunction *fun)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
75
- <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#aa9900773ce82da953385df2e6487200e">addCPtsToStore</a>(NodeBS &amp;cpts, const StorePE *st, const SVFFunction *fun)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
74
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a79a3032b50f7ef905213b770b12e0967">addCPtsToLoad</a>(NodeBS &amp;cpts, const LoadStmt *ld, const SVFFunction *fun)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
75
+ <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#af50efed3af17806a3ba3f668e4466d3e">addCPtsToStore</a>(NodeBS &amp;cpts, const StoreStmt *st, const SVFFunction *fun)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
76
76
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a8b00b46136ce2586b5f94248d0826a94">addModSideEffectOfCallSite</a>(const CallBlockNode *cs, const NodeBS &amp;mods)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
77
77
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a39604645ca9ba10607ada3872b14705a">addModSideEffectOfFunction</a>(const SVFFunction *fun, const NodeBS &amp;mods)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
78
78
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a4e02c3aee7eb0206f6d643b72e39d059">addRefSideEffectOfCallSite</a>(const CallBlockNode *cs, const NodeBS &amp;refs)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
@@ -103,7 +103,7 @@ $(function() {
103
103
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a64ba36ddcd304f6543e416c552763879">getFunMRSet</a>(const SVFFunction *fun)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
104
104
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a1331e6f0941838064d77a5adaa5c6303">getFunToPointsToList</a>()</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
105
105
  <tr><td class="entry"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">getIntersList</a>(const SVFFunction *func)</td><td class="entry"><a class="el" href="classSVF_1_1IntraDisjointMRG.html">SVF::IntraDisjointMRG</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
106
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a5cf5ae60ad6028809088f3c842afde9d">getLoadMRSet</a>(const LoadPE *load)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
106
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a19da5768681a21c52a6c43761814a157">getLoadMRSet</a>(const LoadStmt *load)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
107
107
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#af0d1a34ce38e9b20ee6fc7b27fcd5198">getModInfoForCall</a>(const CallBlockNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
108
108
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a455e0ba173141ac8ce76a655ac52205f">getModRefInfo</a>(const CallBlockNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
109
109
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a9f1d1604fb884e5c99702556915396f9">getModRefInfo</a>(const CallBlockNode *cs, const Value *V)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
@@ -124,7 +124,7 @@ $(function() {
124
124
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#ae2cc7d7d6ab427acb0352b388c7a4acc">getRefSideEffectOfCallSite</a>(const CallBlockNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
125
125
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#ac0007c8808654ca74feef0d8568378b9">getRefSideEffectOfFunction</a>(const SVFFunction *fun)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
126
126
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a98b3481580be48cff7e93bf3c8a29dac">getRepPointsTo</a>(const NodeBS &amp;cpts) const</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
127
- <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#ac409bbee6bf9deef7e31233a05054ee2">getStoreMRSet</a>(const StorePE *store)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
127
+ <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a364ad1e34d09a92cdc0cfe530c84880f">getStoreMRSet</a>(const StoreStmt *store)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
128
128
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a123a2ea51b04f1398b9ee66567f5014a">handleCallsiteModRef</a>(NodeBS &amp;mod, NodeBS &amp;ref, const CallBlockNode *cs, const SVFFunction *fun)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
129
129
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a1cb94c8a0379eb30c99f0c3cb2bfebaf">hasCPtsList</a>(const SVFFunction *fun) const</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
130
130
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a8868281e5f5b5f3a83acf8568971ad40">hasModMRSet</a>(const CallBlockNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -134,8 +134,8 @@ $(function() {
134
134
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#ac91b6f0f33a95ba35cc23e0e4657732a">hasRefSideEffectOfCallSite</a>(const CallBlockNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
135
135
  <tr><td class="entry"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#ae4bc9b653e15ce876579741e91a463ae">IntraDisjointMRG</a>(BVDataPTAImpl *p, bool ptrOnly)</td><td class="entry"><a class="el" href="classSVF_1_1IntraDisjointMRG.html">SVF::IntraDisjointMRG</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
136
136
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a28130cc55ab317d383ba6593f323b12a">isAliasedMR</a>(const NodeBS &amp;cpts, const MemRegion *mr)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
137
- <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a72f55ad36f4ce46c5eee4bf0ce736cee">LoadsToMRsMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
138
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a7b9b1c326d075a9be473680fef6a9616">LoadsToPointsToMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
137
+ <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a273b2634adcfa10a08924517e8d51175">LoadsToMRsMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
138
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#acfadd565b5c978c9417e059b3ea7588c">LoadsToPointsToMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
139
139
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">memRegSet</a></td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
140
140
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#adc9d530e6f010596d91cd3711dc1358b">modRefAnalysis</a>(PTACallGraphNode *callGraphNode, WorkList &amp;worklist)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
141
141
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#ac8fedbb65a582135354c939183d48f46">MRGenerator</a>(BVDataPTAImpl *p, bool ptrOnly)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
@@ -149,8 +149,8 @@ $(function() {
149
149
  <tr><td class="entry"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">PtsToSubPtsMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1IntraDisjointMRG.html">SVF::IntraDisjointMRG</a></td><td class="entry"></td></tr>
150
150
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#af8d52e6c9884c6e1abc6dbcbc5e32629">SCC</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
151
151
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a66d94d15fb94e90a771f6b3dd7c0ecdd">sortPointsTo</a>(const NodeBS &amp;cpts)</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
152
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a9d2221818297a7abeb8d8736093105d0">StoresToMRsMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
153
- <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a45e786ca09aa6cbfcf17d8e5a166a801">StoresToPointsToMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
152
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#afacb458ca832ef459e873b7d90134a8c">StoresToMRsMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
153
+ <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a357e1654e30b2f91f6ea30ea5a52e91d">StoresToPointsToMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
154
154
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a9c1da53188729eb743e1a33bbad87af7">updateAliasMRs</a>()</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
155
155
  <tr><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html#a68d50c752252bd40c402c7b99b95f0fc">WorkList</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td><td class="entry"></td></tr>
156
156
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#ad92695f6ff2cb62f58b48d68b0b6fb0e">~IntraDisjointMRG</a>()</td><td class="entry"><a class="el" href="classSVF_1_1IntraDisjointMRG.html">SVF::IntraDisjointMRG</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>