svf-tools 1.0.317 → 1.0.321

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 (547) hide show
  1. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +6 -6
  2. package/SVF-doxygen/html/html/Andersen_8cpp.html +1 -1
  3. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +4 -4
  4. package/SVF-doxygen/html/html/Andersen_8h_source.html +1 -1
  5. package/SVF-doxygen/html/html/CHGBuilder_8cpp.html +138 -0
  6. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +178 -0
  7. package/SVF-doxygen/html/html/CHGBuilder_8h.html +95 -0
  8. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +109 -0
  9. package/SVF-doxygen/html/html/CHG_8cpp.html +10 -64
  10. package/SVF-doxygen/html/html/CHG_8cpp_source.html +31 -108
  11. package/SVF-doxygen/html/html/CHG_8h.html +9 -3
  12. package/SVF-doxygen/html/html/CHG_8h_source.html +82 -76
  13. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +37 -33
  14. package/SVF-doxygen/html/html/ConsG_8h_source.html +32 -32
  15. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
  16. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +3 -3
  17. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +2 -2
  18. package/SVF-doxygen/html/html/DCHG_8h.html +1 -1
  19. package/SVF-doxygen/html/html/DCHG_8h_source.html +8 -8
  20. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +5 -5
  21. package/SVF-doxygen/html/html/DDAClient_8h_source.html +2 -2
  22. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +5 -5
  23. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +4 -4
  24. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +12 -12
  25. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +1 -1
  26. package/SVF-doxygen/html/html/ExternalPAG_8cpp.html +1 -1
  27. package/SVF-doxygen/html/html/ExternalPAG_8cpp_source.html +22 -22
  28. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +1 -1
  29. package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
  30. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
  31. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +4 -4
  32. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +7 -7
  33. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +11 -11
  34. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +3 -3
  35. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +16 -16
  36. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +6 -6
  37. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +3 -3
  39. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +2 -2
  40. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +1 -1
  41. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +4 -4
  42. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  43. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +1 -1
  44. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +20 -21
  45. package/SVF-doxygen/html/html/IRGraph_8h_source.html +37 -40
  46. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +4 -4
  47. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -2
  48. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +6 -6
  49. package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
  50. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +18 -18
  51. package/SVF-doxygen/html/html/MemRegion_8h_source.html +2 -2
  52. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +3 -3
  53. package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
  54. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
  55. package/SVF-doxygen/html/html/OfflineConsG_8h_source.html +1 -1
  56. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +3 -3
  57. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +1 -1
  58. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  59. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +11 -11
  60. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +13 -13
  61. package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +5 -5
  62. package/SVF-doxygen/html/html/PointerAnalysis_8cpp.html +1 -2
  63. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +30 -33
  64. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +31 -31
  65. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +1 -1
  66. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +4 -4
  67. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +1 -1
  68. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +9 -9
  69. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +48 -48
  70. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +36 -36
  71. package/SVF-doxygen/html/html/SVFG_8h_source.html +25 -25
  72. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp.html +0 -1
  73. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +5 -6
  74. package/SVF-doxygen/html/html/SVFIRBuilder_8h.html +1 -7
  75. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +90 -85
  76. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +70 -62
  77. package/SVF-doxygen/html/html/SVFIR_8h_source.html +168 -182
  78. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +39 -23
  79. package/SVF-doxygen/html/html/SVFStatements_8h.html +6 -0
  80. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +146 -94
  81. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +2 -2
  82. package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
  83. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +5 -5
  84. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +1 -1
  85. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +1 -1
  86. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  87. package/SVF-doxygen/html/html/TCT_8cpp_source.html +1 -1
  88. package/SVF-doxygen/html/html/TCT_8h_source.html +1 -1
  89. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  90. package/SVF-doxygen/html/html/TypeAnalysis_8cpp.html +1 -1
  91. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +9 -9
  92. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +7 -7
  93. package/SVF-doxygen/html/html/VFGEdge_8h_source.html +1 -1
  94. package/SVF-doxygen/html/html/VFGNode_8h.html +2 -0
  95. package/SVF-doxygen/html/html/VFGNode_8h_source.html +143 -126
  96. package/SVF-doxygen/html/html/VFG_8cpp_source.html +136 -129
  97. package/SVF-doxygen/html/html/VFG_8h_source.html +144 -133
  98. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +6 -6
  99. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
  100. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
  101. package/SVF-doxygen/html/html/annotated.html +265 -261
  102. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode-members.html +75 -74
  103. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +10 -9
  104. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode-members.html +75 -74
  105. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +10 -9
  106. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode-members.html +73 -72
  107. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +31 -30
  108. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode-members.html +75 -74
  109. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +35 -34
  110. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge-members.html +1 -1
  111. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +5 -5
  112. package/SVF-doxygen/html/html/classSVF_1_1AddrPE-members.html +42 -39
  113. package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +27 -22
  114. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode-members.html +77 -76
  115. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +23 -22
  116. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
  117. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +18 -18
  118. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +8 -8
  119. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
  120. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +6 -6
  121. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode-members.html +69 -68
  122. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +30 -29
  123. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +20 -20
  124. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE-members.html +49 -28
  125. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +295 -34
  126. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.png +0 -0
  127. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode-members.html +76 -75
  128. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +12 -11
  129. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +70 -22
  130. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +633 -89
  131. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.png +0 -0
  132. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode-members.html +164 -0
  133. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +694 -0
  134. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.png +0 -0
  135. package/SVF-doxygen/html/html/classSVF_1_1CHEdge-members.html +1 -1
  136. package/SVF-doxygen/html/html/classSVF_1_1CHEdge.html +15 -15
  137. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder-members.html +100 -0
  138. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +777 -0
  139. package/SVF-doxygen/html/html/classSVF_1_1CHGraph-members.html +31 -46
  140. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +103 -651
  141. package/SVF-doxygen/html/html/classSVF_1_1CHNode.html +54 -54
  142. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge-members.html +1 -1
  143. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +2 -2
  144. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge-members.html +1 -1
  145. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +4 -4
  146. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge-members.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +2 -2
  148. package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +48 -45
  149. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +33 -28
  150. package/SVF-doxygen/html/html/classSVF_1_1CmpPE-members.html +49 -28
  151. package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +295 -34
  152. package/SVF-doxygen/html/html/classSVF_1_1CmpPE.png +0 -0
  153. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode-members.html +79 -78
  154. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +13 -12
  155. package/SVF-doxygen/html/html/classSVF_1_1CommonCHGraph.html +11 -11
  156. package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +6 -6
  157. package/SVF-doxygen/html/html/classSVF_1_1ConstraintEdge-members.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1ConstraintEdge.html +2 -2
  159. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +90 -86
  160. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +7 -7
  161. package/SVF-doxygen/html/html/classSVF_1_1CopyCGEdge-members.html +1 -1
  162. package/SVF-doxygen/html/html/classSVF_1_1CopyCGEdge.html +2 -2
  163. package/SVF-doxygen/html/html/classSVF_1_1CopyPE-members.html +45 -42
  164. package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +27 -22
  165. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode-members.html +80 -79
  166. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +11 -10
  167. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge-members.html +1 -1
  168. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +2 -2
  169. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +6 -6
  170. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
  171. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +7 -7
  172. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +4 -4
  173. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +14 -14
  174. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge-members.html +1 -1
  175. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +4 -4
  176. package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode-members.html +72 -71
  177. package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +10 -9
  178. package/SVF-doxygen/html/html/classSVF_1_1ExternalPAG.html +22 -22
  179. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +1 -1
  180. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +5 -5
  181. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +22 -22
  182. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +9 -9
  183. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +14 -14
  184. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode-members.html +76 -75
  185. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +10 -9
  186. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode-members.html +76 -75
  187. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +10 -9
  188. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode-members.html +76 -75
  189. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +38 -37
  190. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode-members.html +79 -78
  191. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +38 -37
  192. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +4 -4
  193. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge-members.html +1 -1
  194. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +11 -11
  195. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.png +0 -0
  196. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +8 -7
  197. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  198. package/SVF-doxygen/html/html/classSVF_1_1GepCGEdge-members.html +1 -1
  199. package/SVF-doxygen/html/html/classSVF_1_1GepCGEdge.html +2 -2
  200. package/SVF-doxygen/html/html/classSVF_1_1GepPE-members.html +45 -42
  201. package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +22 -17
  202. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode-members.html +80 -79
  203. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +23 -22
  204. package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge-members.html +1 -1
  205. package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge.html +2 -2
  206. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge-members.html +1 -1
  207. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +2 -2
  208. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +4 -4
  209. package/SVF-doxygen/html/html/classSVF_1_1IRGraph-members.html +36 -37
  210. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +149 -163
  211. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge-members.html +1 -1
  212. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +2 -2
  213. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode-members.html +88 -87
  214. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +10 -9
  215. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode-members.html +86 -85
  216. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +46 -45
  217. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge-members.html +1 -1
  218. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +2 -2
  219. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge-members.html +1 -1
  220. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +4 -4
  221. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge-members.html +1 -1
  222. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +2 -2
  223. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode-members.html +85 -84
  224. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +10 -9
  225. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode-members.html +84 -83
  226. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +33 -32
  227. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +5 -5
  228. package/SVF-doxygen/html/html/classSVF_1_1LoadCGEdge-members.html +1 -1
  229. package/SVF-doxygen/html/html/classSVF_1_1LoadCGEdge.html +2 -2
  230. package/SVF-doxygen/html/html/classSVF_1_1LoadPE-members.html +45 -42
  231. package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +27 -22
  232. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode-members.html +80 -79
  233. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +11 -10
  234. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +24 -24
  235. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode-members.html +70 -69
  236. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +10 -9
  237. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode-members.html +81 -80
  238. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +10 -9
  239. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +1 -1
  240. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -6
  241. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +2 -2
  242. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +9 -9
  243. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +143 -0
  244. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +669 -0
  245. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.png +0 -0
  246. package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge-members.html +1 -1
  247. package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge.html +2 -2
  248. package/SVF-doxygen/html/html/classSVF_1_1NormalGepPE-members.html +47 -44
  249. package/SVF-doxygen/html/html/classSVF_1_1NormalGepPE.html +34 -29
  250. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode-members.html +66 -65
  251. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +37 -36
  252. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +6 -6
  253. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +17 -16
  254. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode-members.html +77 -76
  255. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +44 -43
  256. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge-members.html +1 -1
  257. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +2 -2
  258. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +11 -11
  259. package/SVF-doxygen/html/html/classSVF_1_1PhiPE-members.html +153 -0
  260. package/SVF-doxygen/html/html/classSVF_1_1PhiPE.html +717 -0
  261. package/SVF-doxygen/html/html/classSVF_1_1PhiPE.png +0 -0
  262. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +77 -79
  263. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +2 -2
  264. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge-members.html +1 -1
  265. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +2 -2
  266. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge-members.html +1 -1
  267. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +4 -4
  268. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge-members.html +1 -1
  269. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +2 -2
  270. package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +48 -45
  271. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +33 -28
  272. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +90 -86
  273. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +81 -71
  274. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +16 -16
  275. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +105 -101
  276. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +149 -138
  277. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +106 -119
  278. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +621 -1090
  279. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +14 -12
  280. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +401 -288
  281. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt-members.html +41 -35
  282. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +174 -37
  283. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.png +0 -0
  284. package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +1 -1
  285. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +14 -14
  286. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +2 -2
  287. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode-members.html +76 -75
  288. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +14 -13
  289. package/SVF-doxygen/html/html/classSVF_1_1StoreCGEdge-members.html +1 -1
  290. package/SVF-doxygen/html/html/classSVF_1_1StoreCGEdge.html +2 -2
  291. package/SVF-doxygen/html/html/classSVF_1_1StorePE-members.html +45 -42
  292. package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +27 -22
  293. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode-members.html +80 -79
  294. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +11 -10
  295. package/SVF-doxygen/html/html/classSVF_1_1TCTEdge-members.html +1 -1
  296. package/SVF-doxygen/html/html/classSVF_1_1TCTEdge.html +2 -2
  297. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +49 -46
  298. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +22 -17
  299. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +49 -46
  300. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +22 -17
  301. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +2 -2
  302. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge-members.html +1 -1
  303. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +2 -2
  304. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge-members.html +1 -1
  305. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +2 -2
  306. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge-members.html +1 -1
  307. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +2 -2
  308. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +12 -12
  309. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +9 -9
  310. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE-members.html +56 -43
  311. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE.html +329 -30
  312. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode-members.html +34 -32
  313. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +63 -30
  314. package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +52 -48
  315. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +515 -441
  316. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge-members.html +1 -1
  317. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +4 -4
  318. package/SVF-doxygen/html/html/classSVF_1_1VFGNode-members.html +65 -64
  319. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +22 -18
  320. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.png +0 -0
  321. package/SVF-doxygen/html/html/classSVF_1_1VariantGepCGEdge-members.html +1 -1
  322. package/SVF-doxygen/html/html/classSVF_1_1VariantGepCGEdge.html +2 -2
  323. package/SVF-doxygen/html/html/classSVF_1_1VariantGepPE-members.html +47 -44
  324. package/SVF-doxygen/html/html/classSVF_1_1VariantGepPE.html +28 -23
  325. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +11 -11
  326. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +7 -7
  327. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +8 -8
  328. package/SVF-doxygen/html/html/classes.html +95 -94
  329. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  330. package/SVF-doxygen/html/html/dir_1870ebf480d659cc38d2dd7ac3aa8993.html +2 -2
  331. package/SVF-doxygen/html/html/dir_5840dc76920ee0f379cd88b55fa041fd.html +1 -1
  332. package/SVF-doxygen/html/html/dir_770a542efe75a1b68c109cb4e4290224.html +1 -3
  333. package/SVF-doxygen/html/html/dir_fa02919a30fec2d2c2d591b4d920d648.html +2 -2
  334. package/SVF-doxygen/html/html/files.html +18 -19
  335. package/SVF-doxygen/html/html/functions_0x7e.html +0 -3
  336. package/SVF-doxygen/html/html/functions_a.html +35 -36
  337. package/SVF-doxygen/html/html/functions_b.html +24 -17
  338. package/SVF-doxygen/html/html/functions_c.html +44 -43
  339. package/SVF-doxygen/html/html/functions_d.html +0 -3
  340. package/SVF-doxygen/html/html/functions_e.html +7 -9
  341. package/SVF-doxygen/html/html/functions_eval_b.html +4 -0
  342. package/SVF-doxygen/html/html/functions_eval_p.html +3 -0
  343. package/SVF-doxygen/html/html/functions_f.html +6 -15
  344. package/SVF-doxygen/html/html/functions_func.html +40 -38
  345. package/SVF-doxygen/html/html/functions_func_0x7e.html +0 -3
  346. package/SVF-doxygen/html/html/functions_func_b.html +14 -8
  347. package/SVF-doxygen/html/html/functions_func_c.html +32 -28
  348. package/SVF-doxygen/html/html/functions_func_d.html +0 -3
  349. package/SVF-doxygen/html/html/functions_func_e.html +0 -3
  350. package/SVF-doxygen/html/html/functions_func_g.html +92 -60
  351. package/SVF-doxygen/html/html/functions_func_h.html +3 -9
  352. package/SVF-doxygen/html/html/functions_func_i.html +12 -16
  353. package/SVF-doxygen/html/html/functions_func_m.html +6 -0
  354. package/SVF-doxygen/html/html/functions_func_o.html +11 -4
  355. package/SVF-doxygen/html/html/functions_func_p.html +6 -6
  356. package/SVF-doxygen/html/html/functions_func_r.html +3 -4
  357. package/SVF-doxygen/html/html/functions_func_s.html +6 -9
  358. package/SVF-doxygen/html/html/functions_func_t.html +14 -11
  359. package/SVF-doxygen/html/html/functions_g.html +91 -59
  360. package/SVF-doxygen/html/html/functions_h.html +2 -11
  361. package/SVF-doxygen/html/html/functions_i.html +12 -16
  362. package/SVF-doxygen/html/html/functions_l.html +6 -6
  363. package/SVF-doxygen/html/html/functions_m.html +9 -0
  364. package/SVF-doxygen/html/html/functions_n.html +6 -6
  365. package/SVF-doxygen/html/html/functions_o.html +31 -16
  366. package/SVF-doxygen/html/html/functions_p.html +23 -18
  367. package/SVF-doxygen/html/html/functions_r.html +4 -8
  368. package/SVF-doxygen/html/html/functions_rela.html +3 -0
  369. package/SVF-doxygen/html/html/functions_s.html +14 -16
  370. package/SVF-doxygen/html/html/functions_t.html +18 -15
  371. package/SVF-doxygen/html/html/functions_type_b.html +0 -6
  372. package/SVF-doxygen/html/html/functions_type_c.html +2 -7
  373. package/SVF-doxygen/html/html/functions_type_o.html +3 -0
  374. package/SVF-doxygen/html/html/functions_type_p.html +4 -1
  375. package/SVF-doxygen/html/html/functions_type_u.html +0 -6
  376. package/SVF-doxygen/html/html/functions_type_v.html +3 -0
  377. package/SVF-doxygen/html/html/functions_type_w.html +1 -0
  378. package/SVF-doxygen/html/html/functions_u.html +4 -13
  379. package/SVF-doxygen/html/html/functions_v.html +8 -5
  380. package/SVF-doxygen/html/html/functions_vars_a.html +0 -3
  381. package/SVF-doxygen/html/html/functions_vars_b.html +6 -3
  382. package/SVF-doxygen/html/html/functions_vars_c.html +5 -4
  383. package/SVF-doxygen/html/html/functions_vars_e.html +1 -2
  384. package/SVF-doxygen/html/html/functions_vars_f.html +0 -9
  385. package/SVF-doxygen/html/html/functions_vars_h.html +0 -3
  386. package/SVF-doxygen/html/html/functions_vars_m.html +3 -0
  387. package/SVF-doxygen/html/html/functions_vars_o.html +8 -3
  388. package/SVF-doxygen/html/html/functions_vars_p.html +3 -0
  389. package/SVF-doxygen/html/html/functions_vars_r.html +0 -3
  390. package/SVF-doxygen/html/html/functions_vars_s.html +3 -0
  391. package/SVF-doxygen/html/html/functions_vars_u.html +0 -3
  392. package/SVF-doxygen/html/html/functions_vars_v.html +3 -3
  393. package/SVF-doxygen/html/html/functions_w.html +9 -4
  394. package/SVF-doxygen/html/html/globals_d.html +0 -4
  395. package/SVF-doxygen/html/html/globals_e.html +6 -9
  396. package/SVF-doxygen/html/html/globals_func_d.html +0 -3
  397. package/SVF-doxygen/html/html/globals_func_e.html +6 -9
  398. package/SVF-doxygen/html/html/globals_func_g.html +2 -5
  399. package/SVF-doxygen/html/html/globals_g.html +0 -3
  400. package/SVF-doxygen/html/html/globals_o.html +0 -9
  401. package/SVF-doxygen/html/html/globals_p.html +1 -1
  402. package/SVF-doxygen/html/html/globals_r.html +3 -3
  403. package/SVF-doxygen/html/html/globals_s.html +3 -3
  404. package/SVF-doxygen/html/html/globals_vars.html +2 -5
  405. package/SVF-doxygen/html/html/globals_z.html +1 -1
  406. package/SVF-doxygen/html/html/hierarchy.html +105 -101
  407. package/SVF-doxygen/html/html/menudata.js +0 -1
  408. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  409. package/SVF-doxygen/html/html/namespaceSVF.html +27 -37
  410. package/SVF-doxygen/html/html/namespacemembers_p.html +0 -3
  411. package/SVF-doxygen/html/html/namespacemembers_type_p.html +0 -3
  412. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  413. package/SVF-doxygen/html/html/search/all_1.js +20 -21
  414. package/SVF-doxygen/html/html/search/all_10.js +11 -10
  415. package/SVF-doxygen/html/html/search/all_12.js +6 -7
  416. package/SVF-doxygen/html/html/search/all_13.js +13 -13
  417. package/SVF-doxygen/html/html/search/all_14.js +3 -3
  418. package/SVF-doxygen/html/html/search/all_15.js +2 -4
  419. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  420. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  421. package/SVF-doxygen/html/html/search/all_1a.js +1 -1
  422. package/SVF-doxygen/html/html/search/all_1b.js +0 -1
  423. package/SVF-doxygen/html/html/search/all_2.js +13 -10
  424. package/SVF-doxygen/html/html/search/all_3.js +15 -15
  425. package/SVF-doxygen/html/html/search/all_4.js +2 -4
  426. package/SVF-doxygen/html/html/search/all_5.js +3 -6
  427. package/SVF-doxygen/html/html/search/all_6.js +1 -4
  428. package/SVF-doxygen/html/html/search/all_7.js +34 -34
  429. package/SVF-doxygen/html/html/search/all_8.js +2 -5
  430. package/SVF-doxygen/html/html/search/all_9.js +4 -5
  431. package/SVF-doxygen/html/html/search/all_b.js +1 -1
  432. package/SVF-doxygen/html/html/search/all_c.js +3 -3
  433. package/SVF-doxygen/html/html/search/all_d.js +6 -3
  434. package/SVF-doxygen/html/html/search/all_e.js +6 -6
  435. package/SVF-doxygen/html/html/search/all_f.js +7 -8
  436. package/SVF-doxygen/html/html/search/classes_1.js +2 -0
  437. package/SVF-doxygen/html/html/search/classes_2.js +1 -0
  438. package/SVF-doxygen/html/html/search/classes_4.js +1 -2
  439. package/SVF-doxygen/html/html/search/classes_a.js +1 -0
  440. package/SVF-doxygen/html/html/search/classes_d.js +1 -0
  441. package/SVF-doxygen/html/html/search/enumvalues_1.js +1 -0
  442. package/SVF-doxygen/html/html/search/enumvalues_d.js +1 -0
  443. package/SVF-doxygen/html/html/search/files_2.js +2 -1
  444. package/SVF-doxygen/html/html/search/files_4.js +1 -3
  445. package/SVF-doxygen/html/html/search/functions_0.js +20 -20
  446. package/SVF-doxygen/html/html/search/functions_1.js +10 -8
  447. package/SVF-doxygen/html/html/search/functions_10.js +2 -3
  448. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  449. package/SVF-doxygen/html/html/search/functions_12.js +1 -1
  450. package/SVF-doxygen/html/html/search/functions_13.js +1 -1
  451. package/SVF-doxygen/html/html/search/functions_16.js +0 -1
  452. package/SVF-doxygen/html/html/search/functions_2.js +8 -8
  453. package/SVF-doxygen/html/html/search/functions_3.js +2 -4
  454. package/SVF-doxygen/html/html/search/functions_4.js +0 -2
  455. package/SVF-doxygen/html/html/search/functions_6.js +34 -34
  456. package/SVF-doxygen/html/html/search/functions_7.js +2 -4
  457. package/SVF-doxygen/html/html/search/functions_8.js +3 -4
  458. package/SVF-doxygen/html/html/search/functions_b.js +2 -0
  459. package/SVF-doxygen/html/html/search/functions_d.js +4 -6
  460. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  461. package/SVF-doxygen/html/html/search/functions_f.js +2 -2
  462. package/SVF-doxygen/html/html/search/related_0.js +1 -2
  463. package/SVF-doxygen/html/html/search/related_1.js +2 -1
  464. package/SVF-doxygen/html/html/search/related_2.js +1 -1
  465. package/SVF-doxygen/html/html/search/related_3.js +1 -2
  466. package/SVF-doxygen/html/html/search/related_4.js +2 -1
  467. package/SVF-doxygen/html/html/search/related_5.js +1 -4
  468. package/SVF-doxygen/html/html/search/related_6.js +4 -1
  469. package/SVF-doxygen/html/html/search/related_7.js +1 -5
  470. package/SVF-doxygen/html/html/search/related_8.js +5 -2
  471. package/SVF-doxygen/html/html/search/related_9.js +2 -1
  472. package/SVF-doxygen/html/html/search/related_a.html +26 -0
  473. package/SVF-doxygen/html/html/search/related_a.js +4 -0
  474. package/SVF-doxygen/html/html/search/searchdata.js +1 -1
  475. package/SVF-doxygen/html/html/search/typedefs_1.js +0 -2
  476. package/SVF-doxygen/html/html/search/typedefs_13.js +0 -2
  477. package/SVF-doxygen/html/html/search/typedefs_14.js +1 -0
  478. package/SVF-doxygen/html/html/search/typedefs_15.js +1 -1
  479. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -3
  480. package/SVF-doxygen/html/html/search/typedefs_d.js +2 -2
  481. package/SVF-doxygen/html/html/search/typedefs_e.js +1 -0
  482. package/SVF-doxygen/html/html/search/typedefs_f.js +2 -2
  483. package/SVF-doxygen/html/html/search/variables_1.js +0 -1
  484. package/SVF-doxygen/html/html/search/variables_10.js +2 -1
  485. package/SVF-doxygen/html/html/search/variables_12.js +0 -1
  486. package/SVF-doxygen/html/html/search/variables_13.js +2 -1
  487. package/SVF-doxygen/html/html/search/variables_14.js +1 -1
  488. package/SVF-doxygen/html/html/search/variables_15.js +1 -2
  489. package/SVF-doxygen/html/html/search/variables_16.js +1 -1
  490. package/SVF-doxygen/html/html/search/variables_1a.js +1 -1
  491. package/SVF-doxygen/html/html/search/variables_2.js +2 -1
  492. package/SVF-doxygen/html/html/search/variables_3.js +2 -2
  493. package/SVF-doxygen/html/html/search/variables_4.js +0 -1
  494. package/SVF-doxygen/html/html/search/variables_5.js +1 -1
  495. package/SVF-doxygen/html/html/search/variables_6.js +1 -4
  496. package/SVF-doxygen/html/html/search/variables_8.js +0 -1
  497. package/SVF-doxygen/html/html/search/variables_b.js +1 -1
  498. package/SVF-doxygen/html/html/search/variables_d.js +2 -1
  499. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  500. package/SVF-doxygen/html/html/search/variables_f.js +2 -1
  501. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +14 -14
  502. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +16 -16
  503. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +1 -1
  504. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +18 -18
  505. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +11 -11
  506. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +29 -29
  507. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.html +2 -2
  508. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.html +1 -1
  509. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.html +1 -1
  510. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html +3 -3
  511. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CHNode_01_5_01_4.html +2 -2
  512. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.html +2 -2
  513. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.html +1 -1
  514. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.html +1 -1
  515. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFG_01_5_01_4.html +2 -2
  516. package/SVF-doxygen/html/html/svf-ex_8cpp.html +5 -6
  517. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +5 -5
  518. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  519. package/include/{SVF-FE → Graphs}/CHG.h +37 -20
  520. package/include/Graphs/GenericGraph.h +1 -1
  521. package/include/Graphs/IRGraph.h +6 -15
  522. package/include/Graphs/SVFGOPT.h +3 -2
  523. package/include/Graphs/VFG.h +42 -41
  524. package/include/Graphs/VFGNode.h +60 -7
  525. package/include/MemoryModel/SVFIR.h +93 -159
  526. package/include/MemoryModel/SVFStatements.h +253 -21
  527. package/include/SVF-FE/CHGBuilder.h +69 -0
  528. package/include/SVF-FE/DCHG.h +1 -1
  529. package/include/SVF-FE/SVFIRBuilder.h +21 -8
  530. package/lib/Graphs/CHG.cpp +280 -0
  531. package/lib/Graphs/ConsG.cpp +9 -0
  532. package/lib/Graphs/IRGraph.cpp +23 -8
  533. package/lib/Graphs/VFG.cpp +45 -19
  534. package/lib/MSSA/SVFGBuilder.cpp +3 -2
  535. package/lib/MemoryModel/PAGBuilderFromFile.cpp +9 -3
  536. package/lib/MemoryModel/PointerAnalysis.cpp +3 -5
  537. package/lib/MemoryModel/SVFIR.cpp +68 -12
  538. package/lib/MemoryModel/SVFStatements.cpp +65 -4
  539. package/lib/SVF-FE/{CHG.cpp → CHGBuilder.cpp} +82 -324
  540. package/lib/SVF-FE/SVFIRBuilder.cpp +58 -57
  541. package/lib/WPA/Andersen.cpp +1 -1
  542. package/lib/WPA/TypeAnalysis.cpp +1 -1
  543. package/package.json +1 -1
  544. package/tools/Example/svf-ex.cpp +1 -1
  545. package/include/Graphs/ExternalPAG.h +0 -147
  546. package/include/SVF-FE/CommonCHG.h +0 -49
  547. package/lib/Graphs/ExternalPAG.cpp +0 -623
@@ -39,7 +39,7 @@ var searchData=
39
39
  ['maxpointstosetsize',['MaxPointsToSetSize',['../classSVF_1_1PTAStat.html#af2b45aab2eee96a1cabba3025e4375a2',1,'SVF::PTAStat::MaxPointsToSetSize()'],['../classSVF_1_1AndersenBase.html#a7cfafe54d564c9401f435362d44d3f9c',1,'SVF::AndersenBase::MaxPointsToSetSize()']]],
40
40
  ['maxreorderings',['maxReorderings',['../structDdManager.html#a61170edf6d08bb1c4bacab68823a825d',1,'DdManager']]],
41
41
  ['maxsccsize',['maxSCCSize',['../classSVF_1_1FlowSensitive.html#a90deaa3c1afa762f568ceab0fe174353',1,'SVF::FlowSensitive']]],
42
- ['maxsize',['maxSize',['../structDdManager.html#aa4d0701dc4e6f11b30085ae30c09fab6',1,'DdManager::maxSize()'],['../structDdHashTable.html#aba376a6d310dcead9f74cfc459f4a248',1,'DdHashTable::maxsize()'],['../structDdLevelQueue.html#acb7146e9f3dd73a052340c0e4010e6b6',1,'DdLevelQueue::maxsize()']]],
42
+ ['maxsize',['maxsize',['../structDdHashTable.html#aba376a6d310dcead9f74cfc459f4a248',1,'DdHashTable::maxsize()'],['../structDdLevelQueue.html#acb7146e9f3dd73a052340c0e4010e6b6',1,'DdLevelQueue::maxsize()'],['../structDdManager.html#aa4d0701dc4e6f11b30085ae30c09fab6',1,'DdManager::maxSize()']]],
43
43
  ['maxsizez',['maxSizeZ',['../structDdManager.html#a4a0b8f95d02bc99557fb55140e9b0963',1,'DdManager']]],
44
44
  ['maxslots',['maxslots',['../structDdLocalCache.html#af4379636b29a9bfe4a55708ac637545a',1,'DdLocalCache']]],
45
45
  ['maxstepinwrapper',['MaxStepInWrapper',['../classSVF_1_1Options.html#a0b82f16ee0c7e6566a6ae20662525e84',1,'SVF::Options']]],
@@ -85,5 +85,6 @@ var searchData=
85
85
  ['mssavartodefmap',['MSSAVarToDefMap',['../classSVF_1_1SVFG.html#aafa1b445bd3578daaba8f82e517745f1',1,'SVF::SVFG']]],
86
86
  ['mtr_5funused',['MTR_UNUSED',['../mtr_8c.html#a71385e18c061c8783c806fedd390bb6a',1,'mtr.c']]],
87
87
  ['multiforked',['multiforked',['../classSVF_1_1TCTNode.html#a414f4b98fb8fd36d2cb381ff56eb98d8',1,'SVF::TCTNode']]],
88
+ ['multiopndlabelcounter',['multiOpndLabelCounter',['../classSVF_1_1SVFStmt.html#a9ea22adbfc307dddee42ffec07cc88ed',1,'SVF::SVFStmt']]],
88
89
  ['mutptdata',['mutPTData',['../classSVF_1_1MutableDiffPTData.html#a3603cb4baf60b1aa83b7807ac5591484',1,'SVF::MutableDiffPTData::mutPTData()'],['../classSVF_1_1MutableDFPTData.html#acf40f716470f73095d44a1b9e3bb939e',1,'SVF::MutableDFPTData::mutPTData()']]]
89
90
  ];
@@ -139,7 +139,7 @@ var searchData=
139
139
  ['numofretnodes',['numOfRetNodes',['../classSVF_1_1ICFGStat.html#ac9bfce40c058ed7ab178fe1f1818e9de',1,'SVF::ICFGStat']]],
140
140
  ['numofreturns',['NumOfReturns',['../classSVF_1_1PTAStat.html#a0a552611fcd20e1310290bdae404a514',1,'SVF::PTAStat']]],
141
141
  ['numofscc',['numOfSCC',['../classSVF_1_1FlowSensitive.html#ab6c2494ca36cefb5409c5c20befb326f',1,'SVF::FlowSensitive']]],
142
- ['numofsccdetection',['NumOfSCCDetection',['../classSVF_1_1PTAStat.html#ad1731b88c24bb79728f62cd3e9c55699',1,'SVF::PTAStat::NumOfSCCDetection()'],['../classSVF_1_1AndersenBase.html#a6da6e1231a46fde6925493045b8b2490',1,'SVF::AndersenBase::numOfSCCDetection()']]],
142
+ ['numofsccdetection',['numOfSCCDetection',['../classSVF_1_1AndersenBase.html#a6da6e1231a46fde6925493045b8b2490',1,'SVF::AndersenBase::numOfSCCDetection()'],['../classSVF_1_1PTAStat.html#ad1731b88c24bb79728f62cd3e9c55699',1,'SVF::PTAStat::NumOfSCCDetection()']]],
143
143
  ['numofsfr',['NumOfSfr',['../classSVF_1_1PTAStat.html#a07a1db62ddba50bda787b2985ef8d135',1,'SVF::PTAStat']]],
144
144
  ['numofsfrs',['numOfSfrs',['../classSVF_1_1AndersenBase.html#aa31bc83cdeaa30dd0975976e29a5be12',1,'SVF::AndersenBase']]],
145
145
  ['numofstackobjs',['NumOfStackObjs',['../classSVF_1_1PTAStat.html#ae05503909688a17dc1f282d1d029d24e',1,'SVF::PTAStat']]],
@@ -1,7 +1,6 @@
1
1
  var searchData=
2
2
  [
3
3
  ['object',['object',['../classSVF_1_1DummyVersionPropSVFGNode.html#ad9a6fd01bf1a101da68eaacc61f420ee',1,'SVF::DummyVersionPropSVFGNode']]],
4
- ['objectnodes',['objectNodes',['../classSVF_1_1ExternalPAG.html#a817a1204dd3469910ee0590679159b14',1,'SVF::ExternalPAG']]],
5
4
  ['objmap',['objMap',['../classSVF_1_1SymbolTableInfo.html#aeab14702eabde827923a692cba8f7f8a',1,'SVF::SymbolTableInfo']]],
6
5
  ['objsymmap',['objSymMap',['../classSVF_1_1SymbolTableInfo.html#a5840b742ed8c73ece548b9b4aede07ec',1,'SVF::SymbolTableInfo']]],
7
6
  ['objtoallocation',['objToAllocation',['../classSVF_1_1TypeBasedHeapCloning.html#a0a768e179a3a0c8c213ecca6f71a64c1',1,'SVF::TypeBasedHeapCloning']]],
@@ -16,9 +15,11 @@ var searchData=
16
15
  ['one',['one',['../structDdManager.html#a239bd99ee654742adc79b8299c2bc92e',1,'DdManager::one()'],['../cuddInt_8c.html#a49e3c7508be54a84ae83273ed240e31c',1,'one(): cuddInt.c']]],
17
16
  ['onstack',['onStack',['../structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a0eb5f6b9985b9b512a76537d55b092b5',1,'SVF::VersionedFlowSensitive::SCC::NodeData']]],
18
17
  ['ontheflyiterbudgetforstat',['OnTheFlyIterBudgetForStat',['../classSVF_1_1PointerAnalysis.html#afc320fbf269404fe128e69c98e6f9cac',1,'SVF::PointerAnalysis']]],
18
+ ['opcode',['opcode',['../classSVF_1_1CmpPE.html#a4a79b74096650de3d42b8af538f1d163',1,'SVF::CmpPE::opcode()'],['../classSVF_1_1BinaryOPPE.html#a1c30f75eec7e5566612d0d7d940cd000',1,'SVF::BinaryOPPE::opcode()'],['../classSVF_1_1UnaryOPPE.html#a09724c2ba28387799ec49e9d8683f818',1,'SVF::UnaryOPPE::opcode()']]],
19
19
  ['opincomingbbs',['opIncomingBBs',['../classSVF_1_1IntraPHIVFGNode.html#a73f39a488ad82300010abd18afe247a4',1,'SVF::IntraPHIVFGNode']]],
20
20
  ['opit',['OpIt',['../classllvm_1_1generic__bridge__gep__type__iterator.html#aa3fd4dca27e09df9ee726879624ae47e',1,'llvm::generic_bridge_gep_type_iterator']]],
21
21
  ['optsvfg',['OPTSVFG',['../classSVF_1_1Options.html#a7704ff30e6fc5043313adf5c655bcd4a',1,'SVF::Options']]],
22
+ ['opvars',['opVars',['../classSVF_1_1MultiOpndStmt.html#a172025849492f4de8f87564ef08f5880',1,'SVF::MultiOpndStmt']]],
22
23
  ['opver',['opVer',['../classSVF_1_1MSSACHI.html#a86f2f3f6e2215cdbe31caee048510757',1,'SVF::MSSACHI']]],
23
24
  ['opvers',['opVers',['../classSVF_1_1MSSAPHISVFGNode.html#a9c327923ab939e06877441ebde5c1139',1,'SVF::MSSAPHISVFGNode::opVers()'],['../classSVF_1_1CmpVFGNode.html#aae30d80fd848d62467476d21c691573c',1,'SVF::CmpVFGNode::opVers()'],['../classSVF_1_1BinaryOPVFGNode.html#ae803603f567cc28f5a7e1b66fb324cbc',1,'SVF::BinaryOPVFGNode::opVers()'],['../classSVF_1_1UnaryOPVFGNode.html#ae6fdb5759a0dfeb0635ffd758b752dc1',1,'SVF::UnaryOPVFGNode::opVers()'],['../classSVF_1_1PHIVFGNode.html#a08ccd55d0fb6ce33f69959349008daca',1,'SVF::PHIVFGNode::opVers()'],['../classSVF_1_1MSSAPHI.html#abdabd6dff67cd59622f18d48e8b34271',1,'SVF::MSSAPHI::opVers()']]],
24
25
  ['originalbvnumwords',['OriginalBvNumWords',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#af2786eae11ee13845da336ad23bc97e9',1,'SVF::NodeIDAllocator::Clusterer']]],
@@ -110,7 +110,7 @@ struct llvm::DOTGraphTraits&lt; CHGraph * &gt;</h3>
110
110
 
111
111
  <p>Write value flow graph into dot file for debugging </p>
112
112
 
113
- <p class="definition">Definition at line <a class="el" href="CHG_8cpp_source.html#l00899">899</a> of file <a class="el" href="CHG_8cpp_source.html">CHG.cpp</a>.</p>
113
+ <p class="definition">Definition at line <a class="el" href="CHG_8cpp_source.html#l00234">234</a> of file <a class="el" href="CHG_8cpp_source.html">CHG.cpp</a>.</p>
114
114
  </div><h2 class="groupheader">Member Typedef Documentation</h2>
115
115
  <a id="a73928161c8b1427e8150ca68ec48160e"></a>
116
116
  <h2 class="memtitle"><span class="permalink"><a href="#a73928161c8b1427e8150ca68ec48160e">&#9670;&nbsp;</a></span>NodeType</h2>
@@ -124,7 +124,7 @@ struct llvm::DOTGraphTraits&lt; CHGraph * &gt;</h3>
124
124
  </table>
125
125
  </div><div class="memdoc">
126
126
 
127
- <p class="definition">Definition at line <a class="el" href="CHG_8cpp_source.html#l00902">902</a> of file <a class="el" href="CHG_8cpp_source.html">CHG.cpp</a>.</p>
127
+ <p class="definition">Definition at line <a class="el" href="CHG_8cpp_source.html#l00237">237</a> of file <a class="el" href="CHG_8cpp_source.html">CHG.cpp</a>.</p>
128
128
 
129
129
  </div>
130
130
  </div>
@@ -153,8 +153,8 @@ struct llvm::DOTGraphTraits&lt; CHGraph * &gt;</h3>
153
153
  </table>
154
154
  </div><div class="memdoc">
155
155
 
156
- <p class="definition">Definition at line <a class="el" href="CHG_8cpp_source.html#l00903">903</a> of file <a class="el" href="CHG_8cpp_source.html">CHG.cpp</a>.</p>
157
- <div class="fragment"><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; :</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; DefaultDOTGraphTraits(isSimple)</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; {</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; }</div></div><!-- fragment -->
156
+ <p class="definition">Definition at line <a class="el" href="CHG_8cpp_source.html#l00238">238</a> of file <a class="el" href="CHG_8cpp_source.html">CHG.cpp</a>.</p>
157
+ <div class="fragment"><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; :</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; DefaultDOTGraphTraits(isSimple)</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; {</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; }</div></div><!-- fragment -->
158
158
  </div>
159
159
  </div>
160
160
  <h2 class="groupheader">Member Function Documentation</h2>
@@ -200,10 +200,10 @@ template&lt;class EdgeIter &gt; </div>
200
200
  </table>
201
201
  </div><div class="memdoc">
202
202
 
203
- <p class="definition">Definition at line <a class="el" href="CHG_8cpp_source.html#l00930">930</a> of file <a class="el" href="CHG_8cpp_source.html">CHG.cpp</a>.</p>
204
- <div class="fragment"><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; {</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160;</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; <a class="code" href="classSVF_1_1CHEdge.html">CHEdge</a>* edge = *(EI.getCurrent());</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(edge &amp;&amp; <span class="stringliteral">&quot;No edge found!!&quot;</span>);</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1CHEdge.html#ae2b90913c6c5a30df2b285d31c694525">getEdgeType</a>() == CHEdge::INHERITANCE)</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; {</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=solid&quot;</span>;</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; }</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; {</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=dashed&quot;</span>;</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; }</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; }</div><div class="ttc" id="classSVF_1_1CHEdge_html_ae2b90913c6c5a30df2b285d31c694525"><div class="ttname"><a href="classSVF_1_1CHEdge.html#ae2b90913c6c5a30df2b285d31c694525">SVF::CHEdge::getEdgeType</a></div><div class="ttdeci">CHEDGETYPE getEdgeType() const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00062">CHG.h:62</a></div></div>
203
+ <p class="definition">Definition at line <a class="el" href="CHG_8cpp_source.html#l00265">265</a> of file <a class="el" href="CHG_8cpp_source.html">CHG.cpp</a>.</p>
204
+ <div class="fragment"><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <a class="code" href="classSVF_1_1CHEdge.html">CHEdge</a>* edge = *(EI.getCurrent());</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(edge &amp;&amp; <span class="stringliteral">&quot;No edge found!!&quot;</span>);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1CHEdge.html#ae2b90913c6c5a30df2b285d31c694525">getEdgeType</a>() == CHEdge::INHERITANCE)</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=solid&quot;</span>;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; }</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; {</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;style=dashed&quot;</span>;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; }</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; }</div><div class="ttc" id="classSVF_1_1CHEdge_html_ae2b90913c6c5a30df2b285d31c694525"><div class="ttname"><a href="classSVF_1_1CHEdge.html#ae2b90913c6c5a30df2b285d31c694525">SVF::CHEdge::getEdgeType</a></div><div class="ttdeci">CHEDGETYPE getEdgeType() const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00094">CHG.h:94</a></div></div>
205
205
  <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>
206
- <div class="ttc" id="classSVF_1_1CHEdge_html"><div class="ttname"><a href="classSVF_1_1CHEdge.html">SVF::CHEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00045">CHG.h:45</a></div></div>
206
+ <div class="ttc" id="classSVF_1_1CHEdge_html"><div class="ttname"><a href="classSVF_1_1CHEdge.html">SVF::CHEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00077">CHG.h:77</a></div></div>
207
207
  </div><!-- fragment -->
208
208
  </div>
209
209
  </div>
@@ -233,8 +233,8 @@ template&lt;class EdgeIter &gt; </div>
233
233
 
234
234
  <p>Return name of the graph. </p>
235
235
 
236
- <p class="definition">Definition at line <a class="el" href="CHG_8cpp_source.html#l00909">909</a> of file <a class="el" href="CHG_8cpp_source.html">CHG.cpp</a>.</p>
237
- <div class="fragment"><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; {</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Class Hierarchy Graph&quot;</span>;</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; }</div></div><!-- fragment -->
236
+ <p class="definition">Definition at line <a class="el" href="CHG_8cpp_source.html#l00244">244</a> of file <a class="el" href="CHG_8cpp_source.html">CHG.cpp</a>.</p>
237
+ <div class="fragment"><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; {</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;Class Hierarchy Graph&quot;</span>;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; }</div></div><!-- fragment -->
238
238
  </div>
239
239
  </div>
240
240
  <a id="afcfdde52d1ed3ecbd849cbf4a16fb880"></a>
@@ -271,8 +271,8 @@ template&lt;class EdgeIter &gt; </div>
271
271
  </table>
272
272
  </div><div class="memdoc">
273
273
 
274
- <p class="definition">Definition at line <a class="el" href="CHG_8cpp_source.html#l00919">919</a> of file <a class="el" href="CHG_8cpp_source.html">CHG.cpp</a>.</p>
275
- <div class="fragment"><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; {</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; <span class="keywordflow">if</span> (node-&gt;<a class="code" href="classSVF_1_1CHNode.html#a268ccdfb486cc2efa8581ee7a3b5af39">isPureAbstract</a>())</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; {</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=tab&quot;</span>;</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; }</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=box&quot;</span>;</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; }</div><div class="ttc" id="classSVF_1_1CHNode_html_a268ccdfb486cc2efa8581ee7a3b5af39"><div class="ttname"><a href="classSVF_1_1CHNode.html#a268ccdfb486cc2efa8581ee7a3b5af39">SVF::CHNode::isPureAbstract</a></div><div class="ttdeci">bool isPureAbstract() const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00121">CHG.h:121</a></div></div>
274
+ <p class="definition">Definition at line <a class="el" href="CHG_8cpp_source.html#l00254">254</a> of file <a class="el" href="CHG_8cpp_source.html">CHG.cpp</a>.</p>
275
+ <div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; {</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">if</span> (node-&gt;<a class="code" href="classSVF_1_1CHNode.html#a268ccdfb486cc2efa8581ee7a3b5af39">isPureAbstract</a>())</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=tab&quot;</span>;</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=box&quot;</span>;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; }</div><div class="ttc" id="classSVF_1_1CHNode_html_a268ccdfb486cc2efa8581ee7a3b5af39"><div class="ttname"><a href="classSVF_1_1CHNode.html#a268ccdfb486cc2efa8581ee7a3b5af39">SVF::CHNode::isPureAbstract</a></div><div class="ttdeci">bool isPureAbstract() const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00153">CHG.h:153</a></div></div>
276
276
  </div><!-- fragment -->
277
277
  </div>
278
278
  </div>
@@ -312,13 +312,13 @@ template&lt;class EdgeIter &gt; </div>
312
312
 
313
313
  <p>Return function name;. </p>
314
314
 
315
- <p class="definition">Definition at line <a class="el" href="CHG_8cpp_source.html#l00914">914</a> of file <a class="el" href="CHG_8cpp_source.html">CHG.cpp</a>.</p>
316
- <div class="fragment"><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; {</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1CHNode.html#af6e71c1a932464b1b615fc177f5af089">getName</a>();</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; }</div><div class="ttc" id="classSVF_1_1CHNode_html_af6e71c1a932464b1b615fc177f5af089"><div class="ttname"><a href="classSVF_1_1CHNode.html#af6e71c1a932464b1b615fc177f5af089">SVF::CHNode::getName</a></div><div class="ttdeci">std::string getName() const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00091">CHG.h:91</a></div></div>
315
+ <p class="definition">Definition at line <a class="el" href="CHG_8cpp_source.html#l00249">249</a> of file <a class="el" href="CHG_8cpp_source.html">CHG.cpp</a>.</p>
316
+ <div class="fragment"><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; {</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">return</span> node-&gt;<a class="code" href="classSVF_1_1CHNode.html#af6e71c1a932464b1b615fc177f5af089">getName</a>();</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; }</div><div class="ttc" id="classSVF_1_1CHNode_html_af6e71c1a932464b1b615fc177f5af089"><div class="ttname"><a href="classSVF_1_1CHNode.html#af6e71c1a932464b1b615fc177f5af089">SVF::CHNode::getName</a></div><div class="ttdeci">std::string getName() const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00123">CHG.h:123</a></div></div>
317
317
  </div><!-- fragment -->
318
318
  </div>
319
319
  </div>
320
320
  <hr/>The documentation for this struct was generated from the following file:<ul>
321
- <li>/home/runner/work/SVF/SVF/lib/SVF-FE/<a class="el" href="CHG_8cpp_source.html">CHG.cpp</a></li>
321
+ <li>/home/runner/work/SVF/SVF/lib/Graphs/<a class="el" href="CHG_8cpp_source.html">CHG.cpp</a></li>
322
322
  </ul>
323
323
  </div><!-- contents -->
324
324
  <!-- start footer part -->
@@ -113,7 +113,7 @@ Static Public Member Functions</h2></td></tr>
113
113
  struct llvm::DOTGraphTraits&lt; ConstraintGraph * &gt;</h3>
114
114
 
115
115
 
116
- <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00602">602</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
116
+ <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00611">611</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
117
117
  </div><h2 class="groupheader">Member Typedef Documentation</h2>
118
118
  <a id="ac3889bd563cdc21a55df0524df2ae4da"></a>
119
119
  <h2 class="memtitle"><span class="permalink"><a href="#ac3889bd563cdc21a55df0524df2ae4da">&#9670;&nbsp;</a></span>NodeType</h2>
@@ -127,7 +127,7 @@ struct llvm::DOTGraphTraits&lt; ConstraintGraph * &gt;</h3>
127
127
  </table>
128
128
  </div><div class="memdoc">
129
129
 
130
- <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00605">605</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
130
+ <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00614">614</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
131
131
 
132
132
  </div>
133
133
  </div>
@@ -156,8 +156,8 @@ struct llvm::DOTGraphTraits&lt; ConstraintGraph * &gt;</h3>
156
156
  </table>
157
157
  </div><div class="memdoc">
158
158
 
159
- <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00606">606</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
160
- <div class="fragment"><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; :</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; DOTGraphTraits&lt;SVFIR*&gt;(isSimple)</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; {</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; }</div></div><!-- fragment -->
159
+ <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00615">615</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
160
+ <div class="fragment"><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; :</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; DOTGraphTraits&lt;SVFIR*&gt;(isSimple)</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; {</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; }</div></div><!-- fragment -->
161
161
  </div>
162
162
  </div>
163
163
  <h2 class="groupheader">Member Function Documentation</h2>
@@ -203,8 +203,8 @@ template&lt;class EdgeIter &gt; </div>
203
203
  </table>
204
204
  </div><div class="memdoc">
205
205
 
206
- <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00699">699</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
207
- <div class="fragment"><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; {</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* edge = *(EI.getCurrent());</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(edge &amp;&amp; <span class="stringliteral">&quot;No edge found!!&quot;</span>);</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::Addr)</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; {</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;color=green&quot;</span>;</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; }</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::Copy)</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; {</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;color=black&quot;</span>;</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; }</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::NormalGep</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; || edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::VariantGep)</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; {</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;color=purple&quot;</span>;</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; }</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::Store)</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; {</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;color=blue&quot;</span>;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; }</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::Load)</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; {</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;color=red&quot;</span>;</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; }</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; {</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(0 &amp;&amp; <span class="stringliteral">&quot;No such kind edge!!&quot;</span>);</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; }</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; }</div><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>
206
+ <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00708">708</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
207
+ <div class="fragment"><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; {</div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* edge = *(EI.getCurrent());</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(edge &amp;&amp; <span class="stringliteral">&quot;No edge found!!&quot;</span>);</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::Addr)</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; {</div><div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;color=green&quot;</span>;</div><div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; }</div><div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::Copy)</div><div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; {</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;color=black&quot;</span>;</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; }</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::NormalGep</div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; || edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::VariantGep)</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; {</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;color=purple&quot;</span>;</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; }</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::Store)</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; {</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;color=blue&quot;</span>;</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; }</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::Load)</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; {</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;color=red&quot;</span>;</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; }</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; {</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(0 &amp;&amp; <span class="stringliteral">&quot;No such kind edge!!&quot;</span>);</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; }</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; }</div><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>
208
208
  <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>
209
209
  <div class="ttc" id="classSVF_1_1ConstraintEdge_html"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html">SVF::ConstraintEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00048">ConsGEdge.h:48</a></div></div>
210
210
  </div><!-- fragment -->
@@ -246,8 +246,8 @@ template&lt;class EdgeIter &gt; </div>
246
246
  </table>
247
247
  </div><div class="memdoc">
248
248
 
249
- <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00732">732</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
250
- <div class="fragment"><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; {</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; }</div></div><!-- fragment -->
249
+ <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00741">741</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
250
+ <div class="fragment"><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; {</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; }</div></div><!-- fragment -->
251
251
  </div>
252
252
  </div>
253
253
  <a id="a9ed4562e3c1223c20e76e1372ba8b30d"></a>
@@ -276,8 +276,8 @@ template&lt;class EdgeIter &gt; </div>
276
276
 
277
277
  <p>Return name of the graph. </p>
278
278
 
279
- <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00612">612</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
280
- <div class="fragment"><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; {</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;ConstraintG&quot;</span>;</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; }</div></div><!-- fragment -->
279
+ <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00621">621</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
280
+ <div class="fragment"><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; {</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;ConstraintG&quot;</span>;</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; }</div></div><!-- fragment -->
281
281
  </div>
282
282
  </div>
283
283
  <a id="a0ce25ef874ffaa798ae7ad498274b2f7"></a>
@@ -314,8 +314,8 @@ template&lt;class EdgeIter &gt; </div>
314
314
  </table>
315
315
  </div><div class="memdoc">
316
316
 
317
- <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00660">660</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
318
- <div class="fragment"><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; {</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node = SVFIR::getPAG()-&gt;getGNode(n-&gt;getId());</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;ValPN&gt;(node))</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; {</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;GepValPN&gt;(node))</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=hexagon&quot;</span>;</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;DummyValPN&gt;(node))</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=diamond&quot;</span>;</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=box&quot;</span>;</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; }</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;ObjPN&gt;(node))</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; {</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;GepObjPN&gt;(node))</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=doubleoctagon&quot;</span>;</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;FIObjPN&gt;(node))</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=box3d&quot;</span>;</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;DummyObjPN&gt;(node))</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=tab&quot;</span>;</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=component&quot;</span>;</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; }</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;RetPN&gt;(node))</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; {</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=Mrecord&quot;</span>;</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; }</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;VarArgPN&gt;(node))</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; {</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=octagon&quot;</span>;</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; }</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; {</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(0 &amp;&amp; <span class="stringliteral">&quot;no such kind!!&quot;</span>);</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; }</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; }</div><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>
317
+ <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00669">669</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
318
+ <div class="fragment"><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; {</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node = SVFIR::getPAG()-&gt;getGNode(n-&gt;getId());</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;ValPN&gt;(node))</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; {</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;GepValPN&gt;(node))</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=hexagon&quot;</span>;</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;DummyValPN&gt;(node))</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=diamond&quot;</span>;</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=box&quot;</span>;</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; }</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;ObjPN&gt;(node))</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; {</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;GepObjPN&gt;(node))</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=doubleoctagon&quot;</span>;</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa&lt;FIObjPN&gt;(node))</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=box3d&quot;</span>;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;DummyObjPN&gt;(node))</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=tab&quot;</span>;</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=component&quot;</span>;</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; }</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;RetPN&gt;(node))</div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; {</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=Mrecord&quot;</span>;</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; }</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;VarArgPN&gt;(node))</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; {</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;shape=octagon&quot;</span>;</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; }</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; {</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(0 &amp;&amp; <span class="stringliteral">&quot;no such kind!!&quot;</span>);</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; }</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; }</div><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>
319
319
  <div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00046">SVFVariables.h:46</a></div></div>
320
320
  </div><!-- fragment -->
321
321
  </div>
@@ -355,8 +355,8 @@ template&lt;class EdgeIter &gt; </div>
355
355
  </div><div class="memdoc">
356
356
  <p>Return label of a VFG node with two display mode Either you can choose to display the name of the value or the whole instruction </p>
357
357
 
358
- <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00627">627</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
359
- <div class="fragment"><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; {</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node = SVFIR::getPAG()-&gt;getGNode(n-&gt;getId());</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; <span class="keywordtype">bool</span> briefDisplay = Options::BriefConsCGDotGraph;</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="keywordtype">bool</span> nameDisplay = <span class="keyword">true</span>;</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; std::string str;</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160;</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; <span class="keywordflow">if</span> (briefDisplay)</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; {</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;ValPN&gt;(node))</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; {</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordflow">if</span> (nameDisplay)</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &lt;&lt; <span class="stringliteral">&quot;:&quot;</span> &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a54b2a5ed3ed21e54eaf04182f0338333">getValueName</a>();</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; }</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; }</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; {</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="comment">// print the whole value</span></div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keywordflow">if</span> (!SVFUtil::isa&lt;DummyValPN&gt;(node) &amp;&amp; !SVFUtil::isa&lt;DummyObjPN&gt;(node))</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &lt;&lt; <span class="stringliteral">&quot;:&quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">getValue</a>());</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &lt;&lt; <span class="stringliteral">&quot;:&quot;</span>;</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160;</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; }</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00046">SVFVariables.h:46</a></div></div>
358
+ <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00636">636</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
359
+ <div class="fragment"><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; {</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node = SVFIR::getPAG()-&gt;getGNode(n-&gt;getId());</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; <span class="keywordtype">bool</span> briefDisplay = Options::BriefConsCGDotGraph;</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="keywordtype">bool</span> nameDisplay = <span class="keyword">true</span>;</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; std::string str;</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160;</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="keywordflow">if</span> (briefDisplay)</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; {</div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="keywordflow">if</span> (SVFUtil::isa&lt;ValPN&gt;(node))</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; {</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keywordflow">if</span> (nameDisplay)</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &lt;&lt; <span class="stringliteral">&quot;:&quot;</span> &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a54b2a5ed3ed21e54eaf04182f0338333">getValueName</a>();</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; }</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; }</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; {</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="comment">// print the whole value</span></div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; <span class="keywordflow">if</span> (!SVFUtil::isa&lt;DummyValPN&gt;(node) &amp;&amp; !SVFUtil::isa&lt;DummyObjPN&gt;(node))</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &lt;&lt; <span class="stringliteral">&quot;:&quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(node-&gt;<a class="code" href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">getValue</a>());</div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; rawstr &lt;&lt; node-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() &lt;&lt; <span class="stringliteral">&quot;:&quot;</span>;</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160;</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; }</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160;</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00046">SVFVariables.h:46</a></div></div>
360
360
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
361
361
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00388">SVFUtil.cpp:388</a></div></div>
362
362
  <div class="ttc" id="classSVF_1_1SVFVar_html_afaa33caa8d2a306f6741d9d066243e40"><div class="ttname"><a href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">SVF::SVFVar::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00094">SVFVariables.h:94</a></div></div>
@@ -389,8 +389,8 @@ template&lt;class EdgeIter &gt; </div>
389
389
  </table>
390
390
  </div><div class="memdoc">
391
391
 
392
- <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00620">620</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
393
- <div class="fragment"><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; {</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; <span class="keywordflow">return</span> (n-&gt;getInEdges().empty() &amp;&amp; n-&gt;getOutEdges().empty());</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; }</div></div><!-- fragment -->
392
+ <p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00629">629</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
393
+ <div class="fragment"><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; {</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="keywordflow">return</span> (n-&gt;getInEdges().empty() &amp;&amp; n-&gt;getOutEdges().empty());</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; }</div></div><!-- fragment -->
394
394
  </div>
395
395
  </div>
396
396
  <hr/>The documentation for this struct was generated from the following file:<ul>
@@ -403,7 +403,7 @@ template&lt;class EdgeIter &gt; </div>
403
403
  <div class="fragment"><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160; {</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; std::string str;</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;NodeID: &quot;</span> &lt;&lt; node-&gt;getId() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</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="l00473"></a><span class="lineno"> 473</span>&#160; {</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;IntraBlockNode ID: &quot;</span> &lt;&lt; bNode-&gt;getId() &lt;&lt; <span class="stringliteral">&quot; \t&quot;</span>;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html#a896b591a710148fad7705a0d88652976">SVFIR::PAGEdgeList</a>&amp; edges = SVFIR::getPAG()-&gt;getInstPTAPAGEdgeList(bNode);</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">if</span> (edges.empty()) {</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; rawstr &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(bNode-&gt;getInst()) &lt;&lt; <span class="stringliteral">&quot; \t&quot;</span>;</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; <span class="keywordflow">for</span> (SVFIR::PAGEdgeList::iterator it = edges.begin(), eit = edges.end(); it != eit; ++it)</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; {</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</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="l00482"></a><span class="lineno"> 482</span>&#160; rawstr &lt;&lt; edge-&gt;<a class="code" href="classSVF_1_1SVFStmt.html#ad0b4dbe87e009518f22360c48b0d0c22">toString</a>();</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; }</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; }</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; {fun: &quot;</span> &lt;&lt; bNode-&gt;getFun()-&gt;getName() &lt;&lt; <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; }</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="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="l00488"></a><span class="lineno"> 488</span>&#160; {</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; rawstr &lt;&lt; <a class="code" href="cuddInt_8c.html#a936a27e51e66afb57c2b3a12d78a238e">entry</a>-&gt;toString();</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; }</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</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="l00492"></a><span class="lineno"> 492</span>&#160; {</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; rawstr &lt;&lt; <a class="code" href="util_8h.html#a43b6ea6be735bb828bc062c70cadeff8">exit</a>-&gt;toString();</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; }</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <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="l00496"></a><span class="lineno"> 496</span>&#160; {</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; rawstr &lt;&lt; call-&gt;toString();</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; }</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <span class="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="l00500"></a><span class="lineno"> 500</span>&#160; {</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; rawstr &lt;&lt; ret-&gt;toString();</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; }</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GlobalBlockNode.html">GlobalBlockNode</a>* glob = SVFUtil::dyn_cast&lt;GlobalBlockNode&gt;(node) )</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; {</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html#a896b591a710148fad7705a0d88652976">SVFIR::PAGEdgeList</a>&amp; edges = SVFIR::getPAG()-&gt;getInstPTAPAGEdgeList(glob);</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">for</span> (SVFIR::PAGEdgeList::iterator it = edges.begin(), eit = edges.end(); it != eit; ++it)</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; {</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">PAGEdge</a>* edge = *it;</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; rawstr &lt;&lt; edge-&gt;<a class="code" href="classSVF_1_1SVFStmt.html#ad0b4dbe87e009518f22360c48b0d0c22">toString</a>();</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; }</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; }</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00513"></a><span class="lineno"> 513</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="l00514"></a><span class="lineno"> 514</span>&#160;</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; }</div><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>
404
404
  <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>
405
405
  <div class="ttc" id="classSVF_1_1GlobalBlockNode_html"><div class="ttname"><a href="classSVF_1_1GlobalBlockNode.html">SVF::GlobalBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00142">ICFGNode.h:142</a></div></div>
406
- <div class="ttc" id="classSVF_1_1SVFStmt_html_ad0b4dbe87e009518f22360c48b0d0c22"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#ad0b4dbe87e009518f22360c48b0d0c22">SVF::SVFStmt::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00060">SVFStatements.cpp:60</a></div></div>
406
+ <div class="ttc" id="classSVF_1_1SVFStmt_html_ad0b4dbe87e009518f22360c48b0d0c22"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#ad0b4dbe87e009518f22360c48b0d0c22">SVF::SVFStmt::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00061">SVFStatements.cpp:61</a></div></div>
407
407
  <div class="ttc" id="classSVF_1_1FunEntryBlockNode_html"><div class="ttname"><a href="classSVF_1_1FunEntryBlockNode.html">SVF::FunEntryBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00251">ICFGNode.h:251</a></div></div>
408
408
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
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>