svf-tools 1.0.581 → 1.0.583

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 (286) hide show
  1. package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +1 -2
  2. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -2
  3. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +1 -5
  4. package/SVF-doxygen/html/html/Andersen_8h_source.html +1 -5
  5. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +1 -2
  6. package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +32 -30
  7. package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +11 -11
  8. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +11 -11
  9. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +15 -16
  10. package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +10 -10
  11. package/SVF-doxygen/html/html/CFLBase_8h_source.html +11 -9
  12. package/SVF-doxygen/html/html/CFLGramGraphChecker_8h_source.html +3 -3
  13. package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +23 -21
  14. package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +70 -66
  15. package/SVF-doxygen/html/html/CFLGrammar_8txt.html +28 -262
  16. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +5 -5
  17. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +2 -2
  18. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +10 -10
  19. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +37 -20
  20. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +22 -19
  21. package/SVF-doxygen/html/html/CFLSolver_8h_source.html +18 -15
  22. package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +10 -10
  23. package/SVF-doxygen/html/html/CFLStat_8h_source.html +8 -11
  24. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -3
  25. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +1 -3
  26. package/SVF-doxygen/html/html/CHG_8cpp_source.html +1 -1
  27. package/SVF-doxygen/html/html/CHG_8h_source.html +1 -1
  28. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +1 -4
  29. package/SVF-doxygen/html/html/CPPUtil_8h.html +4 -4
  30. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +1 -2
  31. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +3 -7
  32. package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
  33. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -3
  34. package/SVF-doxygen/html/html/DCHG_8h_source.html +1 -1
  35. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -4
  36. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +1 -3
  38. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +1 -2
  39. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -2
  40. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -3
  41. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -2
  42. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -5
  43. package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +2 -5
  44. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +1 -1
  45. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +1 -1
  46. package/SVF-doxygen/html/html/GrammarBuilder_8cpp_source.html +4 -4
  47. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -2
  48. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +1 -2
  49. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
  50. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  51. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
  52. package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
  53. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -2
  54. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -2
  55. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -3
  56. package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -2
  57. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -2
  58. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -2
  59. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -2
  60. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +1 -2
  61. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -2
  62. package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -4
  63. package/SVF-doxygen/html/html/MTA_8h_source.html +1 -2
  64. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -2
  65. package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -3
  66. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +1 -3
  67. package/SVF-doxygen/html/html/MemSSA_8h_source.html +1 -3
  68. package/SVF-doxygen/html/html/PCG_8cpp_source.html +1 -2
  69. package/SVF-doxygen/html/html/PEGGrammar_8txt.html +6 -6
  70. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +1 -1
  71. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  72. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +1 -2
  73. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +1 -3
  74. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +2 -3
  75. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  76. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +1 -3
  77. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +1 -2
  78. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +1 -2
  79. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +1 -2
  80. package/SVF-doxygen/html/html/SVFUtil_8h.html +1 -1
  81. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +1 -2
  82. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -2
  83. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -2
  84. package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +2 -2
  85. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -2
  86. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +1 -2
  87. package/SVF-doxygen/html/html/TCT_8cpp_source.html +1 -1
  88. package/SVF-doxygen/html/html/TCT_8h_source.html +1 -1
  89. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +1 -2
  90. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -1
  91. package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
  92. package/SVF-doxygen/html/html/VFG_8cpp_source.html +3 -5
  93. package/SVF-doxygen/html/html/VFG_8h_source.html +3 -6
  94. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -3
  95. package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +1 -3
  96. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  97. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  98. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +3 -3
  99. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +4 -4
  100. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +4 -4
  101. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +4 -4
  102. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +6 -6
  103. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +1 -1
  104. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +1 -2
  105. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +1 -1
  107. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +1 -2
  108. package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +58 -56
  109. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +4 -2
  110. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +47 -42
  111. package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +4 -2
  112. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +79 -26
  113. package/SVF-doxygen/html/html/classSVF_1_1CFLEdge-members.html +19 -18
  114. package/SVF-doxygen/html/html/classSVF_1_1CFLEdge.html +43 -20
  115. package/SVF-doxygen/html/html/classSVF_1_1CFLFIFOWorkList.html +24 -24
  116. package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar-members.html +40 -37
  117. package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar.html +55 -49
  118. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +15 -15
  119. package/SVF-doxygen/html/html/classSVF_1_1CFLNode-members.html +19 -9
  120. package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +379 -20
  121. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver-members.html +12 -9
  122. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +144 -53
  123. package/SVF-doxygen/html/html/classSVF_1_1CFLStat-members.html +31 -32
  124. package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +50 -78
  125. package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +2 -0
  126. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +14 -10
  127. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +5 -7
  128. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +1 -2
  129. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  130. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +8 -17
  132. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +4 -5
  133. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  134. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +2 -2
  135. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +6 -10
  136. package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +2 -2
  137. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +13 -14
  138. package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +3 -3
  139. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +4 -5
  140. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +6 -10
  141. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +2 -4
  142. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
  143. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase-members.html +23 -19
  144. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +197 -78
  145. package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder.html +5 -5
  146. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -2
  147. package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +2 -2
  148. package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +2 -2
  149. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +1 -2
  150. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  151. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +1 -2
  152. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +2 -5
  153. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +1 -2
  154. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +5 -8
  155. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +3 -7
  156. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +3 -6
  157. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +3 -6
  158. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -2
  159. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +13 -25
  160. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +1 -1
  161. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +1 -2
  162. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
  163. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +1 -2
  164. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  165. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +6 -10
  166. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +3 -3
  167. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +4 -6
  168. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +2 -3
  169. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +2 -3
  170. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -2
  171. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  172. package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +2 -2
  173. package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +1 -2
  174. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  175. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +1 -2
  176. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  177. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  178. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +2 -3
  179. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  180. package/SVF-doxygen/html/html/classSVF_1_1VFCFLGraphBuilder.html +1 -1
  181. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +14 -20
  182. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +4 -5
  183. package/SVF-doxygen/html/html/classllvm_1_1GraphPrinter.html +1 -2
  184. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  185. package/SVF-doxygen/html/html/functions.html +0 -3
  186. package/SVF-doxygen/html/html/functions_a.html +14 -4
  187. package/SVF-doxygen/html/html/functions_c.html +38 -30
  188. package/SVF-doxygen/html/html/functions_e.html +4 -1
  189. package/SVF-doxygen/html/html/functions_f.html +6 -6
  190. package/SVF-doxygen/html/html/functions_func.html +16 -6
  191. package/SVF-doxygen/html/html/functions_func_c.html +29 -27
  192. package/SVF-doxygen/html/html/functions_func_g.html +25 -16
  193. package/SVF-doxygen/html/html/functions_func_i.html +8 -4
  194. package/SVF-doxygen/html/html/functions_func_p.html +4 -1
  195. package/SVF-doxygen/html/html/functions_func_r.html +8 -2
  196. package/SVF-doxygen/html/html/functions_func_s.html +12 -9
  197. package/SVF-doxygen/html/html/functions_g.html +23 -14
  198. package/SVF-doxygen/html/html/functions_i.html +20 -13
  199. package/SVF-doxygen/html/html/functions_l.html +5 -5
  200. package/SVF-doxygen/html/html/functions_n.html +9 -4
  201. package/SVF-doxygen/html/html/functions_o.html +21 -10
  202. package/SVF-doxygen/html/html/functions_p.html +16 -17
  203. package/SVF-doxygen/html/html/functions_r.html +7 -1
  204. package/SVF-doxygen/html/html/functions_s.html +8 -5
  205. package/SVF-doxygen/html/html/functions_t.html +3 -3
  206. package/SVF-doxygen/html/html/functions_type_c.html +6 -0
  207. package/SVF-doxygen/html/html/functions_vars.html +0 -3
  208. package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
  209. package/SVF-doxygen/html/html/functions_vars_i.html +3 -0
  210. package/SVF-doxygen/html/html/functions_vars_n.html +6 -1
  211. package/SVF-doxygen/html/html/functions_vars_o.html +3 -0
  212. package/SVF-doxygen/html/html/functions_w.html +11 -11
  213. package/SVF-doxygen/html/html/globals_a.html +0 -4
  214. package/SVF-doxygen/html/html/globals_c.html +7 -8
  215. package/SVF-doxygen/html/html/globals_e.html +1 -2
  216. package/SVF-doxygen/html/html/globals_f.html +4 -8
  217. package/SVF-doxygen/html/html/globals_g.html +4 -8
  218. package/SVF-doxygen/html/html/globals_l.html +2 -8
  219. package/SVF-doxygen/html/html/globals_m.html +1 -4
  220. package/SVF-doxygen/html/html/globals_s.html +3 -6
  221. package/SVF-doxygen/html/html/globals_v.html +1 -4
  222. package/SVF-doxygen/html/html/globals_vars.html +22 -55
  223. package/SVF-doxygen/html/html/menudata.js +0 -1
  224. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  225. package/SVF-doxygen/html/html/namespaceSVF.html +4 -4
  226. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +2 -3
  227. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +9 -15
  228. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  229. package/SVF-doxygen/html/html/search/all_0.js +0 -1
  230. package/SVF-doxygen/html/html/search/all_1.js +6 -3
  231. package/SVF-doxygen/html/html/search/all_10.js +7 -6
  232. package/SVF-doxygen/html/html/search/all_11.js +3 -1
  233. package/SVF-doxygen/html/html/search/all_12.js +10 -9
  234. package/SVF-doxygen/html/html/search/all_13.js +6 -6
  235. package/SVF-doxygen/html/html/search/all_15.js +3 -4
  236. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  237. package/SVF-doxygen/html/html/search/all_3.js +8 -5
  238. package/SVF-doxygen/html/html/search/all_5.js +2 -1
  239. package/SVF-doxygen/html/html/search/all_6.js +3 -4
  240. package/SVF-doxygen/html/html/search/all_7.js +7 -5
  241. package/SVF-doxygen/html/html/search/all_9.js +6 -4
  242. package/SVF-doxygen/html/html/search/all_c.js +4 -5
  243. package/SVF-doxygen/html/html/search/all_d.js +1 -2
  244. package/SVF-doxygen/html/html/search/all_e.js +4 -3
  245. package/SVF-doxygen/html/html/search/all_f.js +3 -2
  246. package/SVF-doxygen/html/html/search/functions_0.js +4 -1
  247. package/SVF-doxygen/html/html/search/functions_10.js +2 -0
  248. package/SVF-doxygen/html/html/search/functions_11.js +1 -0
  249. package/SVF-doxygen/html/html/search/functions_2.js +3 -2
  250. package/SVF-doxygen/html/html/search/functions_6.js +3 -0
  251. package/SVF-doxygen/html/html/search/functions_8.js +2 -1
  252. package/SVF-doxygen/html/html/search/functions_f.js +1 -0
  253. package/SVF-doxygen/html/html/search/typedefs_2.js +2 -0
  254. package/SVF-doxygen/html/html/search/variables_0.js +0 -1
  255. package/SVF-doxygen/html/html/search/variables_1.js +1 -2
  256. package/SVF-doxygen/html/html/search/variables_12.js +1 -2
  257. package/SVF-doxygen/html/html/search/variables_13.js +3 -3
  258. package/SVF-doxygen/html/html/search/variables_15.js +1 -2
  259. package/SVF-doxygen/html/html/search/variables_3.js +1 -1
  260. package/SVF-doxygen/html/html/search/variables_5.js +2 -1
  261. package/SVF-doxygen/html/html/search/variables_6.js +1 -2
  262. package/SVF-doxygen/html/html/search/variables_7.js +4 -5
  263. package/SVF-doxygen/html/html/search/variables_9.js +2 -1
  264. package/SVF-doxygen/html/html/search/variables_c.js +1 -3
  265. package/SVF-doxygen/html/html/search/variables_d.js +0 -1
  266. package/SVF-doxygen/html/html/search/variables_e.js +3 -2
  267. package/SVF-doxygen/html/html/search/variables_f.js +1 -0
  268. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +3 -3
  269. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +4 -4
  270. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +1 -1
  271. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +2 -2
  272. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +1 -1
  273. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  274. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  275. package/include/CFL/CFLBase.h +2 -0
  276. package/include/CFL/CFLGrammar.h +13 -0
  277. package/include/CFL/CFLGrammar.txt +9 -33
  278. package/include/CFL/CFLSolver.h +8 -0
  279. package/include/CFL/CFLStat.h +3 -13
  280. package/include/Graphs/CFLGraph.h +69 -0
  281. package/lib/CFL/CFGNormalizer.cpp +1 -0
  282. package/lib/CFL/CFLAlias.cpp +5 -0
  283. package/lib/CFL/CFLGrammar.cpp +34 -1
  284. package/lib/CFL/CFLSolver.cpp +58 -45
  285. package/lib/CFL/CFLStat.cpp +20 -66
  286. package/package.json +1 -1
@@ -395,8 +395,8 @@ Additional Inherited Members</h2></td></tr>
395
395
  <p>Constructor. </p>
396
396
 
397
397
  <p class="definition">Definition at line <a class="el" href="VFGNode_8h_source.html#l00290">290</a> of file <a class="el" href="VFGNode_8h_source.html">VFGNode.h</a>.</p>
398
- <div class="fragment"><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; : <a class="code" href="classSVF_1_1StmtVFGNode.html#a03c4e0a31d2377ef4ffe46fe183ccd9d">StmtVFGNode</a>(<span class="keywordtype">id</span>,<a class="code" href="CFLGrammar_8txt.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>,<a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75af589a053fdb7efc728b68a324fc58b2b">Copy</a>)</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; {</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; }</div><div class="ttc" id="classSVF_1_1StmtVFGNode_html_a03c4e0a31d2377ef4ffe46fe183ccd9d"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a03c4e0a31d2377ef4ffe46fe183ccd9d">SVF::StmtVFGNode::StmtVFGNode</a></div><div class="ttdeci">StmtVFGNode(NodeID id, const PAGEdge *e, VFGNodeK k)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00124">VFGNode.h:124</a></div></div>
399
- <div class="ttc" id="CFLGrammar_8txt_html_a7669ee67a0563250c1efaa24d130e1ac"><div class="ttname"><a href="CFLGrammar_8txt.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a></div><div class="ttdeci">F F copy</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00007">CFLGrammar.txt:7</a></div></div>
398
+ <div class="fragment"><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; : <a class="code" href="classSVF_1_1StmtVFGNode.html#a03c4e0a31d2377ef4ffe46fe183ccd9d">StmtVFGNode</a>(<span class="keywordtype">id</span>,<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>,<a class="code" href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75af589a053fdb7efc728b68a324fc58b2b">Copy</a>)</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; {</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; }</div><div class="ttc" id="classSVF_1_1StmtVFGNode_html_a03c4e0a31d2377ef4ffe46fe183ccd9d"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a03c4e0a31d2377ef4ffe46fe183ccd9d">SVF::StmtVFGNode::StmtVFGNode</a></div><div class="ttdeci">StmtVFGNode(NodeID id, const PAGEdge *e, VFGNodeK k)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00124">VFGNode.h:124</a></div></div>
399
+ <div class="ttc" id="cJSON_8cpp_html_a7669ee67a0563250c1efaa24d130e1ac"><div class="ttname"><a href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a></div><div class="ttdeci">copy</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00414">cJSON.cpp:414</a></div></div>
400
400
  <div class="ttc" id="classSVF_1_1VFGNode_html_a99a54cf322b0eec3a1ef109ce5f2db75af589a053fdb7efc728b68a324fc58b2b"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a99a54cf322b0eec3a1ef109ce5f2db75af589a053fdb7efc728b68a324fc58b2b">SVF::VFGNode::Copy</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00054">VFGNode.h:54</a></div></div>
401
401
  </div><!-- fragment -->
402
402
  </div>
@@ -173,7 +173,7 @@ Protected Member Functions</h2></td></tr>
173
173
  <tr class="memitem:a345e5379f53b618adef014aa6887bfe7"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1DDAVFSolver.html#a345e5379f53b618adef014aa6887bfe7">isMustAlias</a> (const DPIm &amp;, const DPIm &amp;)</td></tr>
174
174
  <tr class="memdesc:a345e5379f53b618adef014aa6887bfe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether load and store are aliased <a href="#a345e5379f53b618adef014aa6887bfe7">More...</a><br /></td></tr>
175
175
  <tr class="separator:a345e5379f53b618adef014aa6887bfe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
176
- <tr class="memitem:a94bcddbc7b9ccecb3fbb693b13372785"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1DDAVFSolver.html#a94bcddbc7b9ccecb3fbb693b13372785">isStrongUpdate</a> (const CPtSet &amp;dstCPSet, const <a class="el" href="namespaceSVF.html#a54c5725186e66ead6faf53c10a288714">StoreSVFGNode</a> *<a class="el" href="CFLGrammar_8txt.html#a92d5a256d74eadeb5bfa131b84067f0d">store</a>)</td></tr>
176
+ <tr class="memitem:a94bcddbc7b9ccecb3fbb693b13372785"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1DDAVFSolver.html#a94bcddbc7b9ccecb3fbb693b13372785">isStrongUpdate</a> (const CPtSet &amp;dstCPSet, const <a class="el" href="namespaceSVF.html#a54c5725186e66ead6faf53c10a288714">StoreSVFGNode</a> *store)</td></tr>
177
177
  <tr class="memdesc:a94bcddbc7b9ccecb3fbb693b13372785"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return TRUE if this is a strong update STORE statement. <a href="#a94bcddbc7b9ccecb3fbb693b13372785">More...</a><br /></td></tr>
178
178
  <tr class="separator:a94bcddbc7b9ccecb3fbb693b13372785"><td class="memSeparator" colspan="2">&#160;</td></tr>
179
179
  <tr class="memitem:a20cadb651b41343437e135e985c4e566"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1DDAVFSolver.html#a20cadb651b41343437e135e985c4e566">isLocalCVarInRecursion</a> (const CVar &amp;var) const</td></tr>
@@ -235,7 +235,7 @@ Protected Member Functions</h2></td></tr>
235
235
  <tr class="memitem:ab10a34efa1acb6125ea32cf7a8cf919f"><td class="memItemLeft" align="right" valign="top">virtual CPtSet&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1DDAVFSolver.html#ab10a34efa1acb6125ea32cf7a8cf919f">processGepPts</a> (const <a class="el" href="namespaceSVF.html#a65a3be463427d1112a8b87f072f3d22f">GepSVFGNode</a> *gep, const CPtSet &amp;srcPts)=0</td></tr>
236
236
  <tr class="memdesc:ab10a34efa1acb6125ea32cf7a8cf919f"><td class="mdescLeft">&#160;</td><td class="mdescRight">ProcessGep node to generate field object nodes of a struct. <a href="#ab10a34efa1acb6125ea32cf7a8cf919f">More...</a><br /></td></tr>
237
237
  <tr class="separator:ab10a34efa1acb6125ea32cf7a8cf919f"><td class="memSeparator" colspan="2">&#160;</td></tr>
238
- <tr class="memitem:acfe7d961caac8f0f558881a9a006b1fa"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1DDAVFSolver.html#acfe7d961caac8f0f558881a9a006b1fa">handleAddr</a> (CPtSet &amp;pts, const DPIm &amp;dpm, const <a class="el" href="namespaceSVF.html#a959453cbb8ff2d852b526fd1ff74ce49">AddrSVFGNode</a> *<a class="el" href="CFLGrammar_8txt.html#aae7baac9bf1fe49869f5ab76e07bfd05">addr</a>)=0</td></tr>
238
+ <tr class="memitem:acfe7d961caac8f0f558881a9a006b1fa"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1DDAVFSolver.html#acfe7d961caac8f0f558881a9a006b1fa">handleAddr</a> (CPtSet &amp;pts, const DPIm &amp;dpm, const <a class="el" href="namespaceSVF.html#a959453cbb8ff2d852b526fd1ff74ce49">AddrSVFGNode</a> *addr)=0</td></tr>
239
239
  <tr class="memdesc:acfe7d961caac8f0f558881a9a006b1fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle AddrSVFGNode to add proper points-to. <a href="#acfe7d961caac8f0f558881a9a006b1fa">More...</a><br /></td></tr>
240
240
  <tr class="separator:acfe7d961caac8f0f558881a9a006b1fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
241
241
  <tr class="memitem:a38f5a6b666b2a427d55f1217f9c5595f"><td class="memItemLeft" align="right" valign="top">virtual CPtSet&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1DDAVFSolver.html#a38f5a6b666b2a427d55f1217f9c5595f">getConservativeCPts</a> (const DPIm &amp;dpm)=0</td></tr>
@@ -1101,7 +1101,7 @@ template&lt;class CVar, class CPtSet, class DPIm&gt; </div>
1101
1101
  </div><div class="memdoc">
1102
1102
 
1103
1103
  <p class="definition">Definition at line <a class="el" href="DDAVFSolver_8h_source.html#l00408">408</a> of file <a class="el" href="DDAVFSolver_8h_source.html">DDAVFSolver.h</a>.</p>
1104
- <div class="fragment"><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; {</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a54c5725186e66ead6faf53c10a288714">StoreSVFGNode</a>* <a class="code" href="CFLGrammar_8txt.html#a92d5a256d74eadeb5bfa131b84067f0d">store</a> = SVFUtil::cast&lt;StoreSVFGNode&gt;(oldDpm.getLoc());</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* storeSrc = <a class="code" href="classSVF_1_1DDAVFSolver.html#a55803a2d30137b5ad15c5afeec7c6b28">getDefSVFGNode</a>(store-&gt;getPAGSrcNode());</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;++backtrace to storeSrc from svfgNode &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1DDAVFSolver.html#a630aad14a285c954a50c632f9cb13fa9">getLoadDpm</a>(oldDpm).getLoc()-&gt;getId() &lt;&lt; <span class="stringliteral">&quot; to &quot;</span>&lt;&lt;</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; store-&gt;getId() &lt;&lt; <span class="stringliteral">&quot; to &quot;</span> &lt;&lt; storeSrc-&gt;getId() &lt;&lt;<span class="stringliteral">&quot;\n&quot;</span>);</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-&gt;<a class="code" href="classSVF_1_1VFG.html#ae1348fd6d196ee8a6bd8d98022464d50">getIntraVFGEdge</a>(storeSrc,store,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d">SVFGEdge::IntraDirectVF</a>);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; assert(edge &amp;&amp; <span class="stringliteral">&quot;Edge not found!!&quot;</span>);</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <a class="code" href="classSVF_1_1DDAVFSolver.html#af6a6243b497df5fdab9f658b9add9c8a">backwardPropDpm</a>(pts,store-&gt;getPAGSrcNodeID(),oldDpm,edge);</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d">SVF::VFGEdge::IntraDirectVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00053">VFGEdge.h:53</a></div></div>
1104
+ <div class="fragment"><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; {</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a54c5725186e66ead6faf53c10a288714">StoreSVFGNode</a>* store = SVFUtil::cast&lt;StoreSVFGNode&gt;(oldDpm.getLoc());</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* storeSrc = <a class="code" href="classSVF_1_1DDAVFSolver.html#a55803a2d30137b5ad15c5afeec7c6b28">getDefSVFGNode</a>(store-&gt;getPAGSrcNode());</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;++backtrace to storeSrc from svfgNode &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1DDAVFSolver.html#a630aad14a285c954a50c632f9cb13fa9">getLoadDpm</a>(oldDpm).getLoc()-&gt;getId() &lt;&lt; <span class="stringliteral">&quot; to &quot;</span>&lt;&lt;</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; store-&gt;getId() &lt;&lt; <span class="stringliteral">&quot; to &quot;</span> &lt;&lt; storeSrc-&gt;getId() &lt;&lt;<span class="stringliteral">&quot;\n&quot;</span>);</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-&gt;<a class="code" href="classSVF_1_1VFG.html#ae1348fd6d196ee8a6bd8d98022464d50">getIntraVFGEdge</a>(storeSrc,store,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d">SVFGEdge::IntraDirectVF</a>);</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; assert(edge &amp;&amp; <span class="stringliteral">&quot;Edge not found!!&quot;</span>);</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; <a class="code" href="classSVF_1_1DDAVFSolver.html#af6a6243b497df5fdab9f658b9add9c8a">backwardPropDpm</a>(pts,store-&gt;getPAGSrcNodeID(),oldDpm,edge);</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d">SVF::VFGEdge::IntraDirectVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00053">VFGEdge.h:53</a></div></div>
1105
1105
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_a55803a2d30137b5ad15c5afeec7c6b28"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a55803a2d30137b5ad15c5afeec7c6b28">SVF::DDAVFSolver::getDefSVFGNode</a></div><div class="ttdeci">const SVFGNode * getDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">GetDefinition SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00342">DDAVFSolver.h:342</a></div></div>
1106
1106
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_a630aad14a285c954a50c632f9cb13fa9"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a630aad14a285c954a50c632f9cb13fa9">SVF::DDAVFSolver::getLoadDpm</a></div><div class="ttdeci">const DPIm &amp; getLoadDpm(const DPIm &amp;dpm) const</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00696">DDAVFSolver.h:696</a></div></div>
1107
1107
  <div class="ttc" id="namespaceSVF_html_a5dfa3fa5129bacdc0be0c051ccf386df"><div class="ttname"><a href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVF::SVFGNode</a></div><div class="ttdeci">VFGNode SVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00043">SVFG.h:43</a></div></div>
@@ -1109,7 +1109,6 @@ template&lt;class CVar, class CPtSet, class DPIm&gt; </div>
1109
1109
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_af6a6243b497df5fdab9f658b9add9c8a"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#af6a6243b497df5fdab9f658b9add9c8a">SVF::DDAVFSolver::backwardPropDpm</a></div><div class="ttdeci">virtual void backwardPropDpm(CPtSet &amp;pts, NodeID ptr, const DPIm &amp;oldDpm, const SVFGEdge *edge)</div><div class="ttdoc">dpm transit during backward tracing </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00421">DDAVFSolver.h:421</a></div></div>
1110
1110
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
1111
1111
  <div class="ttc" id="namespaceSVF_html_a54c5725186e66ead6faf53c10a288714"><div class="ttname"><a href="namespaceSVF.html#a54c5725186e66ead6faf53c10a288714">SVF::StoreSVFGNode</a></div><div class="ttdeci">StoreVFGNode StoreSVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00053">SVFG.h:53</a></div></div>
1112
- <div class="ttc" id="CFLGrammar_8txt_html_a92d5a256d74eadeb5bfa131b84067f0d"><div class="ttname"><a href="CFLGrammar_8txt.html#a92d5a256d74eadeb5bfa131b84067f0d">store</a></div><div class="ttdeci">Memflow load store</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00030">CFLGrammar.txt:30</a></div></div>
1113
1112
  <div class="ttc" id="classSVF_1_1VFG_html_ae1348fd6d196ee8a6bd8d98022464d50"><div class="ttname"><a href="classSVF_1_1VFG.html#ae1348fd6d196ee8a6bd8d98022464d50">SVF::VFG::getIntraVFGEdge</a></div><div class="ttdeci">VFGEdge * getIntraVFGEdge(const VFGNode *src, const VFGNode *dst, VFGEdge::VFGEdgeK kind)</div><div class="ttdoc">Get a SVFG edge according to src and dst. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00916">VFG.cpp:916</a></div></div>
1114
1113
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_acb7980c7e0d1d8ad6abab0b80831d2a9"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">SVF::DDAVFSolver::getSVFG</a></div><div class="ttdeci">SVFG * getSVFG() const</div><div class="ttdoc">Return SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00118">DDAVFSolver.h:118</a></div></div>
1115
1114
  <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00155">SVFBasicTypes.h:155</a></div></div>
@@ -2476,11 +2475,10 @@ template&lt;class CVar, class CPtSet, class DPIm&gt; </div>
2476
2475
  <p>Find the unique element in cpts </p>
2477
2476
 
2478
2477
  <p class="definition">Definition at line <a class="el" href="DDAVFSolver_8h_source.html#l00449">449</a> of file <a class="el" href="DDAVFSolver_8h_source.html">DDAVFSolver.h</a>.</p>
2479
- <div class="fragment"><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; {</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">if</span> (dstCPSet.count() == 1)</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; {</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keyword">typename</span> CPtSet::iterator it = dstCPSet.begin();</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keyword">const</span> CVar&amp; var = *it;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="comment">// Strong update can be made if this points-to target is not heap, array or field-insensitive.</span></div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1DDAVFSolver.html#a645c7d0637b49e139898016ff652e1f3">isHeapCondMemObj</a>(var,<a class="code" href="CFLGrammar_8txt.html#a92d5a256d74eadeb5bfa131b84067f0d">store</a>) &amp;&amp; !<a class="code" href="classSVF_1_1DDAVFSolver.html#a9aaa5ee3dc8abc51c4b6e463e1949ee7">isArrayCondMemObj</a>(var)</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; &amp;&amp; !<a class="code" href="classSVF_1_1DDAVFSolver.html#a37a6321f50bef2939b287cc088e76170">isFieldInsenCondMemObj</a>(var) &amp;&amp; !<a class="code" href="classSVF_1_1DDAVFSolver.html#a20cadb651b41343437e135e985c4e566">isLocalCVarInRecursion</a>(var))</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; {</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; }</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; }</div><div class="ttc" id="classSVF_1_1DDAVFSolver_html_a37a6321f50bef2939b287cc088e76170"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a37a6321f50bef2939b287cc088e76170">SVF::DDAVFSolver::isFieldInsenCondMemObj</a></div><div class="ttdeci">bool isFieldInsenCondMemObj(const CVar &amp;var) const</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00652">DDAVFSolver.h:652</a></div></div>
2478
+ <div class="fragment"><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; {</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">if</span> (dstCPSet.count() == 1)</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; {</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keyword">typename</span> CPtSet::iterator it = dstCPSet.begin();</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <span class="keyword">const</span> CVar&amp; var = *it;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="comment">// Strong update can be made if this points-to target is not heap, array or field-insensitive.</span></div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1DDAVFSolver.html#a645c7d0637b49e139898016ff652e1f3">isHeapCondMemObj</a>(var,store) &amp;&amp; !<a class="code" href="classSVF_1_1DDAVFSolver.html#a9aaa5ee3dc8abc51c4b6e463e1949ee7">isArrayCondMemObj</a>(var)</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; &amp;&amp; !<a class="code" href="classSVF_1_1DDAVFSolver.html#a37a6321f50bef2939b287cc088e76170">isFieldInsenCondMemObj</a>(var) &amp;&amp; !<a class="code" href="classSVF_1_1DDAVFSolver.html#a20cadb651b41343437e135e985c4e566">isLocalCVarInRecursion</a>(var))</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; {</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; }</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; }</div><div class="ttc" id="classSVF_1_1DDAVFSolver_html_a37a6321f50bef2939b287cc088e76170"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a37a6321f50bef2939b287cc088e76170">SVF::DDAVFSolver::isFieldInsenCondMemObj</a></div><div class="ttdeci">bool isFieldInsenCondMemObj(const CVar &amp;var) const</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00652">DDAVFSolver.h:652</a></div></div>
2480
2479
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_a20cadb651b41343437e135e985c4e566"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a20cadb651b41343437e135e985c4e566">SVF::DDAVFSolver::isLocalCVarInRecursion</a></div><div class="ttdeci">virtual bool isLocalCVarInRecursion(const CVar &amp;var) const</div><div class="ttdoc">Whether a local variable is in function recursions. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00466">DDAVFSolver.h:466</a></div></div>
2481
2480
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_a9aaa5ee3dc8abc51c4b6e463e1949ee7"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a9aaa5ee3dc8abc51c4b6e463e1949ee7">SVF::DDAVFSolver::isArrayCondMemObj</a></div><div class="ttdeci">bool isArrayCondMemObj(const CVar &amp;var) const</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00646">DDAVFSolver.h:646</a></div></div>
2482
2481
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_a645c7d0637b49e139898016ff652e1f3"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a645c7d0637b49e139898016ff652e1f3">SVF::DDAVFSolver::isHeapCondMemObj</a></div><div class="ttdeci">virtual bool isHeapCondMemObj(const CVar &amp;var, const StoreSVFGNode *)</div><div class="ttdoc">Check heap and array object. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00639">DDAVFSolver.h:639</a></div></div>
2483
- <div class="ttc" id="CFLGrammar_8txt_html_a92d5a256d74eadeb5bfa131b84067f0d"><div class="ttname"><a href="CFLGrammar_8txt.html#a92d5a256d74eadeb5bfa131b84067f0d">store</a></div><div class="ttdeci">Memflow load store</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00030">CFLGrammar.txt:30</a></div></div>
2484
2482
  </div><!-- fragment -->
2485
2483
  </div>
2486
2484
  </div>
@@ -3110,9 +3108,8 @@ template&lt;class CVar, class CPtSet, class DPIm&gt; </div>
3110
3108
  <p>Backward traverse for top-level pointers of load/store statements </p>
3111
3109
 
3112
3110
  <p class="definition">Definition at line <a class="el" href="DDAVFSolver_8h_source.html#l00387">387</a> of file <a class="el" href="DDAVFSolver_8h_source.html">DDAVFSolver.h</a>.</p>
3113
- <div class="fragment"><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a3ce49be3724e1e8423ccdfa726fbf6c8">LoadSVFGNode</a>* <a class="code" href="CFLGrammar_8txt.html#af94ae7efab42c57589a313f6cc7ada63">load</a> = SVFUtil::cast&lt;LoadSVFGNode&gt;(oldDpm.getLoc());</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* loadSrc = <a class="code" href="classSVF_1_1DDAVFSolver.html#a55803a2d30137b5ad15c5afeec7c6b28">getDefSVFGNode</a>(load-&gt;getPAGSrcNode());</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;!##start new computation from loadSrc svfgNode &quot;</span> &lt;&lt;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; load-&gt;getId() &lt;&lt; <span class="stringliteral">&quot; --&gt; &quot;</span> &lt;&lt; loadSrc-&gt;getId() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>);</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-&gt;<a class="code" href="classSVF_1_1VFG.html#ae1348fd6d196ee8a6bd8d98022464d50">getIntraVFGEdge</a>(loadSrc,load,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d">SVFGEdge::IntraDirectVF</a>);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; assert(edge &amp;&amp; <span class="stringliteral">&quot;Edge not found!!&quot;</span>);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <a class="code" href="classSVF_1_1DDAVFSolver.html#af6a6243b497df5fdab9f658b9add9c8a">backwardPropDpm</a>(pts,load-&gt;getPAGSrcNodeID(),oldDpm,edge);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d">SVF::VFGEdge::IntraDirectVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00053">VFGEdge.h:53</a></div></div>
3111
+ <div class="fragment"><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; {</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a3ce49be3724e1e8423ccdfa726fbf6c8">LoadSVFGNode</a>* load = SVFUtil::cast&lt;LoadSVFGNode&gt;(oldDpm.getLoc());</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* loadSrc = <a class="code" href="classSVF_1_1DDAVFSolver.html#a55803a2d30137b5ad15c5afeec7c6b28">getDefSVFGNode</a>(load-&gt;getPAGSrcNode());</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;!##start new computation from loadSrc svfgNode &quot;</span> &lt;&lt;</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; load-&gt;getId() &lt;&lt; <span class="stringliteral">&quot; --&gt; &quot;</span> &lt;&lt; loadSrc-&gt;getId() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>);</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-&gt;<a class="code" href="classSVF_1_1VFG.html#ae1348fd6d196ee8a6bd8d98022464d50">getIntraVFGEdge</a>(loadSrc,load,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d">SVFGEdge::IntraDirectVF</a>);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; assert(edge &amp;&amp; <span class="stringliteral">&quot;Edge not found!!&quot;</span>);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <a class="code" href="classSVF_1_1DDAVFSolver.html#af6a6243b497df5fdab9f658b9add9c8a">backwardPropDpm</a>(pts,load-&gt;getPAGSrcNodeID(),oldDpm,edge);</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d">SVF::VFGEdge::IntraDirectVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00053">VFGEdge.h:53</a></div></div>
3114
3112
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_a55803a2d30137b5ad15c5afeec7c6b28"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a55803a2d30137b5ad15c5afeec7c6b28">SVF::DDAVFSolver::getDefSVFGNode</a></div><div class="ttdeci">const SVFGNode * getDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">GetDefinition SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00342">DDAVFSolver.h:342</a></div></div>
3115
- <div class="ttc" id="CFLGrammar_8txt_html_af94ae7efab42c57589a313f6cc7ada63"><div class="ttname"><a href="CFLGrammar_8txt.html#af94ae7efab42c57589a313f6cc7ada63">load</a></div><div class="ttdeci">F F store V load</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00009">CFLGrammar.txt:9</a></div></div>
3116
3113
  <div class="ttc" id="namespaceSVF_html_a5dfa3fa5129bacdc0be0c051ccf386df"><div class="ttname"><a href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVF::SVFGNode</a></div><div class="ttdeci">VFGNode SVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00043">SVFG.h:43</a></div></div>
3117
3114
  <div class="ttc" id="SVFBasicTypes_8h_html_a40845b3027a1237076aa8297ca39e730"><div class="ttname"><a href="SVFBasicTypes_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a></div><div class="ttdeci">#define DDDA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00166">SVFBasicTypes.h:166</a></div></div>
3118
3115
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_af6a6243b497df5fdab9f658b9add9c8a"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#af6a6243b497df5fdab9f658b9add9c8a">SVF::DDAVFSolver::backwardPropDpm</a></div><div class="ttdeci">virtual void backwardPropDpm(CPtSet &amp;pts, NodeID ptr, const DPIm &amp;oldDpm, const SVFGEdge *edge)</div><div class="ttdoc">dpm transit during backward tracing </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00421">DDAVFSolver.h:421</a></div></div>
@@ -3162,14 +3159,13 @@ template&lt;class CVar, class CPtSet, class DPIm&gt; </div>
3162
3159
  </div><div class="memdoc">
3163
3160
 
3164
3161
  <p class="definition">Definition at line <a class="el" href="DDAVFSolver_8h_source.html#l00398">398</a> of file <a class="el" href="DDAVFSolver_8h_source.html">DDAVFSolver.h</a>.</p>
3165
- <div class="fragment"><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; {</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a54c5725186e66ead6faf53c10a288714">StoreSVFGNode</a>* <a class="code" href="CFLGrammar_8txt.html#a92d5a256d74eadeb5bfa131b84067f0d">store</a> = SVFUtil::cast&lt;StoreSVFGNode&gt;(oldDpm.getLoc());</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* storeDst = <a class="code" href="classSVF_1_1DDAVFSolver.html#a55803a2d30137b5ad15c5afeec7c6b28">getDefSVFGNode</a>(store-&gt;getPAGDstNode());</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;!##start new computation from storeDst svfgNode &quot;</span> &lt;&lt;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; store-&gt;getId() &lt;&lt; <span class="stringliteral">&quot; --&gt; &quot;</span> &lt;&lt; storeDst-&gt;getId() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-&gt;<a class="code" href="classSVF_1_1VFG.html#ae1348fd6d196ee8a6bd8d98022464d50">getIntraVFGEdge</a>(storeDst,store,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d">SVFGEdge::IntraDirectVF</a>);</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; assert(edge &amp;&amp; <span class="stringliteral">&quot;Edge not found!!&quot;</span>);</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <a class="code" href="classSVF_1_1DDAVFSolver.html#af6a6243b497df5fdab9f658b9add9c8a">backwardPropDpm</a>(pts,store-&gt;getPAGDstNodeID(),oldDpm,edge);</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d">SVF::VFGEdge::IntraDirectVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00053">VFGEdge.h:53</a></div></div>
3162
+ <div class="fragment"><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; {</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a54c5725186e66ead6faf53c10a288714">StoreSVFGNode</a>* store = SVFUtil::cast&lt;StoreSVFGNode&gt;(oldDpm.getLoc());</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* storeDst = <a class="code" href="classSVF_1_1DDAVFSolver.html#a55803a2d30137b5ad15c5afeec7c6b28">getDefSVFGNode</a>(store-&gt;getPAGDstNode());</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;!##start new computation from storeDst svfgNode &quot;</span> &lt;&lt;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; store-&gt;getId() &lt;&lt; <span class="stringliteral">&quot; --&gt; &quot;</span> &lt;&lt; storeDst-&gt;getId() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>);</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-&gt;<a class="code" href="classSVF_1_1VFG.html#ae1348fd6d196ee8a6bd8d98022464d50">getIntraVFGEdge</a>(storeDst,store,<a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d">SVFGEdge::IntraDirectVF</a>);</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; assert(edge &amp;&amp; <span class="stringliteral">&quot;Edge not found!!&quot;</span>);</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <a class="code" href="classSVF_1_1DDAVFSolver.html#af6a6243b497df5fdab9f658b9add9c8a">backwardPropDpm</a>(pts,store-&gt;getPAGDstNodeID(),oldDpm,edge);</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; }</div><div class="ttc" id="classSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a08201e6cbff4817e44568747a966b71d">SVF::VFGEdge::IntraDirectVF</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00053">VFGEdge.h:53</a></div></div>
3166
3163
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_a55803a2d30137b5ad15c5afeec7c6b28"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a55803a2d30137b5ad15c5afeec7c6b28">SVF::DDAVFSolver::getDefSVFGNode</a></div><div class="ttdeci">const SVFGNode * getDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">GetDefinition SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00342">DDAVFSolver.h:342</a></div></div>
3167
3164
  <div class="ttc" id="namespaceSVF_html_a5dfa3fa5129bacdc0be0c051ccf386df"><div class="ttname"><a href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVF::SVFGNode</a></div><div class="ttdeci">VFGNode SVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00043">SVFG.h:43</a></div></div>
3168
3165
  <div class="ttc" id="SVFBasicTypes_8h_html_a40845b3027a1237076aa8297ca39e730"><div class="ttname"><a href="SVFBasicTypes_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a></div><div class="ttdeci">#define DDDA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00166">SVFBasicTypes.h:166</a></div></div>
3169
3166
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_af6a6243b497df5fdab9f658b9add9c8a"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#af6a6243b497df5fdab9f658b9add9c8a">SVF::DDAVFSolver::backwardPropDpm</a></div><div class="ttdeci">virtual void backwardPropDpm(CPtSet &amp;pts, NodeID ptr, const DPIm &amp;oldDpm, const SVFGEdge *edge)</div><div class="ttdoc">dpm transit during backward tracing </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00421">DDAVFSolver.h:421</a></div></div>
3170
3167
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
3171
3168
  <div class="ttc" id="namespaceSVF_html_a54c5725186e66ead6faf53c10a288714"><div class="ttname"><a href="namespaceSVF.html#a54c5725186e66ead6faf53c10a288714">SVF::StoreSVFGNode</a></div><div class="ttdeci">StoreVFGNode StoreSVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00053">SVFG.h:53</a></div></div>
3172
- <div class="ttc" id="CFLGrammar_8txt_html_a92d5a256d74eadeb5bfa131b84067f0d"><div class="ttname"><a href="CFLGrammar_8txt.html#a92d5a256d74eadeb5bfa131b84067f0d">store</a></div><div class="ttdeci">Memflow load store</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00030">CFLGrammar.txt:30</a></div></div>
3173
3169
  <div class="ttc" id="classSVF_1_1VFG_html_ae1348fd6d196ee8a6bd8d98022464d50"><div class="ttname"><a href="classSVF_1_1VFG.html#ae1348fd6d196ee8a6bd8d98022464d50">SVF::VFG::getIntraVFGEdge</a></div><div class="ttdeci">VFGEdge * getIntraVFGEdge(const VFGNode *src, const VFGNode *dst, VFGEdge::VFGEdgeK kind)</div><div class="ttdoc">Get a SVFG edge according to src and dst. </div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00916">VFG.cpp:916</a></div></div>
3174
3170
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_acb7980c7e0d1d8ad6abab0b80831d2a9"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">SVF::DDAVFSolver::getSVFG</a></div><div class="ttdeci">SVFG * getSVFG() const</div><div class="ttdoc">Return SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00118">DDAVFSolver.h:118</a></div></div>
3175
3171
  <div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00155">SVFBasicTypes.h:155</a></div></div>
@@ -118,9 +118,9 @@ Public Member Functions</h2></td></tr>
118
118
  <tr class="memitem:a64ba36ddcd304f6543e416c552763879 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a64ba36ddcd304f6543e416c552763879">getFunMRSet</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
119
119
  <tr class="memdesc:a64ba36ddcd304f6543e416c552763879 inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Memory Region set. <a href="classSVF_1_1MRGenerator.html#a64ba36ddcd304f6543e416c552763879">More...</a><br /></td></tr>
120
120
  <tr class="separator:a64ba36ddcd304f6543e416c552763879 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
121
- <tr class="memitem:a19da5768681a21c52a6c43761814a157 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a19da5768681a21c52a6c43761814a157">getLoadMRSet</a> (const <a class="el" href="classSVF_1_1LoadStmt.html">LoadStmt</a> *<a class="el" href="CFLGrammar_8txt.html#af94ae7efab42c57589a313f6cc7ada63">load</a>)</td></tr>
121
+ <tr class="memitem:a19da5768681a21c52a6c43761814a157 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a19da5768681a21c52a6c43761814a157">getLoadMRSet</a> (const <a class="el" href="classSVF_1_1LoadStmt.html">LoadStmt</a> *load)</td></tr>
122
122
  <tr class="separator:a19da5768681a21c52a6c43761814a157 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
123
- <tr class="memitem:a364ad1e34d09a92cdc0cfe530c84880f inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a364ad1e34d09a92cdc0cfe530c84880f">getStoreMRSet</a> (const <a class="el" href="classSVF_1_1StoreStmt.html">StoreStmt</a> *<a class="el" href="CFLGrammar_8txt.html#a92d5a256d74eadeb5bfa131b84067f0d">store</a>)</td></tr>
123
+ <tr class="memitem:a364ad1e34d09a92cdc0cfe530c84880f inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a364ad1e34d09a92cdc0cfe530c84880f">getStoreMRSet</a> (const <a class="el" href="classSVF_1_1StoreStmt.html">StoreStmt</a> *store)</td></tr>
124
124
  <tr class="separator:a364ad1e34d09a92cdc0cfe530c84880f inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
125
125
  <tr class="memitem:af06e8ac43efdedb97a2008cd93fc32d6 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#af06e8ac43efdedb97a2008cd93fc32d6">hasRefMRSet</a> (const <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *cs)</td></tr>
126
126
  <tr class="separator:af06e8ac43efdedb97a2008cd93fc32d6 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -146,7 +146,7 @@ Public Member Functions</h2></td></tr>
146
146
  <tr class="separator:a1930d622cd47f7fd875e1964b65ec506"><td class="memSeparator" colspan="2">&#160;</td></tr>
147
147
  <tr class="memitem:aa98b80dc86d0549183ec69b44b391bd7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#aa98b80dc86d0549183ec69b44b391bd7">extType_toString</a> (<a class="el" href="classSVF_1_1ExtAPI.html#a5df65081e82a05223ce781660ee199ca">extType</a> <a class="el" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</td></tr>
148
148
  <tr class="separator:aa98b80dc86d0549183ec69b44b391bd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
149
- <tr class="memitem:ac3e34227968d6a2835d63b1052da3c1a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#ac3e34227968d6a2835d63b1052da3c1a">get_name</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
149
+ <tr class="memitem:ac3e34227968d6a2835d63b1052da3c1a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#ac3e34227968d6a2835d63b1052da3c1a">get_name</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *F)</td></tr>
150
150
  <tr class="separator:ac3e34227968d6a2835d63b1052da3c1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
151
151
  <tr class="memitem:a906a3728bbcfb7a43ac0938ffcb3df23"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a906a3728bbcfb7a43ac0938ffcb3df23">get_opArgs</a> (const <a class="el" href="structcJSON.html">cJSON</a> *value)</td></tr>
152
152
  <tr class="separator:a906a3728bbcfb7a43ac0938ffcb3df23"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -160,27 +160,27 @@ Public Member Functions</h2></td></tr>
160
160
  <tr class="separator:accdb0b7f3ae8d4028bd09f3d861aa2be"><td class="memSeparator" colspan="2">&#160;</td></tr>
161
161
  <tr class="memitem:a5ef7edb1664ab87f00418e7808d00258"><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_1ExtAPI.html#a5ef7edb1664ab87f00418e7808d00258">isOverwrittenAppFunction</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a> *callee)</td></tr>
162
162
  <tr class="separator:a5ef7edb1664ab87f00418e7808d00258"><td class="memSeparator" colspan="2">&#160;</td></tr>
163
- <tr class="memitem:ae20ea24cce02de87d89a2d0b773a2357"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#ae20ea24cce02de87d89a2d0b773a2357">has_static</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
163
+ <tr class="memitem:ae20ea24cce02de87d89a2d0b773a2357"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#ae20ea24cce02de87d89a2d0b773a2357">has_static</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *F)</td></tr>
164
164
  <tr class="separator:ae20ea24cce02de87d89a2d0b773a2357"><td class="memSeparator" colspan="2">&#160;</td></tr>
165
- <tr class="memitem:ad3eefa086aa514e4d245a975ea3d45b5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#ad3eefa086aa514e4d245a975ea3d45b5">has_static2</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
165
+ <tr class="memitem:ad3eefa086aa514e4d245a975ea3d45b5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#ad3eefa086aa514e4d245a975ea3d45b5">has_static2</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *F)</td></tr>
166
166
  <tr class="separator:ad3eefa086aa514e4d245a975ea3d45b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
167
- <tr class="memitem:a0d865c55681a3b4a9bb965fd0200029d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a0d865c55681a3b4a9bb965fd0200029d">is_alloc</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
167
+ <tr class="memitem:a0d865c55681a3b4a9bb965fd0200029d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a0d865c55681a3b4a9bb965fd0200029d">is_alloc</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *F)</td></tr>
168
168
  <tr class="separator:a0d865c55681a3b4a9bb965fd0200029d"><td class="memSeparator" colspan="2">&#160;</td></tr>
169
- <tr class="memitem:a158e7da51d45b746e067dc40e912c477"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a158e7da51d45b746e067dc40e912c477">is_arg_alloc</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
169
+ <tr class="memitem:a158e7da51d45b746e067dc40e912c477"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a158e7da51d45b746e067dc40e912c477">is_arg_alloc</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *F)</td></tr>
170
170
  <tr class="separator:a158e7da51d45b746e067dc40e912c477"><td class="memSeparator" colspan="2">&#160;</td></tr>
171
- <tr class="memitem:a68939c789d0530151a4e79e79317531a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a68939c789d0530151a4e79e79317531a">get_alloc_arg_pos</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
171
+ <tr class="memitem:a68939c789d0530151a4e79e79317531a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a68939c789d0530151a4e79e79317531a">get_alloc_arg_pos</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *F)</td></tr>
172
172
  <tr class="separator:a68939c789d0530151a4e79e79317531a"><td class="memSeparator" colspan="2">&#160;</td></tr>
173
- <tr class="memitem:a934e293bd4050cb1ab5c19e8ad391ebe"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a934e293bd4050cb1ab5c19e8ad391ebe">no_struct_alloc</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
173
+ <tr class="memitem:a934e293bd4050cb1ab5c19e8ad391ebe"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a934e293bd4050cb1ab5c19e8ad391ebe">no_struct_alloc</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *F)</td></tr>
174
174
  <tr class="separator:a934e293bd4050cb1ab5c19e8ad391ebe"><td class="memSeparator" colspan="2">&#160;</td></tr>
175
- <tr class="memitem:aeef27a358ba1815760c893bd2d2335b1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#aeef27a358ba1815760c893bd2d2335b1">is_dealloc</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
175
+ <tr class="memitem:aeef27a358ba1815760c893bd2d2335b1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#aeef27a358ba1815760c893bd2d2335b1">is_dealloc</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *F)</td></tr>
176
176
  <tr class="separator:aeef27a358ba1815760c893bd2d2335b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
177
- <tr class="memitem:a82ebf71c5214f891f17e842e0b133b4f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a82ebf71c5214f891f17e842e0b133b4f">is_noop</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
177
+ <tr class="memitem:a82ebf71c5214f891f17e842e0b133b4f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a82ebf71c5214f891f17e842e0b133b4f">is_noop</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *F)</td></tr>
178
178
  <tr class="separator:a82ebf71c5214f891f17e842e0b133b4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
179
- <tr class="memitem:ac6d6bdc51a6b75d6d5741cb751559fe4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#ac6d6bdc51a6b75d6d5741cb751559fe4">is_realloc</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
179
+ <tr class="memitem:ac6d6bdc51a6b75d6d5741cb751559fe4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#ac6d6bdc51a6b75d6d5741cb751559fe4">is_realloc</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *F)</td></tr>
180
180
  <tr class="separator:ac6d6bdc51a6b75d6d5741cb751559fe4"><td class="memSeparator" colspan="2">&#160;</td></tr>
181
- <tr class="memitem:a5e8b816a3eb894f6b09403852df0d01b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a5e8b816a3eb894f6b09403852df0d01b">is_sameSignature</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
181
+ <tr class="memitem:a5e8b816a3eb894f6b09403852df0d01b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a5e8b816a3eb894f6b09403852df0d01b">is_sameSignature</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *F)</td></tr>
182
182
  <tr class="separator:a5e8b816a3eb894f6b09403852df0d01b"><td class="memSeparator" colspan="2">&#160;</td></tr>
183
- <tr class="memitem:a21f45c806672255c044d39490990eae2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a21f45c806672255c044d39490990eae2">is_ext</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<a class="el" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</td></tr>
183
+ <tr class="memitem:a21f45c806672255c044d39490990eae2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ExtAPI.html#a21f45c806672255c044d39490990eae2">is_ext</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *F)</td></tr>
184
184
  <tr class="separator:a21f45c806672255c044d39490990eae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
185
185
  </table><table class="memberdecls">
186
186
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
@@ -556,9 +556,8 @@ Static Private Attributes</h2></td></tr>
556
556
  </div><div class="memdoc">
557
557
 
558
558
  <p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#l00417">417</a> of file <a class="el" href="ExtAPI_8cpp_source.html">ExtAPI.cpp</a>.</p>
559
- <div class="fragment"><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;{</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExtAPI.html#a411a034f872afcf62ce5456e408ccf41">get_type</a>(<a class="code" href="classSVF_1_1ExtAPI.html#ac3e34227968d6a2835d63b1052da3c1a">get_name</a>(<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>));</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;}</div><div class="ttc" id="classSVF_1_1ExtAPI_html_a411a034f872afcf62ce5456e408ccf41"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a411a034f872afcf62ce5456e408ccf41">SVF::ExtAPI::get_type</a></div><div class="ttdeci">extType get_type(const SVF::SVFFunction *callee)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00417">ExtAPI.cpp:417</a></div></div>
559
+ <div class="fragment"><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160;{</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ExtAPI.html#a411a034f872afcf62ce5456e408ccf41">get_type</a>(<a class="code" href="classSVF_1_1ExtAPI.html#ac3e34227968d6a2835d63b1052da3c1a">get_name</a>(F));</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160;}</div><div class="ttc" id="classSVF_1_1ExtAPI_html_a411a034f872afcf62ce5456e408ccf41"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a411a034f872afcf62ce5456e408ccf41">SVF::ExtAPI::get_type</a></div><div class="ttdeci">extType get_type(const SVF::SVFFunction *callee)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00417">ExtAPI.cpp:417</a></div></div>
560
560
  <div class="ttc" id="classSVF_1_1ExtAPI_html_ac3e34227968d6a2835d63b1052da3c1a"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#ac3e34227968d6a2835d63b1052da3c1a">SVF::ExtAPI::get_name</a></div><div class="ttdeci">std::string get_name(const SVFFunction *F)</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00323">ExtAPI.cpp:323</a></div></div>
561
- <div class="ttc" id="CFLGrammar_8txt_html_a00967427d1c110ffcc82ea2a966f4564"><div class="ttname"><a href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00016">CFLGrammar.txt:16</a></div></div>
562
561
  </div><!-- fragment -->
563
562
  </div>
564
563
  </div>
@@ -575,7 +575,7 @@ Additional Inherited Members</h2></td></tr>
575
575
  <tr class="separator:a16f594356ea565eb1fed2acea516a16b inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
576
576
  <tr class="memitem:a979f89495966d71f9b470d832384ebd6 inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowSensitive.html#a979f89495966d71f9b470d832384ebd6">processSVFGNode</a> (<a class="el" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a> *node)</td></tr>
577
577
  <tr class="separator:a979f89495966d71f9b470d832384ebd6 inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
578
- <tr class="memitem:abb37c5e4e6fa4742e8dbcf397aea086e inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowSensitive.html#abb37c5e4e6fa4742e8dbcf397aea086e">processAddr</a> (const <a class="el" href="namespaceSVF.html#a959453cbb8ff2d852b526fd1ff74ce49">AddrSVFGNode</a> *<a class="el" href="CFLGrammar_8txt.html#aae7baac9bf1fe49869f5ab76e07bfd05">addr</a>)</td></tr>
578
+ <tr class="memitem:abb37c5e4e6fa4742e8dbcf397aea086e inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowSensitive.html#abb37c5e4e6fa4742e8dbcf397aea086e">processAddr</a> (const <a class="el" href="namespaceSVF.html#a959453cbb8ff2d852b526fd1ff74ce49">AddrSVFGNode</a> *addr)</td></tr>
579
579
  <tr class="separator:abb37c5e4e6fa4742e8dbcf397aea086e inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
580
580
  <tr class="memitem:aa401cc90de4e1c6842f08a43a28c5aa1 inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowSensitive.html#aa401cc90de4e1c6842f08a43a28c5aa1">processCopy</a> (const <a class="el" href="namespaceSVF.html#ab98f7c9e6311e649cdfd5d2f3f8e59be">CopySVFGNode</a> *<a class="el" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>)</td></tr>
581
581
  <tr class="separator:aa401cc90de4e1c6842f08a43a28c5aa1 inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -583,9 +583,9 @@ Additional Inherited Members</h2></td></tr>
583
583
  <tr class="separator:aa36fd1387e948e83107431179d819067 inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
584
584
  <tr class="memitem:ae017c39ac471727d06868e0eacafd791 inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowSensitive.html#ae017c39ac471727d06868e0eacafd791">processGep</a> (const <a class="el" href="namespaceSVF.html#a65a3be463427d1112a8b87f072f3d22f">GepSVFGNode</a> *edge)</td></tr>
585
585
  <tr class="separator:ae017c39ac471727d06868e0eacafd791 inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
586
- <tr class="memitem:a9968530b3dee876f55e6659530decf27 inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowSensitive.html#a9968530b3dee876f55e6659530decf27">processLoad</a> (const <a class="el" href="namespaceSVF.html#a3ce49be3724e1e8423ccdfa726fbf6c8">LoadSVFGNode</a> *<a class="el" href="CFLGrammar_8txt.html#af94ae7efab42c57589a313f6cc7ada63">load</a>)</td></tr>
586
+ <tr class="memitem:a9968530b3dee876f55e6659530decf27 inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowSensitive.html#a9968530b3dee876f55e6659530decf27">processLoad</a> (const <a class="el" href="namespaceSVF.html#a3ce49be3724e1e8423ccdfa726fbf6c8">LoadSVFGNode</a> *load)</td></tr>
587
587
  <tr class="separator:a9968530b3dee876f55e6659530decf27 inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
588
- <tr class="memitem:aa37d591d2d4f65957e840bef4d142a6a inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowSensitive.html#aa37d591d2d4f65957e840bef4d142a6a">processStore</a> (const <a class="el" href="namespaceSVF.html#a54c5725186e66ead6faf53c10a288714">StoreSVFGNode</a> *<a class="el" href="CFLGrammar_8txt.html#a92d5a256d74eadeb5bfa131b84067f0d">store</a>)</td></tr>
588
+ <tr class="memitem:aa37d591d2d4f65957e840bef4d142a6a inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowSensitive.html#aa37d591d2d4f65957e840bef4d142a6a">processStore</a> (const <a class="el" href="namespaceSVF.html#a54c5725186e66ead6faf53c10a288714">StoreSVFGNode</a> *store)</td></tr>
589
589
  <tr class="separator:aa37d591d2d4f65957e840bef4d142a6a inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
590
590
  <tr class="memitem:a9d81537ec20196315a9a2541477ec5bf inherit pro_methods_classSVF_1_1FlowSensitive"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowSensitive.html#a9d81537ec20196315a9a2541477ec5bf">updateCallGraph</a> (const <a class="el" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">CallSiteToFunPtrMap</a> &amp;callsites)</td></tr>
591
591
  <tr class="memdesc:a9d81537ec20196315a9a2541477ec5bf inherit pro_methods_classSVF_1_1FlowSensitive"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update call graph. <a href="classSVF_1_1FlowSensitive.html#a9d81537ec20196315a9a2541477ec5bf">More...</a><br /></td></tr>
@@ -237,7 +237,7 @@ Public Member Functions</h2></td></tr>
237
237
  <tr class="memitem:a5abae08577ab24684653421dc712431a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowDDA.html#a5abae08577ab24684653421dc712431a">finalize</a> () override</td></tr>
238
238
  <tr class="memdesc:a5abae08577ab24684653421dc712431a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finalize analysis. <a href="#a5abae08577ab24684653421dc712431a">More...</a><br /></td></tr>
239
239
  <tr class="separator:a5abae08577ab24684653421dc712431a"><td class="memSeparator" colspan="2">&#160;</td></tr>
240
- <tr class="memitem:afc3b2b4e0da7a2484ec35c3ce84a9d60"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowDDA.html#afc3b2b4e0da7a2484ec35c3ce84a9d60">isHeapCondMemObj</a> (const <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> &amp;var, const <a class="el" href="namespaceSVF.html#a54c5725186e66ead6faf53c10a288714">StoreSVFGNode</a> *<a class="el" href="CFLGrammar_8txt.html#a92d5a256d74eadeb5bfa131b84067f0d">store</a>) override</td></tr>
240
+ <tr class="memitem:afc3b2b4e0da7a2484ec35c3ce84a9d60"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowDDA.html#afc3b2b4e0da7a2484ec35c3ce84a9d60">isHeapCondMemObj</a> (const <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> &amp;var, const <a class="el" href="namespaceSVF.html#a54c5725186e66ead6faf53c10a288714">StoreSVFGNode</a> *store) override</td></tr>
241
241
  <tr class="separator:afc3b2b4e0da7a2484ec35c3ce84a9d60"><td class="memSeparator" colspan="2">&#160;</td></tr>
242
242
  <tr class="memitem:a086e428c83c2c3ed7fdfbbfd17abdf78"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowDDA.html#a086e428c83c2c3ed7fdfbbfd17abdf78">getConservativeCPts</a> (const <a class="el" href="namespaceSVF.html#aa50ee8563f99ba1eb897301f55e9d855">LocDPItem</a> &amp;dpm) override</td></tr>
243
243
  <tr class="memdesc:a086e428c83c2c3ed7fdfbbfd17abdf78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override parent method. <a href="#a086e428c83c2c3ed7fdfbbfd17abdf78">More...</a><br /></td></tr>
@@ -245,7 +245,7 @@ Public Member Functions</h2></td></tr>
245
245
  <tr class="memitem:a9749c82c1164adb17e2ae53e725ded9a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowDDA.html#a9749c82c1164adb17e2ae53e725ded9a">getPtrNodeID</a> (const <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> &amp;var) const override</td></tr>
246
246
  <tr class="memdesc:a9749c82c1164adb17e2ae53e725ded9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override parent method. <a href="#a9749c82c1164adb17e2ae53e725ded9a">More...</a><br /></td></tr>
247
247
  <tr class="separator:a9749c82c1164adb17e2ae53e725ded9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
248
- <tr class="memitem:a1b8d66dbe8c6587e74d70f5d231eb69d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowDDA.html#a1b8d66dbe8c6587e74d70f5d231eb69d">handleAddr</a> (<a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;pts, const <a class="el" href="namespaceSVF.html#aa50ee8563f99ba1eb897301f55e9d855">LocDPItem</a> &amp;dpm, const <a class="el" href="namespaceSVF.html#a959453cbb8ff2d852b526fd1ff74ce49">AddrSVFGNode</a> *<a class="el" href="CFLGrammar_8txt.html#aae7baac9bf1fe49869f5ab76e07bfd05">addr</a>) override</td></tr>
248
+ <tr class="memitem:a1b8d66dbe8c6587e74d70f5d231eb69d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowDDA.html#a1b8d66dbe8c6587e74d70f5d231eb69d">handleAddr</a> (<a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;pts, const <a class="el" href="namespaceSVF.html#aa50ee8563f99ba1eb897301f55e9d855">LocDPItem</a> &amp;dpm, const <a class="el" href="namespaceSVF.html#a959453cbb8ff2d852b526fd1ff74ce49">AddrSVFGNode</a> *addr) override</td></tr>
249
249
  <tr class="memdesc:a1b8d66dbe8c6587e74d70f5d231eb69d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle Address SVFGNode to add proper points-to. <a href="#a1b8d66dbe8c6587e74d70f5d231eb69d">More...</a><br /></td></tr>
250
250
  <tr class="separator:a1b8d66dbe8c6587e74d70f5d231eb69d"><td class="memSeparator" colspan="2">&#160;</td></tr>
251
251
  <tr class="memitem:ac48be374351dad54ee2418dde841cf24"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FlowDDA.html#ac48be374351dad54ee2418dde841cf24">processGepPts</a> (const <a class="el" href="namespaceSVF.html#a65a3be463427d1112a8b87f072f3d22f">GepSVFGNode</a> *gep, const <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;srcPts) override</td></tr>
@@ -592,7 +592,7 @@ Additional Inherited Members</h2></td></tr>
592
592
  <tr class="memitem:a345e5379f53b618adef014aa6887bfe7 inherit pro_methods_classSVF_1_1DDAVFSolver"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1DDAVFSolver.html#a345e5379f53b618adef014aa6887bfe7">isMustAlias</a> (const <a class="el" href="namespaceSVF.html#aa50ee8563f99ba1eb897301f55e9d855">LocDPItem</a> &amp;, const <a class="el" href="namespaceSVF.html#aa50ee8563f99ba1eb897301f55e9d855">LocDPItem</a> &amp;)</td></tr>
593
593
  <tr class="memdesc:a345e5379f53b618adef014aa6887bfe7 inherit pro_methods_classSVF_1_1DDAVFSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">whether load and store are aliased <a href="classSVF_1_1DDAVFSolver.html#a345e5379f53b618adef014aa6887bfe7">More...</a><br /></td></tr>
594
594
  <tr class="separator:a345e5379f53b618adef014aa6887bfe7 inherit pro_methods_classSVF_1_1DDAVFSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
595
- <tr class="memitem:a94bcddbc7b9ccecb3fbb693b13372785 inherit pro_methods_classSVF_1_1DDAVFSolver"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1DDAVFSolver.html#a94bcddbc7b9ccecb3fbb693b13372785">isStrongUpdate</a> (const <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;dstCPSet, const <a class="el" href="namespaceSVF.html#a54c5725186e66ead6faf53c10a288714">StoreSVFGNode</a> *<a class="el" href="CFLGrammar_8txt.html#a92d5a256d74eadeb5bfa131b84067f0d">store</a>)</td></tr>
595
+ <tr class="memitem:a94bcddbc7b9ccecb3fbb693b13372785 inherit pro_methods_classSVF_1_1DDAVFSolver"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1DDAVFSolver.html#a94bcddbc7b9ccecb3fbb693b13372785">isStrongUpdate</a> (const <a class="el" href="classSVF_1_1PointsTo.html">PointsTo</a> &amp;dstCPSet, const <a class="el" href="namespaceSVF.html#a54c5725186e66ead6faf53c10a288714">StoreSVFGNode</a> *store)</td></tr>
596
596
  <tr class="memdesc:a94bcddbc7b9ccecb3fbb693b13372785 inherit pro_methods_classSVF_1_1DDAVFSolver"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return TRUE if this is a strong update STORE statement. <a href="classSVF_1_1DDAVFSolver.html#a94bcddbc7b9ccecb3fbb693b13372785">More...</a><br /></td></tr>
597
597
  <tr class="separator:a94bcddbc7b9ccecb3fbb693b13372785 inherit pro_methods_classSVF_1_1DDAVFSolver"><td class="memSeparator" colspan="2">&#160;</td></tr>
598
598
  <tr class="memitem:a20cadb651b41343437e135e985c4e566 inherit pro_methods_classSVF_1_1DDAVFSolver"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1DDAVFSolver.html#a20cadb651b41343437e135e985c4e566">isLocalCVarInRecursion</a> (const <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> &amp;var) const</td></tr>
@@ -1182,8 +1182,7 @@ Additional Inherited Members</h2></td></tr>
1182
1182
  <p>Implements <a class="el" href="classSVF_1_1DDAVFSolver.html#acfe7d961caac8f0f558881a9a006b1fa">SVF::DDAVFSolver&lt; NodeID, PointsTo, LocDPItem &gt;</a>.</p>
1183
1183
 
1184
1184
  <p class="definition">Definition at line <a class="el" href="FlowDDA_8h_source.html#l00119">119</a> of file <a class="el" href="FlowDDA_8h_source.html">FlowDDA.h</a>.</p>
1185
- <div class="fragment"><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> srcID = <a class="code" href="CFLGrammar_8txt.html#aae7baac9bf1fe49869f5ab76e07bfd05">addr</a>-&gt;getPAGSrcNodeID();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">isFieldInsensitive</a>(srcID))</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; srcID = <a class="code" href="classSVF_1_1PointerAnalysis.html#a68b05bc02c5473c1e0d39ac4f4454bac">getFIObjVar</a>(srcID);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classSVF_1_1DDAVFSolver.html#a5a8632a957fce63f186dd8b657566dd2">addDDAPts</a>(pts,srcID);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t add points-to target &quot;</span> &lt;&lt; srcID &lt;&lt; <span class="stringliteral">&quot; to dpm &quot;</span>);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, dpm.dump());</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div><div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
1186
- <div class="ttc" id="CFLGrammar_8txt_html_aae7baac9bf1fe49869f5ab76e07bfd05"><div class="ttname"><a href="CFLGrammar_8txt.html#aae7baac9bf1fe49869f5ab76e07bfd05">addr</a></div><div class="ttdeci">V addrbar addr</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00017">CFLGrammar.txt:17</a></div></div>
1185
+ <div class="fragment"><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; {</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> srcID = addr-&gt;getPAGSrcNodeID();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">isFieldInsensitive</a>(srcID))</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; srcID = <a class="code" href="classSVF_1_1PointerAnalysis.html#a68b05bc02c5473c1e0d39ac4f4454bac">getFIObjVar</a>(srcID);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <a class="code" href="classSVF_1_1DDAVFSolver.html#a5a8632a957fce63f186dd8b657566dd2">addDDAPts</a>(pts,srcID);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() &lt;&lt; <span class="stringliteral">&quot;\t add points-to target &quot;</span> &lt;&lt; srcID &lt;&lt; <span class="stringliteral">&quot; to dpm &quot;</span>);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, dpm.dump());</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div><div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
1187
1186
  <div class="ttc" id="SVFBasicTypes_8h_html_a40845b3027a1237076aa8297ca39e730"><div class="ttname"><a href="SVFBasicTypes_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a></div><div class="ttdeci">#define DDDA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00166">SVFBasicTypes.h:166</a></div></div>
1188
1187
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
1189
1188
  <div class="ttc" id="classSVF_1_1DDAVFSolver_html_a5a8632a957fce63f186dd8b657566dd2"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a5a8632a957fce63f186dd8b657566dd2">SVF::DDAVFSolver&lt; NodeID, PointsTo, LocDPItem &gt;::addDDAPts</a></div><div class="ttdeci">virtual void addDDAPts(PointsTo &amp;pts, const NodeID &amp;var)</div><div class="ttdoc">Add pts. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00113">DDAVFSolver.h:113</a></div></div>