svf-tools 1.0.351 → 1.0.355

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 (341) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +3 -3
  2. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +3 -3
  3. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +2 -2
  4. package/SVF-doxygen/html/html/Andersen_8h_source.html +1 -1
  5. package/SVF-doxygen/html/html/CSC_8cpp_source.html +2 -2
  6. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +2 -2
  7. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
  8. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +44 -45
  9. package/SVF-doxygen/html/html/ConsG_8h_source.html +23 -23
  10. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +13 -11
  11. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +6 -6
  12. package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
  13. package/SVF-doxygen/html/html/DCHG_8h_source.html +2 -2
  14. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +5 -5
  15. package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
  16. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +2 -2
  18. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +9 -9
  19. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +6 -4
  20. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +2 -2
  21. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +5 -5
  22. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +2 -2
  23. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +33 -31
  24. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +17 -17
  25. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +30 -30
  26. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +26 -26
  27. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +3 -3
  28. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +10 -9
  29. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +4 -4
  30. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +4 -4
  31. package/SVF-doxygen/html/html/IRGraph_8h_source.html +2 -2
  32. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +19 -8
  33. package/SVF-doxygen/html/html/LocationSet_8h_source.html +6 -6
  34. package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -2
  35. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
  36. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +9 -9
  37. package/SVF-doxygen/html/html/MemRegion_8h_source.html +2 -2
  38. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
  39. package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
  40. package/SVF-doxygen/html/html/Options_8cpp_source.html +1 -1
  41. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +3 -3
  42. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +17 -18
  43. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +8 -8
  44. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +19 -22
  45. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +17 -17
  46. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +7 -8
  47. package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +8 -8
  48. package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
  49. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +8 -8
  50. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  51. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +8 -7
  52. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +34 -35
  53. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +45 -46
  54. package/SVF-doxygen/html/html/SVFIR_8h_source.html +40 -41
  55. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +21 -23
  56. package/SVF-doxygen/html/html/SVFStatements_8h.html +0 -4
  57. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +150 -156
  58. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +102 -102
  60. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  61. package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +1 -1
  62. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +1 -1
  63. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +22 -22
  64. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +1 -1
  65. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +51 -50
  66. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +67 -62
  67. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +4 -4
  68. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +13 -13
  69. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +1 -1
  70. package/SVF-doxygen/html/html/VFGNode_8h_source.html +16 -15
  71. package/SVF-doxygen/html/html/VFG_8cpp_source.html +50 -51
  72. package/SVF-doxygen/html/html/VFG_8h_source.html +35 -35
  73. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
  74. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
  75. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +1 -1
  76. package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -6
  77. package/SVF-doxygen/html/html/WPAPass_8h_source.html +2 -2
  78. package/SVF-doxygen/html/html/annotated.html +100 -102
  79. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
  80. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +24 -25
  81. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +17 -18
  82. package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
  83. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +1 -1
  84. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +5 -5
  85. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +5 -5
  86. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +4 -4
  87. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +2 -2
  88. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt-members.html +28 -29
  89. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +25 -30
  90. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.png +0 -0
  91. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +9 -9
  92. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +28 -29
  93. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +23 -24
  94. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +2 -2
  95. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +36 -35
  96. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +146 -93
  97. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode-members.html +1 -1
  98. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +8 -8
  99. package/SVF-doxygen/html/html/classSVF_1_1CSC.html +2 -2
  100. package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +27 -28
  101. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +24 -25
  102. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +11 -11
  103. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +12 -12
  104. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +1 -1
  105. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +15 -15
  106. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +30 -31
  107. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +24 -25
  108. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +2 -2
  109. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph-members.html +1 -1
  110. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +95 -96
  111. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
  112. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
  113. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +20 -19
  114. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +24 -25
  115. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +17 -18
  116. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge-members.html +4 -4
  117. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +5 -5
  118. package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +2 -2
  120. package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +3 -3
  121. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +3 -3
  122. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +6 -6
  123. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +13 -13
  124. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +13 -13
  125. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +14 -14
  126. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +1 -1
  127. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +8 -7
  128. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +78 -80
  129. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +7 -7
  130. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +63 -62
  131. package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +21 -20
  133. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  134. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +42 -42
  136. package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +58 -55
  137. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +170 -50
  138. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.png +0 -0
  139. package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +2 -2
  140. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +39 -39
  141. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +3 -1
  142. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +7 -8
  143. package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +1 -1
  144. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +1 -1
  145. package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +2 -2
  146. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +27 -28
  147. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +17 -18
  148. package/SVF-doxygen/html/html/classSVF_1_1LocationSet-members.html +22 -21
  149. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +86 -32
  150. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +12 -12
  151. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +2 -2
  152. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder-members.html +2 -4
  153. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +11 -15
  154. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +87 -87
  156. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +6 -6
  157. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +33 -34
  159. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +32 -33
  160. package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge-members.html +5 -5
  161. package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge.html +6 -6
  162. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +98 -98
  163. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +18 -18
  164. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG-members.html +1 -1
  165. package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +6 -6
  166. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +5 -5
  167. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +2 -2
  168. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +19 -20
  169. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +30 -31
  170. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +23 -24
  171. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +45 -50
  172. package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +27 -28
  173. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +24 -25
  174. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +13 -13
  175. package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +2 -2
  176. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +16 -16
  177. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder-members.html +2 -4
  178. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +33 -79
  179. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +2 -2
  180. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +10 -10
  181. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +1 -1
  182. package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +3 -3
  183. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +94 -95
  184. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +4 -4
  185. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +103 -97
  186. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt-members.html +24 -25
  187. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +49 -53
  188. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.png +0 -0
  189. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +3 -3
  190. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder-members.html +2 -4
  191. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +11 -15
  192. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +4 -4
  193. package/SVF-doxygen/html/html/classSVF_1_1StInfo-members.html +13 -6
  194. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +263 -37
  195. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +3 -3
  196. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +24 -25
  197. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +18 -19
  198. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +24 -24
  199. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +65 -64
  200. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +90 -63
  201. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +26 -27
  202. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +18 -19
  203. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +26 -27
  204. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +18 -19
  205. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +4 -4
  206. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  207. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +21 -21
  208. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +29 -30
  209. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +30 -31
  210. package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +2 -2
  211. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +79 -80
  212. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +11 -11
  213. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +13 -13
  214. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +4 -4
  215. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +5 -5
  216. package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +13 -14
  217. package/SVF-doxygen/html/html/classes.html +95 -93
  218. package/SVF-doxygen/html/html/functions_a.html +18 -17
  219. package/SVF-doxygen/html/html/functions_b.html +5 -11
  220. package/SVF-doxygen/html/html/functions_c.html +22 -22
  221. package/SVF-doxygen/html/html/functions_eval_g.html +2 -1
  222. package/SVF-doxygen/html/html/functions_eval_n.html +0 -1
  223. package/SVF-doxygen/html/html/functions_eval_v.html +0 -1
  224. package/SVF-doxygen/html/html/functions_f.html +20 -15
  225. package/SVF-doxygen/html/html/functions_func.html +19 -18
  226. package/SVF-doxygen/html/html/functions_func_b.html +0 -6
  227. package/SVF-doxygen/html/html/functions_func_c.html +20 -22
  228. package/SVF-doxygen/html/html/functions_func_g.html +37 -24
  229. package/SVF-doxygen/html/html/functions_func_i.html +7 -4
  230. package/SVF-doxygen/html/html/functions_func_n.html +0 -3
  231. package/SVF-doxygen/html/html/functions_func_o.html +3 -4
  232. package/SVF-doxygen/html/html/functions_func_s.html +4 -4
  233. package/SVF-doxygen/html/html/functions_func_t.html +0 -2
  234. package/SVF-doxygen/html/html/functions_func_v.html +0 -3
  235. package/SVF-doxygen/html/html/functions_g.html +37 -23
  236. package/SVF-doxygen/html/html/functions_i.html +9 -6
  237. package/SVF-doxygen/html/html/functions_l.html +5 -5
  238. package/SVF-doxygen/html/html/functions_m.html +1 -1
  239. package/SVF-doxygen/html/html/functions_n.html +0 -4
  240. package/SVF-doxygen/html/html/functions_o.html +12 -15
  241. package/SVF-doxygen/html/html/functions_p.html +12 -12
  242. package/SVF-doxygen/html/html/functions_r.html +9 -5
  243. package/SVF-doxygen/html/html/functions_s.html +24 -16
  244. package/SVF-doxygen/html/html/functions_t.html +10 -10
  245. package/SVF-doxygen/html/html/functions_type_s.html +3 -0
  246. package/SVF-doxygen/html/html/functions_v.html +10 -11
  247. package/SVF-doxygen/html/html/functions_vars_f.html +3 -0
  248. package/SVF-doxygen/html/html/functions_vars_s.html +4 -1
  249. package/SVF-doxygen/html/html/functions_vars_v.html +3 -0
  250. package/SVF-doxygen/html/html/hierarchy.html +55 -57
  251. package/SVF-doxygen/html/html/namespaceSVF.html +0 -4
  252. package/SVF-doxygen/html/html/search/all_1.js +8 -8
  253. package/SVF-doxygen/html/html/search/all_10.js +7 -7
  254. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  255. package/SVF-doxygen/html/html/search/all_13.js +11 -9
  256. package/SVF-doxygen/html/html/search/all_14.js +7 -7
  257. package/SVF-doxygen/html/html/search/all_16.js +4 -4
  258. package/SVF-doxygen/html/html/search/all_2.js +1 -3
  259. package/SVF-doxygen/html/html/search/all_3.js +1 -1
  260. package/SVF-doxygen/html/html/search/all_6.js +1 -0
  261. package/SVF-doxygen/html/html/search/all_7.js +10 -6
  262. package/SVF-doxygen/html/html/search/all_9.js +2 -1
  263. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  264. package/SVF-doxygen/html/html/search/all_d.js +3 -3
  265. package/SVF-doxygen/html/html/search/all_e.js +4 -5
  266. package/SVF-doxygen/html/html/search/all_f.js +1 -1
  267. package/SVF-doxygen/html/html/search/classes_12.js +0 -1
  268. package/SVF-doxygen/html/html/search/classes_b.js +0 -1
  269. package/SVF-doxygen/html/html/search/enumvalues_12.js +1 -1
  270. package/SVF-doxygen/html/html/search/enumvalues_6.js +1 -1
  271. package/SVF-doxygen/html/html/search/enumvalues_b.js +1 -1
  272. package/SVF-doxygen/html/html/search/functions_0.js +8 -8
  273. package/SVF-doxygen/html/html/search/functions_1.js +1 -3
  274. package/SVF-doxygen/html/html/search/functions_10.js +2 -2
  275. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  276. package/SVF-doxygen/html/html/search/functions_13.js +0 -1
  277. package/SVF-doxygen/html/html/search/functions_2.js +1 -1
  278. package/SVF-doxygen/html/html/search/functions_6.js +9 -5
  279. package/SVF-doxygen/html/html/search/functions_8.js +2 -1
  280. package/SVF-doxygen/html/html/search/functions_c.js +0 -1
  281. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  282. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -0
  283. package/SVF-doxygen/html/html/search/variables_13.js +2 -1
  284. package/SVF-doxygen/html/html/search/variables_14.js +2 -2
  285. package/SVF-doxygen/html/html/search/variables_16.js +1 -0
  286. package/SVF-doxygen/html/html/search/variables_6.js +1 -0
  287. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  288. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +16 -16
  289. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +16 -16
  290. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
  291. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +18 -18
  292. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +3 -3
  293. package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
  294. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +2 -2
  295. package/include/DDA/DDAVFSolver.h +1 -1
  296. package/include/Graphs/ConsG.h +2 -2
  297. package/include/Graphs/ConsGEdge.h +1 -1
  298. package/include/Graphs/VFG.h +2 -2
  299. package/include/Graphs/VFGNode.h +1 -1
  300. package/include/MSSA/SVFGBuilder.h +0 -2
  301. package/include/MemoryModel/LocationSet.h +4 -0
  302. package/include/MemoryModel/SVFIR.h +3 -3
  303. package/include/MemoryModel/SVFStatements.h +40 -97
  304. package/include/MemoryModel/SVFVariables.h +9 -6
  305. package/include/MemoryModel/SymbolTableInfo.h +27 -6
  306. package/include/SVF-FE/DCHG.h +1 -1
  307. package/include/SVF-FE/SVFIRBuilder.h +6 -6
  308. package/include/Util/IRAnnotator.h +1 -1
  309. package/lib/DDA/ContextDDA.cpp +4 -5
  310. package/lib/DDA/DDAClient.cpp +6 -6
  311. package/lib/DDA/DDAStat.cpp +1 -1
  312. package/lib/DDA/FlowDDA.cpp +4 -5
  313. package/lib/Graphs/ConsG.cpp +26 -31
  314. package/lib/Graphs/ICFG.cpp +4 -0
  315. package/lib/Graphs/SVFG.cpp +2 -2
  316. package/lib/Graphs/VFG.cpp +36 -43
  317. package/lib/MSSA/SVFGBuilder.cpp +4 -11
  318. package/lib/MTA/MTAAnnotator.cpp +3 -3
  319. package/lib/MemoryModel/LocationSet.cpp +69 -7
  320. package/lib/MemoryModel/PointerAnalysis.cpp +0 -6
  321. package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
  322. package/lib/MemoryModel/SVFIR.cpp +27 -35
  323. package/lib/MemoryModel/SVFStatements.cpp +0 -22
  324. package/lib/MemoryModel/SVFVariables.cpp +1 -1
  325. package/lib/MemoryModel/SymbolTableInfo.cpp +24 -17
  326. package/lib/SABER/SrcSnkDDA.cpp +2 -2
  327. package/lib/SVF-FE/DCHG.cpp +1 -1
  328. package/lib/SVF-FE/Graph2Json.cpp +24 -27
  329. package/lib/SVF-FE/SVFIRBuilder.cpp +9 -4
  330. package/lib/Util/Options.cpp +1 -1
  331. package/lib/Util/PTAStat.cpp +9 -9
  332. package/lib/Util/TypeBasedHeapCloning.cpp +5 -5
  333. package/lib/WPA/AndersenSFR.cpp +2 -2
  334. package/lib/WPA/AndersenStat.cpp +2 -2
  335. package/lib/WPA/CSC.cpp +2 -2
  336. package/lib/WPA/FlowSensitive.cpp +7 -12
  337. package/lib/WPA/FlowSensitiveStat.cpp +2 -2
  338. package/lib/WPA/FlowSensitiveTBHC.cpp +6 -9
  339. package/lib/WPA/WPAPass.cpp +1 -9
  340. package/package.json +1 -1
  341. package/tools/Example/svf-ex.cpp +1 -1
@@ -116,7 +116,7 @@ $(function() {
116
116
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1BranchVFGNode.html#ad070e36a440deb982779cec18aa03ee6">getNumSuccessors</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1BranchVFGNode.html">SVF::BranchVFGNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
117
117
  <tr><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
118
118
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1BranchVFGNode.html#ae611eb1d27846c15b7301017e1864a30">getSuccessor</a>(u32_t i) const</td><td class="entry"><a class="el" href="classSVF_1_1BranchVFGNode.html">SVF::BranchVFGNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
119
- <tr><td class="entry"><a class="el" href="classSVF_1_1BranchVFGNode.html#abed63cf10f8e8cb9bb4b01772e4b0c6d">getSuccessors</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1BranchVFGNode.html">SVF::BranchVFGNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
119
+ <tr><td class="entry"><a class="el" href="classSVF_1_1BranchVFGNode.html#a2ef5951de4760d28adb9d82b22067360">getSuccessors</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1BranchVFGNode.html">SVF::BranchVFGNode</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
120
120
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1VFGNode.html#a5ac80149696c243f77e4b4d25ad44898">getValue</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
121
121
  <tr><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td><td class="entry"></td></tr>
122
122
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html#a06a7373b11143e709784de784fa476fe">hasIncomingEdge</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericNode.html">SVF::GenericNode&lt; NodeTy, EdgeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
@@ -97,8 +97,8 @@ Public Member Functions</h2></td></tr>
97
97
  <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
98
98
  <tr class="memitem:ad070e36a440deb982779cec18aa03ee6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchVFGNode.html#ad070e36a440deb982779cec18aa03ee6">getNumSuccessors</a> () const</td></tr>
99
99
  <tr class="separator:ad070e36a440deb982779cec18aa03ee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
- <tr class="memitem:abed63cf10f8e8cb9bb4b01772e4b0c6d"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchVFGNode.html#abed63cf10f8e8cb9bb4b01772e4b0c6d">getSuccessors</a> () const</td></tr>
101
- <tr class="separator:abed63cf10f8e8cb9bb4b01772e4b0c6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
100
+ <tr class="memitem:a2ef5951de4760d28adb9d82b22067360"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1BranchStmt.html#ac486fb3a118e6153892b998b0ef46890">BranchStmt::SuccAndCondPairVec</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchVFGNode.html#a2ef5951de4760d28adb9d82b22067360">getSuccessors</a> () const</td></tr>
101
+ <tr class="separator:a2ef5951de4760d28adb9d82b22067360"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
102
  <tr class="memitem:ae611eb1d27846c15b7301017e1864a30"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1BranchVFGNode.html#ae611eb1d27846c15b7301017e1864a30">getSuccessor</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i) const</td></tr>
103
103
  <tr class="separator:ae611eb1d27846c15b7301017e1864a30"><td class="memSeparator" colspan="2">&#160;</td></tr>
104
104
  <tr class="inherit_header pub_methods_classSVF_1_1VFGNode"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1VFGNode')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></td></tr>
@@ -530,7 +530,7 @@ Additional Inherited Members</h2></td></tr>
530
530
 
531
531
  <p class="definition">Definition at line <a class="el" href="VFGNode_8h_source.html#l00569">569</a> of file <a class="el" href="VFGNode_8h_source.html">VFGNode.h</a>.</p>
532
532
  <div class="fragment"><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; {</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BranchVFGNode.html#ab2c5f49a3ac21d827b37b0e4b61f1a10">brstmt</a>-&gt;<a class="code" href="classSVF_1_1BranchStmt.html#a022d355bde3d0d0a9471cd125b24583b">getNumSuccessors</a>();</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; }</div><div class="ttc" id="classSVF_1_1BranchVFGNode_html_ab2c5f49a3ac21d827b37b0e4b61f1a10"><div class="ttname"><a href="classSVF_1_1BranchVFGNode.html#ab2c5f49a3ac21d827b37b0e4b61f1a10">SVF::BranchVFGNode::brstmt</a></div><div class="ttdeci">const BranchStmt * brstmt</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00540">VFGNode.h:540</a></div></div>
533
- <div class="ttc" id="classSVF_1_1BranchStmt_html_a022d355bde3d0d0a9471cd125b24583b"><div class="ttname"><a href="classSVF_1_1BranchStmt.html#a022d355bde3d0d0a9471cd125b24583b">SVF::BranchStmt::getNumSuccessors</a></div><div class="ttdeci">u32_t getNumSuccessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00960">SVFStatements.h:960</a></div></div>
533
+ <div class="ttc" id="classSVF_1_1BranchStmt_html_a022d355bde3d0d0a9471cd125b24583b"><div class="ttname"><a href="classSVF_1_1BranchStmt.html#a022d355bde3d0d0a9471cd125b24583b">SVF::BranchStmt::getNumSuccessors</a></div><div class="ttdeci">u32_t getNumSuccessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00900">SVFStatements.h:900</a></div></div>
534
534
  </div><!-- fragment -->
535
535
  </div>
536
536
  </div>
@@ -559,13 +559,13 @@ Additional Inherited Members</h2></td></tr>
559
559
  </div><div class="memdoc">
560
560
 
561
561
  <p class="definition">Definition at line <a class="el" href="VFGNode_8h_source.html#l00575">575</a> of file <a class="el" href="VFGNode_8h_source.html">VFGNode.h</a>.</p>
562
- <div class="fragment"><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BranchVFGNode.html#ab2c5f49a3ac21d827b37b0e4b61f1a10">brstmt</a>-&gt;<a class="code" href="classSVF_1_1BranchStmt.html#a7d9a6ebb2d95942c453864b5327b1ae8">getSuccessor</a>(i);</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; }</div><div class="ttc" id="classSVF_1_1BranchStmt_html_a7d9a6ebb2d95942c453864b5327b1ae8"><div class="ttname"><a href="classSVF_1_1BranchStmt.html#a7d9a6ebb2d95942c453864b5327b1ae8">SVF::BranchStmt::getSuccessor</a></div><div class="ttdeci">const ICFGNode * getSuccessor(u32_t i) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00966">SVFStatements.h:966</a></div></div>
562
+ <div class="fragment"><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; {</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BranchVFGNode.html#ab2c5f49a3ac21d827b37b0e4b61f1a10">brstmt</a>-&gt;<a class="code" href="classSVF_1_1BranchStmt.html#a7d9a6ebb2d95942c453864b5327b1ae8">getSuccessor</a>(i);</div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; }</div><div class="ttc" id="classSVF_1_1BranchStmt_html_a7d9a6ebb2d95942c453864b5327b1ae8"><div class="ttname"><a href="classSVF_1_1BranchStmt.html#a7d9a6ebb2d95942c453864b5327b1ae8">SVF::BranchStmt::getSuccessor</a></div><div class="ttdeci">const ICFGNode * getSuccessor(u32_t i) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00906">SVFStatements.h:906</a></div></div>
563
563
  <div class="ttc" id="classSVF_1_1BranchVFGNode_html_ab2c5f49a3ac21d827b37b0e4b61f1a10"><div class="ttname"><a href="classSVF_1_1BranchVFGNode.html#ab2c5f49a3ac21d827b37b0e4b61f1a10">SVF::BranchVFGNode::brstmt</a></div><div class="ttdeci">const BranchStmt * brstmt</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00540">VFGNode.h:540</a></div></div>
564
564
  </div><!-- fragment -->
565
565
  </div>
566
566
  </div>
567
- <a id="abed63cf10f8e8cb9bb4b01772e4b0c6d"></a>
568
- <h2 class="memtitle"><span class="permalink"><a href="#abed63cf10f8e8cb9bb4b01772e4b0c6d">&#9670;&nbsp;</a></span>getSuccessors()</h2>
567
+ <a id="a2ef5951de4760d28adb9d82b22067360"></a>
568
+ <h2 class="memtitle"><span class="permalink"><a href="#a2ef5951de4760d28adb9d82b22067360">&#9670;&nbsp;</a></span>getSuccessors()</h2>
569
569
 
570
570
  <div class="memitem">
571
571
  <div class="memproto">
@@ -574,7 +574,7 @@ Additional Inherited Members</h2></td></tr>
574
574
  <td class="mlabels-left">
575
575
  <table class="memname">
576
576
  <tr>
577
- <td class="memname">const std::vector&lt;const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a>*&gt;&amp; SVF::BranchVFGNode::getSuccessors </td>
577
+ <td class="memname">const <a class="el" href="classSVF_1_1BranchStmt.html#ac486fb3a118e6153892b998b0ef46890">BranchStmt::SuccAndCondPairVec</a>&amp; SVF::BranchVFGNode::getSuccessors </td>
578
578
  <td>(</td>
579
579
  <td class="paramname"></td><td>)</td>
580
580
  <td> const</td>
@@ -588,7 +588,7 @@ Additional Inherited Members</h2></td></tr>
588
588
  </div><div class="memdoc">
589
589
 
590
590
  <p class="definition">Definition at line <a class="el" href="VFGNode_8h_source.html#l00572">572</a> of file <a class="el" href="VFGNode_8h_source.html">VFGNode.h</a>.</p>
591
- <div class="fragment"><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; {</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BranchVFGNode.html#ab2c5f49a3ac21d827b37b0e4b61f1a10">brstmt</a>-&gt;<a class="code" href="classSVF_1_1BranchStmt.html#ae3aecc257d37c20084633027cb312faa">getSuccessors</a>();</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; }</div><div class="ttc" id="classSVF_1_1BranchStmt_html_ae3aecc257d37c20084633027cb312faa"><div class="ttname"><a href="classSVF_1_1BranchStmt.html#ae3aecc257d37c20084633027cb312faa">SVF::BranchStmt::getSuccessors</a></div><div class="ttdeci">const std::vector&lt; const ICFGNode * &gt; &amp; getSuccessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00963">SVFStatements.h:963</a></div></div>
591
+ <div class="fragment"><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; {</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BranchVFGNode.html#ab2c5f49a3ac21d827b37b0e4b61f1a10">brstmt</a>-&gt;<a class="code" href="classSVF_1_1BranchStmt.html#a93040c884df211ac62d53ceafdd9c4dd">getSuccessors</a>();</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; }</div><div class="ttc" id="classSVF_1_1BranchStmt_html_a93040c884df211ac62d53ceafdd9c4dd"><div class="ttname"><a href="classSVF_1_1BranchStmt.html#a93040c884df211ac62d53ceafdd9c4dd">SVF::BranchStmt::getSuccessors</a></div><div class="ttdeci">const SuccAndCondPairVec &amp; getSuccessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00903">SVFStatements.h:903</a></div></div>
592
592
  <div class="ttc" id="classSVF_1_1BranchVFGNode_html_ab2c5f49a3ac21d827b37b0e4b61f1a10"><div class="ttname"><a href="classSVF_1_1BranchVFGNode.html#ab2c5f49a3ac21d827b37b0e4b61f1a10">SVF::BranchVFGNode::brstmt</a></div><div class="ttdeci">const BranchStmt * brstmt</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00540">VFGNode.h:540</a></div></div>
593
593
  </div><!-- fragment -->
594
594
  </div>
@@ -343,8 +343,9 @@ Private Attributes</h2></td></tr>
343
343
  </div><div class="memdoc">
344
344
 
345
345
  <p class="definition">Definition at line <a class="el" href="CSC_8cpp_source.html#l00076">76</a> of file <a class="el" href="CSC_8cpp_source.html">CSC.cpp</a>.</p>
346
- <div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;{</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment">// pwcReps[nodeId] = _scc-&gt;repNode(nodeId);</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="classSVF_1_1CSC.html#adac02224ec722f0cf1954d7a484bd11e">setVisited</a>(nodeId);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="classSVF_1_1CSC.html#af58e474ee7605663fd04fce58dc029d1">_I</a> += _w;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a0eaf3a742fb8003b031528ee7c1c4799">_D</a>[nodeId] = <a class="code" href="classSVF_1_1CSC.html#af58e474ee7605663fd04fce58dc029d1">_I</a>;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.push(nodeId);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* node = <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(nodeId);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ConstraintNode.html#ab1868f04de44f6fe1e9ac14f3d4ee56b">ConstraintNode::const_iterator</a> eit = node-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a6a2021d0d494e7d47469e4161280a098">directOutEdgeBegin</a>(); eit != node-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a7bf8a1955d6f19b8d0ae5bdeb9a0897f">directOutEdgeEnd</a>(); ++eit)</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> offset;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>* gepCGEdge = SVFUtil::dyn_cast&lt;NormalGepCGEdge&gt;(*eit))</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; offset = gepCGEdge-&gt;getFieldOffset();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; offset = 0;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dstId = (*eit)-&gt;getDstID();</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CSC.html#ad6639daea8a19a920c88af332a420d00">_scc</a>-&gt;<a class="code" href="classSVF_1_1SCCDetection.html#a3a5fdc9330a657240f77199f5aee602d">repNode</a>(nodeId) == <a class="code" href="classSVF_1_1CSC.html#ad6639daea8a19a920c88af332a420d00">_scc</a>-&gt;<a class="code" href="classSVF_1_1SCCDetection.html#a3a5fdc9330a657240f77199f5aee602d">repNode</a>(dstId) &amp;&amp; !<a class="code" href="classSVF_1_1CSC.html#a2913a7a83deae0b91f1f42dc45c4f3b2">isVisited</a>(dstId))</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a2e595f5584ac62cddb45b70d8865f100">visit</a>(dstId, offset);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a> _revS;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a> _C;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.empty())</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; {</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> backNodeId = <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.top();</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.pop();</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; _revS.push(backNodeId);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* backNode = <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(backNodeId);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(node, backNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375acfd0a194af0da66162545f0089eb4baa">ConstraintEdge::NormalGep</a>))</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>* normalGep = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>&gt;(<a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a04a57ef9803917346cb966e05ecd0de4">getEdge</a>(node, backNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375acfd0a194af0da66162545f0089eb4baa">ConstraintEdge::NormalGep</a>));</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> _w = normalGep-&gt;<a class="code" href="classSVF_1_1NormalGepCGEdge.html#a360460e0df7d804b3b19a45c1f043de9">getFieldOffset</a>();</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> _l = <a class="code" href="classSVF_1_1CSC.html#a0eaf3a742fb8003b031528ee7c1c4799">_D</a>[nodeId] +_w - <a class="code" href="classSVF_1_1CSC.html#a0eaf3a742fb8003b031528ee7c1c4799">_D</a>[backNodeId];</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; backNode-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.set(_l);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> cNodeId : _C)</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(cNodeId)-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.set(_l);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(node, backNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375ae5df3ce07dd670b48916f7b8ab33ae5a">ConstraintEdge::VariantGep</a>) ||</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(node, backNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a29b0aa3353f866ef1655ab6d4716feb9">ConstraintEdge::Copy</a>))</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> _l = _D[nodeId] - _D[backNodeId];</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; backNode-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.set(_l);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> cNodeId : _C)</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(cNodeId)-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.set(_l);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; _C.insert(backNodeId);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">while</span> (!_revS.empty())</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> backedId = _revS.top();</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.push(backedId);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; _revS.pop();</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; }</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.pop(); <span class="comment">// after checking all the edges of the top node of _S, remove the node</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;}</div><div class="ttc" id="classSVF_1_1ConstraintGraph_html_a5f57823a4918f6c6bfee9c18beddda51"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">SVF::ConstraintGraph::hasEdge</a></div><div class="ttdeci">bool hasEdge(ConstraintNode *src, ConstraintNode *dst, ConstraintEdge::ConstraintEdgeK kind)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00128">ConsG.h:128</a></div></div>
346
+ <div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;{</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="comment">// pwcReps[nodeId] = _scc-&gt;repNode(nodeId);</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="classSVF_1_1CSC.html#adac02224ec722f0cf1954d7a484bd11e">setVisited</a>(nodeId);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="classSVF_1_1CSC.html#af58e474ee7605663fd04fce58dc029d1">_I</a> += _w;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a0eaf3a742fb8003b031528ee7c1c4799">_D</a>[nodeId] = <a class="code" href="classSVF_1_1CSC.html#af58e474ee7605663fd04fce58dc029d1">_I</a>;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.push(nodeId);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* node = <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(nodeId);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ConstraintNode.html#ab1868f04de44f6fe1e9ac14f3d4ee56b">ConstraintNode::const_iterator</a> eit = node-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a6a2021d0d494e7d47469e4161280a098">directOutEdgeBegin</a>(); eit != node-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a7bf8a1955d6f19b8d0ae5bdeb9a0897f">directOutEdgeEnd</a>(); ++eit)</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> offset;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>* gepCGEdge = SVFUtil::dyn_cast&lt;NormalGepCGEdge&gt;(*eit))</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; offset = gepCGEdge-&gt;getConstantFieldIdx();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; offset = 0;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dstId = (*eit)-&gt;getDstID();</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CSC.html#ad6639daea8a19a920c88af332a420d00">_scc</a>-&gt;<a class="code" href="classSVF_1_1SCCDetection.html#a3a5fdc9330a657240f77199f5aee602d">repNode</a>(nodeId) == <a class="code" href="classSVF_1_1CSC.html#ad6639daea8a19a920c88af332a420d00">_scc</a>-&gt;<a class="code" href="classSVF_1_1SCCDetection.html#a3a5fdc9330a657240f77199f5aee602d">repNode</a>(dstId) &amp;&amp; !<a class="code" href="classSVF_1_1CSC.html#a2913a7a83deae0b91f1f42dc45c4f3b2">isVisited</a>(dstId))</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a2e595f5584ac62cddb45b70d8865f100">visit</a>(dstId, offset);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a> _revS;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a> _C;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.empty())</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; {</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> backNodeId = <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.top();</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.pop();</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; _revS.push(backNodeId);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* backNode = <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(backNodeId);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(node, backNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375acfd0a194af0da66162545f0089eb4baa">ConstraintEdge::NormalGep</a>))</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>* normalGep = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>&gt;(<a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a04a57ef9803917346cb966e05ecd0de4">getEdge</a>(node, backNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375acfd0a194af0da66162545f0089eb4baa">ConstraintEdge::NormalGep</a>));</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> _w = normalGep-&gt;<a class="code" href="classSVF_1_1NormalGepCGEdge.html#a710e0791e92cca74da3df03ad5278c55">getConstantFieldIdx</a>();</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> _l = <a class="code" href="classSVF_1_1CSC.html#a0eaf3a742fb8003b031528ee7c1c4799">_D</a>[nodeId] +_w - <a class="code" href="classSVF_1_1CSC.html#a0eaf3a742fb8003b031528ee7c1c4799">_D</a>[backNodeId];</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; backNode-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.set(_l);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> cNodeId : _C)</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(cNodeId)-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.set(_l);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(node, backNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375ae5df3ce07dd670b48916f7b8ab33ae5a">ConstraintEdge::VariantGep</a>) ||</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(node, backNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a29b0aa3353f866ef1655ab6d4716feb9">ConstraintEdge::Copy</a>))</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> _l = _D[nodeId] - _D[backNodeId];</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; backNode-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.set(_l);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> cNodeId : _C)</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-&gt;<a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(cNodeId)-&gt;<a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.set(_l);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; _C.insert(backNodeId);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">while</span> (!_revS.empty())</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> backedId = _revS.top();</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.push(backedId);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; _revS.pop();</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; }</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.pop(); <span class="comment">// after checking all the edges of the top node of _S, remove the node</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;}</div><div class="ttc" id="classSVF_1_1ConstraintGraph_html_a5f57823a4918f6c6bfee9c18beddda51"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">SVF::ConstraintGraph::hasEdge</a></div><div class="ttdeci">bool hasEdge(ConstraintNode *src, ConstraintNode *dst, ConstraintEdge::ConstraintEdgeK kind)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00128">ConsG.h:128</a></div></div>
347
347
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a04a57ef9803917346cb966e05ecd0de4"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a04a57ef9803917346cb966e05ecd0de4">SVF::ConstraintGraph::getEdge</a></div><div class="ttdeci">ConstraintEdge * getEdge(ConstraintNode *src, ConstraintNode *dst, ConstraintEdge::ConstraintEdgeK kind)</div><div class="ttdoc">Get an edge via its src and dst nodes and kind. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00146">ConsG.h:146</a></div></div>
348
+ <div class="ttc" id="classSVF_1_1NormalGepCGEdge_html_a710e0791e92cca74da3df03ad5278c55"><div class="ttname"><a href="classSVF_1_1NormalGepCGEdge.html#a710e0791e92cca74da3df03ad5278c55">SVF::NormalGepCGEdge::getConstantFieldIdx</a></div><div class="ttdeci">s64_t getConstantFieldIdx() const</div><div class="ttdoc">Get location set of the gep edge. </div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00307">ConsGEdge.h:307</a></div></div>
348
349
  <div class="ttc" id="classSVF_1_1ConstraintEdge_html_a663af27955ba0c545f34fa1f076b7375ae5df3ce07dd670b48916f7b8ab33ae5a"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375ae5df3ce07dd670b48916f7b8ab33ae5a">SVF::ConstraintEdge::VariantGep</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00056">ConsGEdge.h:56</a></div></div>
349
350
  <div class="ttc" id="namespaceSVF_html_a212231734fa43d5c7414137deaac7df3"><div class="ttname"><a href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">SVF::NodeSet</a></div><div class="ttdeci">Set&lt; NodeID &gt; NodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00114">SVFBasicTypes.h:114</a></div></div>
350
351
  <div class="ttc" id="classSVF_1_1ConstraintGraph_html_a26722666cc8f2fce61bed73f086a0e87"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">SVF::ConstraintGraph::getConstraintNode</a></div><div class="ttdeci">ConstraintNode * getConstraintNode(NodeID id) const</div><div class="ttdoc">Get/add/remove constraint node. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00107">ConsG.h:107</a></div></div>
@@ -366,7 +367,6 @@ Private Attributes</h2></td></tr>
366
367
  <div class="ttc" id="classSVF_1_1ConstraintNode_html_a6a2021d0d494e7d47469e4161280a098"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a6a2021d0d494e7d47469e4161280a098">SVF::ConstraintNode::directOutEdgeBegin</a></div><div class="ttdeci">iterator directOutEdgeBegin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00168">ConsGNode.h:168</a></div></div>
367
368
  <div class="ttc" id="classSVF_1_1CSC_html_a2913a7a83deae0b91f1f42dc45c4f3b2"><div class="ttname"><a href="classSVF_1_1CSC.html#a2913a7a83deae0b91f1f42dc45c4f3b2">SVF::CSC::isVisited</a></div><div class="ttdeci">bool isVisited(NodeID nId)</div><div class="ttdef"><b>Definition:</b> <a href="CSC_8h_source.html#l00075">CSC.h:75</a></div></div>
368
369
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if&lt;!is_simple_type&lt; Y &gt;::value, typename cast_retty&lt; X, const Y &gt;::ret_type &gt;::type dyn_cast(const Y &amp;Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
369
- <div class="ttc" id="classSVF_1_1NormalGepCGEdge_html_a360460e0df7d804b3b19a45c1f043de9"><div class="ttname"><a href="classSVF_1_1NormalGepCGEdge.html#a360460e0df7d804b3b19a45c1f043de9">SVF::NormalGepCGEdge::getFieldOffset</a></div><div class="ttdeci">s64_t getFieldOffset() const</div><div class="ttdoc">Get location set of the gep edge. </div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00307">ConsGEdge.h:307</a></div></div>
370
370
  <div class="ttc" id="classSVF_1_1CSC_html_af58e474ee7605663fd04fce58dc029d1"><div class="ttname"><a href="classSVF_1_1CSC.html#af58e474ee7605663fd04fce58dc029d1">SVF::CSC::_I</a></div><div class="ttdeci">NodeID _I</div><div class="ttdef"><b>Definition:</b> <a href="CSC_8h_source.html#l00060">CSC.h:60</a></div></div>
371
371
  <div class="ttc" id="classSVF_1_1CSC_html_a0eaf3a742fb8003b031528ee7c1c4799"><div class="ttname"><a href="classSVF_1_1CSC.html#a0eaf3a742fb8003b031528ee7c1c4799">SVF::CSC::_D</a></div><div class="ttdeci">IdToIdMap _D</div><div class="ttdef"><b>Definition:</b> <a href="CSC_8h_source.html#l00061">CSC.h:61</a></div></div>
372
372
  <div class="ttc" id="classSVF_1_1ConstraintNode_html_a7bf8a1955d6f19b8d0ae5bdeb9a0897f"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a7bf8a1955d6f19b8d0ae5bdeb9a0897f">SVF::ConstraintNode::directOutEdgeEnd</a></div><div class="ttdeci">iterator directOutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00176">ConsGNode.h:176</a></div></div>
@@ -89,31 +89,31 @@ $(function() {
89
89
  <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"></td></tr>
90
90
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"></td></tr>
91
91
  <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a6764973569c281d483afab17a75cb4dc">GenericEdge</a>(NodeTy *s, NodeTy *d, GEdgeFlag k)</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
92
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a793c53e0b4f9a58099c096f0a0856495">getBB</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
93
- <tr><td class="entry"><a class="el" href="classSVF_1_1CallPE.html#aa50cca8bd91ffb135a7998b58ad7966f">getCallInst</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1CallPE.html">SVF::CallPE</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
94
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CallPE.html#ab548c22dfbfeeaeb8ffe83417b396c09">getCallSite</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1CallPE.html">SVF::CallPE</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
95
- <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">SVF::SVFStmt::getDstID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
96
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::SVFStmt::getDstNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
97
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#af7bb0d687fc61cae1de639c88e472491">getEdgeID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
98
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
99
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#aa809a57c8cdaaa35dfc3cc0f3b33b52b">getICFGNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
100
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a86628ea173dec4934322f5d1caf2e1db">getInst</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
101
- <tr><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html#a973a2b79da223275ed6a1831837b89c7">getLHSVar</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html">SVF::AssignStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
102
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html">SVF::AssignStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
103
- <tr><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html#ad03d28d16754c9049dd4d0ad3b6c1e28">getRHSVar</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html">SVF::AssignStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
104
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html">SVF::AssignStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
105
- <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::SVFStmt::getSrcID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
106
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::SVFStmt::getSrcNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
107
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882">getValue</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
108
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">inst</a></td><td class="entry"><a class="el" href="classSVF_1_1CallPE.html">SVF::CallPE</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
109
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0b6c03af568b70903da6b200ac86c951">isPTAEdge</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
110
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a93fc6c4c991931c78c48500c2db50f66">KindToSVFStmtMapTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
111
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">Load</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
112
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a3b20523aed66ac8943d7d00ff777137b">makeEdgeFlagWithAddionalOpnd</a>(GEdgeKind k, const SVFVar *var)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
113
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">makeEdgeFlagWithCallInst</a>(GEdgeKind k, const ICFGNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
114
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#ad61722f886afaaee722ac55a4eed4d18">makeEdgeFlagWithStoreInst</a>(GEdgeKind k, const ICFGNode *store)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
115
- <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aff95460d4b859e657a9198b7c5e5c736">NodeType</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"></td></tr>
116
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ac2089ffeab3f27354b2094758c805746">NormalGep</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
92
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a20d960c19118d1ed319e0dbea94405e8">Gep</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
93
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a793c53e0b4f9a58099c096f0a0856495">getBB</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
94
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CallPE.html#aa50cca8bd91ffb135a7998b58ad7966f">getCallInst</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1CallPE.html">SVF::CallPE</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
95
+ <tr><td class="entry"><a class="el" href="classSVF_1_1CallPE.html#ab548c22dfbfeeaeb8ffe83417b396c09">getCallSite</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1CallPE.html">SVF::CallPE</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
96
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">SVF::SVFStmt::getDstID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
97
+ <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::SVFStmt::getDstNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
98
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#af7bb0d687fc61cae1de639c88e472491">getEdgeID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
99
+ <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
100
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#aa809a57c8cdaaa35dfc3cc0f3b33b52b">getICFGNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
101
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a86628ea173dec4934322f5d1caf2e1db">getInst</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
102
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html#a973a2b79da223275ed6a1831837b89c7">getLHSVar</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html">SVF::AssignStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
103
+ <tr><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html">SVF::AssignStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
104
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html#ad03d28d16754c9049dd4d0ad3b6c1e28">getRHSVar</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html">SVF::AssignStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
105
+ <tr><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html">SVF::AssignStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
106
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::SVFStmt::getSrcID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
107
+ <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::SVFStmt::getSrcNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
108
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882">getValue</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
109
+ <tr><td class="entry"><a class="el" href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">inst</a></td><td class="entry"><a class="el" href="classSVF_1_1CallPE.html">SVF::CallPE</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
110
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0b6c03af568b70903da6b200ac86c951">isPTAEdge</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
111
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a93fc6c4c991931c78c48500c2db50f66">KindToSVFStmtMapTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
112
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">Load</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
113
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a3b20523aed66ac8943d7d00ff777137b">makeEdgeFlagWithAddionalOpnd</a>(GEdgeKind k, const SVFVar *var)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
114
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">makeEdgeFlagWithCallInst</a>(GEdgeKind k, const ICFGNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
115
+ <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#ad61722f886afaaee722ac55a4eed4d18">makeEdgeFlagWithStoreInst</a>(GEdgeKind k, const ICFGNode *store)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
116
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aff95460d4b859e657a9198b7c5e5c736">NodeType</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"></td></tr>
117
117
  <tr><td class="entry"><a class="el" href="classSVF_1_1CallPE.html#a9ea8ddb83c64889c3baa128b72ff7207">operator=</a>(const CallPE &amp;)</td><td class="entry"><a class="el" href="classSVF_1_1CallPE.html">SVF::CallPE</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
118
118
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a0e461644bf9a4e50099b38f09222e858">operator==</a>(const GenericEdge&lt; NodeType &gt; *rhs) const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
119
119
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a2bdfa37167b5496629e5cae62705d5f2">PAGEdgeSetTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
@@ -132,9 +132,8 @@ $(function() {
132
132
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CallPE.html#aecdf349bde9547dae7eb88c6cfd34bab">toString</a>() const override</td><td class="entry"><a class="el" href="classSVF_1_1CallPE.html">SVF::CallPE</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
133
133
  <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#af1a9c2a18805560e46425bd98a35dea9">totalEdgeNum</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
134
134
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">UnaryOp</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
135
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3a8902fc2aa68428e271012861a2a2">VariantGep</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
136
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a548daea0cac6491de91d4840b7297741">~GenericEdge</a>()</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
137
- <tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#aac79c7e8d390f297002782afb0ba3ff0">~SVFStmt</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
135
+ <tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a548daea0cac6491de91d4840b7297741">~GenericEdge</a>()</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge&lt; NodeTy &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
136
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#aac79c7e8d390f297002782afb0ba3ff0">~SVFStmt</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
138
137
  </table></div><!-- contents -->
139
138
  <!-- start footer part -->
140
139
  <hr class="footer"/><address class="footer"><small>
@@ -219,16 +219,15 @@ Additional Inherited Members</h2></td></tr>
219
219
  <br />
220
220
  &#160;&#160;<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">Call</a>,
221
221
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a8d269a45adf13e69468f0357222ab2af">Ret</a>,
222
- <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ac2089ffeab3f27354b2094758c805746">NormalGep</a>,
223
- <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3a8902fc2aa68428e271012861a2a2">VariantGep</a>,
222
+ <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a20d960c19118d1ed319e0dbea94405e8">Gep</a>,
223
+ <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9">Phi</a>,
224
224
  <br />
225
- &#160;&#160;<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9">Phi</a>,
226
- <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a610d6662d1814cffbf23db29e7e620c0">Cmp</a>,
225
+ &#160;&#160;<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a610d6662d1814cffbf23db29e7e620c0">Cmp</a>,
227
226
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad58f5e59c55e1ffd23b83d16224fed13">BinaryOp</a>,
228
227
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">UnaryOp</a>,
228
+ <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad52703e3ec09b6a4f565e5d82279b6a3">Branch</a>,
229
229
  <br />
230
- &#160;&#160;<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad52703e3ec09b6a4f565e5d82279b6a3">Branch</a>,
231
- <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">ThreadFork</a>,
230
+ &#160;&#160;<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">ThreadFork</a>,
232
231
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">ThreadJoin</a>
233
232
  <br />
234
233
  }</td></tr>
@@ -270,7 +269,7 @@ Additional Inherited Members</h2></td></tr>
270
269
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
271
270
  <div class="textblock"><p>Call </p>
272
271
 
273
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00542">542</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
272
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00469">469</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
274
273
  </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
275
274
  <a id="a5e6271f5697a32b57efeccfedc61e331"></a>
276
275
  <h2 class="memtitle"><span class="permalink"><a href="#a5e6271f5697a32b57efeccfedc61e331">&#9670;&nbsp;</a></span>CallPE() <span class="overload">[1/3]</span></h2>
@@ -375,10 +374,10 @@ Additional Inherited Members</h2></td></tr>
375
374
 
376
375
  <p>constructor </p>
377
376
 
378
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00570">570</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
379
- <div class="fragment"><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; :</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <a class="code" href="classSVF_1_1AssignStmt.html#abc65520cc2b9608c97374829eb475c57">AssignStmt</a>(s,d,<a class="code" href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">makeEdgeFlagWithCallInst</a>(k,i)), <a class="code" href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">inst</a>(i)</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; {</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a4513c6e66b46c36219ba6d7403f3eb00"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">SVF::SVFStmt::makeEdgeFlagWithCallInst</a></div><div class="ttdeci">static GEdgeFlag makeEdgeFlagWithCallInst(GEdgeKind k, const ICFGNode *cs)</div><div class="ttdoc">Compute the unique edgeFlag value from edge kind and call site Instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00148">SVFStatements.h:148</a></div></div>
377
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00497">497</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
378
+ <div class="fragment"><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; :</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <a class="code" href="classSVF_1_1AssignStmt.html#abc65520cc2b9608c97374829eb475c57">AssignStmt</a>(s,d,<a class="code" href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">makeEdgeFlagWithCallInst</a>(k,i)), <a class="code" href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">inst</a>(i)</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; {</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a4513c6e66b46c36219ba6d7403f3eb00"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">SVF::SVFStmt::makeEdgeFlagWithCallInst</a></div><div class="ttdeci">static GEdgeFlag makeEdgeFlagWithCallInst(GEdgeKind k, const ICFGNode *cs)</div><div class="ttdoc">Compute the unique edgeFlag value from edge kind and call site Instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00147">SVFStatements.h:147</a></div></div>
380
379
  <div class="ttc" id="classSVF_1_1AssignStmt_html_abc65520cc2b9608c97374829eb475c57"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#abc65520cc2b9608c97374829eb475c57">SVF::AssignStmt::AssignStmt</a></div><div class="ttdeci">AssignStmt()</div><div class="ttdoc">place holder </div></div>
381
- <div class="ttc" id="classSVF_1_1CallPE_html_a60e8280eb3e77e67e3dfa4dcee943edf"><div class="ttname"><a href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">SVF::CallPE::inst</a></div><div class="ttdeci">const CallICFGNode * inst</div><div class="ttdoc">llvm instruction for this call </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00549">SVFStatements.h:549</a></div></div>
380
+ <div class="ttc" id="classSVF_1_1CallPE_html_a60e8280eb3e77e67e3dfa4dcee943edf"><div class="ttname"><a href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">SVF::CallPE::inst</a></div><div class="ttdeci">const CallICFGNode * inst</div><div class="ttdoc">llvm instruction for this call </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00476">SVFStatements.h:476</a></div></div>
382
381
  </div><!-- fragment -->
383
382
  </div>
384
383
  </div>
@@ -409,8 +408,8 @@ Additional Inherited Members</h2></td></tr>
409
408
 
410
409
  <p>Methods for support type inquiry through isa, cast, and dyn_cast: </p>
411
410
 
412
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00553">553</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
413
- <div class="fragment"><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; {</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; }</div></div><!-- fragment -->
411
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00480">480</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
412
+ <div class="fragment"><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; {</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; }</div></div><!-- fragment -->
414
413
  </div>
415
414
  </div>
416
415
  <a id="a188c51f3e378c451d34e90c96cca0cf5"></a>
@@ -437,8 +436,8 @@ Additional Inherited Members</h2></td></tr>
437
436
  </table>
438
437
  </div><div class="memdoc">
439
438
 
440
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00557">557</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
441
- <div class="fragment"><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; {</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVFStmt::Call</a></div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; || edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVFStmt::ThreadFork</a>;</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVF::SVFStmt::Call</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
439
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00484">484</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
440
+ <div class="fragment"><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; {</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVFStmt::Call</a></div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; || edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVFStmt::ThreadFork</a>;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVF::SVFStmt::Call</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
442
441
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVF::SVFStmt::ThreadFork</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
443
442
  </div><!-- fragment -->
444
443
  </div>
@@ -467,8 +466,8 @@ Additional Inherited Members</h2></td></tr>
467
466
  </table>
468
467
  </div><div class="memdoc">
469
468
 
470
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00562">562</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
471
- <div class="fragment"><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; {</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keywordflow">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVFStmt::Call</a></div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; || edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVFStmt::ThreadFork</a>;</div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVF::SVFStmt::Call</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
469
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00489">489</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
470
+ <div class="fragment"><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">return</span> edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVFStmt::Call</a></div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; || edge-&gt;getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVFStmt::ThreadFork</a>;</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVF::SVFStmt::Call</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
472
471
  <div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVF::SVFStmt::ThreadFork</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
473
472
  </div><!-- fragment -->
474
473
  </div>
@@ -498,8 +497,8 @@ Additional Inherited Members</h2></td></tr>
498
497
 
499
498
  <p>Get method for the call instruction. </p>
500
499
 
501
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00577">577</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
502
- <div class="fragment"><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; {</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">inst</a>;</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; }</div><div class="ttc" id="classSVF_1_1CallPE_html_a60e8280eb3e77e67e3dfa4dcee943edf"><div class="ttname"><a href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">SVF::CallPE::inst</a></div><div class="ttdeci">const CallICFGNode * inst</div><div class="ttdoc">llvm instruction for this call </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00549">SVFStatements.h:549</a></div></div>
500
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00504">504</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
501
+ <div class="fragment"><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; {</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">inst</a>;</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; }</div><div class="ttc" id="classSVF_1_1CallPE_html_a60e8280eb3e77e67e3dfa4dcee943edf"><div class="ttname"><a href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">SVF::CallPE::inst</a></div><div class="ttdeci">const CallICFGNode * inst</div><div class="ttdoc">llvm instruction for this call </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00476">SVFStatements.h:476</a></div></div>
503
502
  </div><!-- fragment -->
504
503
  </div>
505
504
  </div>
@@ -526,8 +525,8 @@ Additional Inherited Members</h2></td></tr>
526
525
  </table>
527
526
  </div><div class="memdoc">
528
527
 
529
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00581">581</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
530
- <div class="fragment"><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; {</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">inst</a>;</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; }</div><div class="ttc" id="classSVF_1_1CallPE_html_a60e8280eb3e77e67e3dfa4dcee943edf"><div class="ttname"><a href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">SVF::CallPE::inst</a></div><div class="ttdeci">const CallICFGNode * inst</div><div class="ttdoc">llvm instruction for this call </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00549">SVFStatements.h:549</a></div></div>
528
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00508">508</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
529
+ <div class="fragment"><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; {</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">inst</a>;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; }</div><div class="ttc" id="classSVF_1_1CallPE_html_a60e8280eb3e77e67e3dfa4dcee943edf"><div class="ttname"><a href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">SVF::CallPE::inst</a></div><div class="ttdeci">const CallICFGNode * inst</div><div class="ttdoc">llvm instruction for this call </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00476">SVFStatements.h:476</a></div></div>
531
530
  </div><!-- fragment -->
532
531
  </div>
533
532
  </div>
@@ -586,11 +585,11 @@ Additional Inherited Members</h2></td></tr>
586
585
 
587
586
  <p>Reimplemented in <a class="el" href="classSVF_1_1TDForkPE.html#aa385dc7e7e439cb4d8ee1524c8fbf9fe">SVF::TDForkPE</a>.</p>
588
587
 
589
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8cpp_source.html#l00211">211</a> of file <a class="el" href="SVFStatements_8cpp_source.html">SVFStatements.cpp</a>.</p>
590
- <div class="fragment"><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; std::string str;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;CallPE: [Var&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>() &lt;&lt; <span class="stringliteral">&quot; &lt;-- Var&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>() &lt;&lt; <span class="stringliteral">&quot;]\t&quot;</span>;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">Options::ShowSVFIRValue</a>) {</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; rawstr &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882">getValue</a>());</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; }</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a65ee8b43a3a4999eb112a197d1a9f882"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882">SVF::SVFStmt::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00116">SVFStatements.h:116</a></div></div>
591
- <div class="ttc" id="classSVF_1_1AssignStmt_html_a4cec89489e82c60c287cae3327f3f01d"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">SVF::AssignStmt::getRHSVarID</a></div><div class="ttdeci">NodeID getRHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00256">SVFStatements.h:256</a></div></div>
588
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8cpp_source.html#l00189">189</a> of file <a class="el" href="SVFStatements_8cpp_source.html">SVFStatements.cpp</a>.</p>
589
+ <div class="fragment"><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; {</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; std::string str;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;CallPE: [Var&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>() &lt;&lt; <span class="stringliteral">&quot; &lt;-- Var&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>() &lt;&lt; <span class="stringliteral">&quot;]\t&quot;</span>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">Options::ShowSVFIRValue</a>) {</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; rawstr &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882">getValue</a>());</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; }</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;}</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a65ee8b43a3a4999eb112a197d1a9f882"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882">SVF::SVFStmt::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00115">SVFStatements.h:115</a></div></div>
590
+ <div class="ttc" id="classSVF_1_1AssignStmt_html_a4cec89489e82c60c287cae3327f3f01d"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">SVF::AssignStmt::getRHSVarID</a></div><div class="ttdeci">NodeID getRHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00253">SVFStatements.h:253</a></div></div>
592
591
  <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>
593
- <div class="ttc" id="classSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00259">SVFStatements.h:259</a></div></div>
592
+ <div class="ttc" id="classSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00256">SVFStatements.h:256</a></div></div>
594
593
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00390">SVFUtil.cpp:390</a></div></div>
595
594
  <div class="ttc" id="classSVF_1_1Options_html_a63c2ff1420867ea4ef0a94d28b3f0558"><div class="ttname"><a href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">SVF::Options::ShowSVFIRValue</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; ShowSVFIRValue</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00134">Options.h:134</a></div></div>
596
595
  </div><!-- fragment -->
@@ -619,7 +618,7 @@ Additional Inherited Members</h2></td></tr>
619
618
 
620
619
  <p>llvm instruction for this call </p>
621
620
 
622
- <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00549">549</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
621
+ <p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00476">476</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
623
622
 
624
623
  </div>
625
624
  </div>