svf-tools 1.0.838 → 1.0.839
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.
- package/SVF-doxygen/html/CFLSVFGBuilder_8cpp.html +86 -0
- package/SVF-doxygen/html/CFLSVFGBuilder_8cpp_source.html +195 -0
- package/SVF-doxygen/html/CFLSVFGBuilder_8h.html +98 -0
- package/SVF-doxygen/html/CFLSVFGBuilder_8h_source.html +148 -0
- package/SVF-doxygen/html/CFLVF_8h.html +1 -1
- package/SVF-doxygen/html/CFLVF_8h_source.html +5 -5
- package/SVF-doxygen/html/DDAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/DDAVFSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/DoubleFreeChecker_8cpp_source.html +4 -4
- package/SVF-doxygen/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/FileChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/LeakChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/LeakChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/ProgSlice_8cpp_source.html +170 -136
- package/SVF-doxygen/html/ProgSlice_8h_source.html +314 -298
- package/SVF-doxygen/html/SVFGOPT_8h_source.html +5 -5
- package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFG_8cpp_source.html +29 -29
- package/SVF-doxygen/html/SVFG_8h_source.html +446 -444
- package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +246 -235
- package/SVF-doxygen/html/SaberSVFGBuilder_8cpp.html +1 -0
- package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +271 -265
- package/SVF-doxygen/html/SaberSVFGBuilder_8h_source.html +75 -62
- package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +257 -256
- package/SVF-doxygen/html/SrcSnkDDA_8h_source.html +18 -18
- package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +3 -3
- package/SVF-doxygen/html/WPAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/annotated.html +377 -376
- package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder-members.html +121 -0
- package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder.html +473 -0
- package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder.png +0 -0
- package/SVF-doxygen/html/classSVF_1_1CFLVF-members.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CFLVF.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1DDAStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1FileChecker.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1ProgSlice-members.html +25 -22
- package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +493 -366
- package/SVF-doxygen/html/classSVF_1_1SVFG-members.html +182 -181
- package/SVF-doxygen/html/classSVF_1_1SVFG.html +324 -298
- package/SVF-doxygen/html/classSVF_1_1SVFGBuilder.html +2 -1
- package/SVF-doxygen/html/classSVF_1_1SVFGBuilder.png +0 -0
- package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator-members.html +22 -19
- package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +238 -159
- package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder-members.html +11 -9
- package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +347 -285
- package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.png +0 -0
- package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +259 -257
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1WPAPass.html +1 -1
- package/SVF-doxygen/html/classes.html +95 -94
- package/SVF-doxygen/html/dir_1b8e404556d3e8597ae60437f0a084bf.html +2 -0
- package/SVF-doxygen/html/dir_8a9c8659eb68b9cbd3fead4690588a47.html +2 -0
- package/SVF-doxygen/html/files.html +6 -4
- package/SVF-doxygen/html/functions_b.html +4 -3
- package/SVF-doxygen/html/functions_c.html +38 -29
- package/SVF-doxygen/html/functions_f.html +6 -6
- package/SVF-doxygen/html/functions_func_b.html +3 -2
- package/SVF-doxygen/html/functions_func_c.html +29 -23
- package/SVF-doxygen/html/functions_func_g.html +14 -10
- package/SVF-doxygen/html/functions_func_i.html +1 -1
- package/SVF-doxygen/html/functions_func_r.html +6 -5
- package/SVF-doxygen/html/functions_func_s.html +20 -17
- package/SVF-doxygen/html/functions_func_~.html +3 -0
- package/SVF-doxygen/html/functions_g.html +10 -6
- package/SVF-doxygen/html/functions_i.html +5 -5
- package/SVF-doxygen/html/functions_m.html +1 -1
- package/SVF-doxygen/html/functions_n.html +8 -7
- package/SVF-doxygen/html/functions_p.html +15 -15
- package/SVF-doxygen/html/functions_r.html +12 -6
- package/SVF-doxygen/html/functions_rela_c.html +3 -0
- package/SVF-doxygen/html/functions_s.html +22 -11
- package/SVF-doxygen/html/functions_t.html +7 -7
- package/SVF-doxygen/html/functions_type_n.html +2 -1
- package/SVF-doxygen/html/functions_type_s.html +6 -1
- package/SVF-doxygen/html/functions_type_w.html +1 -0
- package/SVF-doxygen/html/functions_v.html +4 -6
- package/SVF-doxygen/html/functions_vars_m.html +1 -1
- package/SVF-doxygen/html/functions_vars_r.html +3 -0
- package/SVF-doxygen/html/functions_vars_s.html +2 -1
- package/SVF-doxygen/html/functions_w.html +4 -3
- package/SVF-doxygen/html/functions_~.html +3 -0
- package/SVF-doxygen/html/hierarchy.html +2 -1
- package/SVF-doxygen/html/namespaceSVF.html +2 -0
- package/SVF-doxygen/html/search/all_10.js +325 -325
- package/SVF-doxygen/html/search/all_11.js +224 -223
- package/SVF-doxygen/html/search/all_12.js +553 -551
- package/SVF-doxygen/html/search/all_13.js +190 -190
- package/SVF-doxygen/html/search/all_14.js +67 -67
- package/SVF-doxygen/html/search/all_15.js +167 -167
- package/SVF-doxygen/html/search/all_16.js +63 -63
- package/SVF-doxygen/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/search/all_19.js +11 -11
- package/SVF-doxygen/html/search/all_1a.js +173 -172
- package/SVF-doxygen/html/search/all_2.js +1 -1
- package/SVF-doxygen/html/search/all_3.js +466 -462
- package/SVF-doxygen/html/search/all_4.js +230 -230
- package/SVF-doxygen/html/search/all_5.js +119 -119
- package/SVF-doxygen/html/search/all_6.js +226 -226
- package/SVF-doxygen/html/search/all_7.js +1047 -1046
- package/SVF-doxygen/html/search/all_8.js +198 -198
- package/SVF-doxygen/html/search/all_9.js +608 -608
- package/SVF-doxygen/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/search/all_c.js +115 -115
- package/SVF-doxygen/html/search/all_d.js +197 -197
- package/SVF-doxygen/html/search/all_e.js +207 -207
- package/SVF-doxygen/html/search/all_f.js +116 -116
- package/SVF-doxygen/html/search/classes_0.js +26 -26
- package/SVF-doxygen/html/search/classes_1.js +9 -9
- package/SVF-doxygen/html/search/classes_10.js +73 -73
- package/SVF-doxygen/html/search/classes_11.js +15 -15
- package/SVF-doxygen/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/search/classes_14.js +14 -14
- package/SVF-doxygen/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/search/classes_2.js +81 -80
- package/SVF-doxygen/html/search/classes_3.js +37 -37
- package/SVF-doxygen/html/search/classes_4.js +9 -9
- package/SVF-doxygen/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/search/classes_6.js +104 -104
- package/SVF-doxygen/html/search/classes_7.js +34 -34
- package/SVF-doxygen/html/search/classes_8.js +56 -56
- package/SVF-doxygen/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/search/classes_d.js +18 -18
- package/SVF-doxygen/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/search/defines_1.js +2 -2
- package/SVF-doxygen/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/search/defines_3.js +20 -20
- package/SVF-doxygen/html/search/defines_4.js +2 -2
- package/SVF-doxygen/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/search/defines_c.js +3 -3
- package/SVF-doxygen/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/search/defines_e.js +7 -7
- package/SVF-doxygen/html/search/defines_f.js +3 -3
- package/SVF-doxygen/html/search/enums_0.js +3 -3
- package/SVF-doxygen/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/search/enums_4.js +3 -3
- package/SVF-doxygen/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
- package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
- package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
- package/SVF-doxygen/html/search/files_0.js +13 -13
- package/SVF-doxygen/html/search/files_1.js +7 -7
- package/SVF-doxygen/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/search/files_2.js +57 -55
- package/SVF-doxygen/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/search/files_6.js +9 -9
- package/SVF-doxygen/html/search/files_7.js +14 -14
- package/SVF-doxygen/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/search/files_b.js +2 -2
- package/SVF-doxygen/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/search/functions_0.js +13 -13
- package/SVF-doxygen/html/search/functions_1.js +362 -362
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +139 -139
- package/SVF-doxygen/html/search/functions_12.js +289 -288
- package/SVF-doxygen/html/search/functions_13.js +59 -59
- package/SVF-doxygen/html/search/functions_14.js +39 -39
- package/SVF-doxygen/html/search/functions_15.js +71 -71
- package/SVF-doxygen/html/search/functions_16.js +32 -32
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +173 -172
- package/SVF-doxygen/html/search/functions_2.js +89 -89
- package/SVF-doxygen/html/search/functions_3.js +260 -258
- package/SVF-doxygen/html/search/functions_4.js +78 -78
- package/SVF-doxygen/html/search/functions_5.js +53 -53
- package/SVF-doxygen/html/search/functions_6.js +60 -60
- package/SVF-doxygen/html/search/functions_7.js +856 -855
- package/SVF-doxygen/html/search/functions_8.js +149 -149
- package/SVF-doxygen/html/search/functions_9.js +424 -424
- package/SVF-doxygen/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/search/functions_c.js +25 -25
- package/SVF-doxygen/html/search/functions_d.js +79 -79
- package/SVF-doxygen/html/search/functions_e.js +35 -35
- package/SVF-doxygen/html/search/functions_f.js +56 -56
- package/SVF-doxygen/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/search/related_0.js +2 -2
- package/SVF-doxygen/html/search/related_1.js +2 -2
- package/SVF-doxygen/html/search/related_2.js +3 -2
- package/SVF-doxygen/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/search/related_c.js +2 -2
- package/SVF-doxygen/html/search/related_d.js +12 -12
- package/SVF-doxygen/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/search/typedefs_0.js +19 -19
- package/SVF-doxygen/html/search/typedefs_1.js +26 -26
- package/SVF-doxygen/html/search/typedefs_10.js +62 -61
- package/SVF-doxygen/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/search/typedefs_13.js +33 -33
- package/SVF-doxygen/html/search/typedefs_14.js +8 -8
- package/SVF-doxygen/html/search/typedefs_2.js +129 -129
- package/SVF-doxygen/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/search/typedefs_4.js +17 -17
- package/SVF-doxygen/html/search/typedefs_5.js +41 -41
- package/SVF-doxygen/html/search/typedefs_6.js +56 -56
- package/SVF-doxygen/html/search/typedefs_7.js +44 -44
- package/SVF-doxygen/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/search/typedefs_c.js +41 -41
- package/SVF-doxygen/html/search/typedefs_d.js +14 -14
- package/SVF-doxygen/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/search/variables_0.js +151 -151
- package/SVF-doxygen/html/search/variables_1.js +75 -75
- package/SVF-doxygen/html/search/variables_10.js +98 -98
- package/SVF-doxygen/html/search/variables_11.js +45 -44
- package/SVF-doxygen/html/search/variables_12.js +90 -90
- package/SVF-doxygen/html/search/variables_13.js +74 -74
- package/SVF-doxygen/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/search/variables_15.js +48 -48
- package/SVF-doxygen/html/search/variables_16.js +9 -9
- package/SVF-doxygen/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/search/variables_18.js +2 -2
- package/SVF-doxygen/html/search/variables_2.js +38 -38
- package/SVF-doxygen/html/search/variables_3.js +142 -142
- package/SVF-doxygen/html/search/variables_4.js +50 -50
- package/SVF-doxygen/html/search/variables_5.js +37 -37
- package/SVF-doxygen/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/search/variables_7.js +34 -34
- package/SVF-doxygen/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/search/variables_9.js +78 -78
- package/SVF-doxygen/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/search/variables_d.js +55 -55
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +30 -30
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/svf-ex_8cpp.html +1 -1
- package/SVF-doxygen/html/svf-ex_8cpp_source.html +1 -1
- package/package.json +1 -1
- package/svf/include/CFL/CFLSVFGBuilder.h +58 -0
- package/svf/include/CFL/CFLVF.h +2 -2
- package/svf/include/Graphs/SVFG.h +1 -0
- package/svf/include/SABER/ProgSlice.h +11 -0
- package/svf/include/SABER/SaberCondAllocator.h +8 -0
- package/svf/include/SABER/SaberSVFGBuilder.h +12 -2
- package/svf/lib/CFL/CFLSVFGBuilder.cpp +100 -0
- package/svf/lib/SABER/ProgSlice.cpp +48 -1
- package/svf/lib/SABER/SaberSVFGBuilder.cpp +5 -0
- package/svf/lib/SABER/SrcSnkDDA.cpp +1 -0
|
@@ -133,389 +133,390 @@ $(function() {
|
|
|
133
133
|
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> {</div>
|
|
134
134
|
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#ab2f81db3935389480baa5cb14e15e9d7"> 67</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1SVFGBuilder.html">SVFGBuilder</a>;</div>
|
|
135
135
|
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a93a4287b55425abc188e5f5f2de54297"> 68</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1SaberSVFGBuilder.html">SaberSVFGBuilder</a>;</div>
|
|
136
|
-
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
137
|
-
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
138
|
-
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
139
|
-
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
140
|
-
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  </div>
|
|
141
|
-
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> 
|
|
142
|
-
<div class="line"><a name="l00075"></a><span class="lineno"
|
|
143
|
-
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
144
|
-
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
145
|
-
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
146
|
-
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
147
|
-
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
148
|
-
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
149
|
-
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
150
|
-
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
151
|
-
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
152
|
-
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
153
|
-
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
154
|
-
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
155
|
-
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
156
|
-
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
157
|
-
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
158
|
-
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
159
|
-
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
160
|
-
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
161
|
-
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
162
|
-
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
163
|
-
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
164
|
-
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  </div>
|
|
165
|
-
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> 
|
|
166
|
-
<div class="line"><a name="l00099"></a><span class="lineno"
|
|
167
|
-
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
168
|
-
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
169
|
-
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
170
|
-
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
171
|
-
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
172
|
-
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
173
|
-
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#
|
|
174
|
-
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  </div>
|
|
175
|
-
<div class="line"><a name="
|
|
176
|
-
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  </div>
|
|
177
|
-
<div class="line"><a name="
|
|
178
|
-
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  </div>
|
|
179
|
-
<div class="line"><a name="
|
|
180
|
-
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  </div>
|
|
181
|
-
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> 
|
|
182
|
-
<div class="line"><a name="
|
|
183
|
-
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> 
|
|
184
|
-
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> 
|
|
185
|
-
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> 
|
|
186
|
-
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> 
|
|
187
|
-
<div class="line"><a name="
|
|
188
|
-
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> 
|
|
189
|
-
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> 
|
|
190
|
-
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> 
|
|
191
|
-
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> 
|
|
192
|
-
<div class="line"><a name="
|
|
193
|
-
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span> 
|
|
194
|
-
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> 
|
|
195
|
-
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> 
|
|
196
|
-
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> 
|
|
197
|
-
<div class="line"><a name="
|
|
198
|
-
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> 
|
|
199
|
-
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> 
|
|
200
|
-
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> 
|
|
201
|
-
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> 
|
|
202
|
-
<div class="line"><a name="
|
|
203
|
-
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> 
|
|
204
|
-
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> 
|
|
205
|
-
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> 
|
|
206
|
-
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> 
|
|
207
|
-
<div class="line"><a name="
|
|
208
|
-
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> 
|
|
209
|
-
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> 
|
|
210
|
-
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> 
|
|
211
|
-
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> 
|
|
212
|
-
<div class="line"><a name="
|
|
213
|
-
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> 
|
|
214
|
-
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> 
|
|
215
|
-
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> 
|
|
216
|
-
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> 
|
|
217
|
-
<div class="line"><a name="
|
|
218
|
-
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  </div>
|
|
219
|
-
<div class="line"><a name="
|
|
220
|
-
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  </div>
|
|
221
|
-
<div class="line"><a name="
|
|
222
|
-
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  </div>
|
|
223
|
-
<div class="line"><a name="
|
|
224
|
-
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> 
|
|
225
|
-
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> 
|
|
226
|
-
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> 
|
|
227
|
-
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> 
|
|
228
|
-
<div class="line"><a name="
|
|
229
|
-
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> 
|
|
230
|
-
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> 
|
|
231
|
-
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> 
|
|
232
|
-
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> 
|
|
233
|
-
<div class="line"><a name="
|
|
234
|
-
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  </div>
|
|
235
|
-
<div class="line"><a name="
|
|
236
|
-
<div class="line"><a name="l00186"></a><span class="lineno"
|
|
237
|
-
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> 
|
|
238
|
-
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> 
|
|
239
|
-
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> 
|
|
240
|
-
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> 
|
|
241
|
-
<div class="line"><a name="l00191"></a><span class="lineno"
|
|
242
|
-
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> 
|
|
243
|
-
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> 
|
|
244
|
-
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> 
|
|
245
|
-
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> 
|
|
246
|
-
<div class="line"><a name="l00196"></a><span class="lineno"
|
|
247
|
-
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> 
|
|
248
|
-
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> 
|
|
249
|
-
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> 
|
|
250
|
-
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> 
|
|
251
|
-
<div class="line"><a name="l00201"></a><span class="lineno"
|
|
252
|
-
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> 
|
|
253
|
-
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> 
|
|
254
|
-
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> 
|
|
255
|
-
<div class="line"><a name="
|
|
256
|
-
<div class="line"><a name="
|
|
257
|
-
<div class="line"><a name="l00209"></a><span class="lineno"
|
|
258
|
-
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> 
|
|
259
|
-
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> 
|
|
260
|
-
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> 
|
|
261
|
-
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> 
|
|
262
|
-
<div class="line"><a name="l00214"></a><span class="lineno"
|
|
263
|
-
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> 
|
|
264
|
-
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> 
|
|
265
|
-
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> 
|
|
266
|
-
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> 
|
|
267
|
-
<div class="line"><a name="l00219"></a><span class="lineno"
|
|
268
|
-
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> 
|
|
269
|
-
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> 
|
|
270
|
-
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> 
|
|
271
|
-
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> 
|
|
272
|
-
<div class="line"><a name="l00224"></a><span class="lineno"
|
|
273
|
-
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> 
|
|
274
|
-
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> 
|
|
275
|
-
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> 
|
|
276
|
-
<div class="line"><a name="
|
|
277
|
-
<div class="line"><a name="
|
|
278
|
-
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  </div>
|
|
279
|
-
<div class="line"><a name="
|
|
280
|
-
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  </div>
|
|
281
|
-
<div class="line"><a name="
|
|
282
|
-
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> 
|
|
283
|
-
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> 
|
|
284
|
-
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> 
|
|
285
|
-
<div class="line"><a name="
|
|
286
|
-
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> 
|
|
287
|
-
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> 
|
|
288
|
-
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> 
|
|
289
|
-
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> 
|
|
290
|
-
<div class="line"><a name="
|
|
291
|
-
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> 
|
|
292
|
-
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> 
|
|
293
|
-
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> 
|
|
294
|
-
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> 
|
|
295
|
-
<div class="line"><a name="
|
|
296
|
-
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> 
|
|
297
|
-
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> 
|
|
298
|
-
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> 
|
|
299
|
-
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> 
|
|
300
|
-
<div class="line"><a name="
|
|
301
|
-
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> 
|
|
302
|
-
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> 
|
|
303
|
-
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <
|
|
304
|
-
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <
|
|
305
|
-
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <
|
|
306
|
-
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> 
|
|
307
|
-
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> 
|
|
308
|
-
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> 
|
|
309
|
-
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#
|
|
310
|
-
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keyword">virtual</span> <
|
|
311
|
-
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  </div>
|
|
312
|
-
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> 
|
|
313
|
-
<div class="line"><a name="
|
|
314
|
-
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> 
|
|
315
|
-
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* <a class="code" href="classSVF_1_1SVFG.html#
|
|
316
|
-
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* <a class="code" href="classSVF_1_1SVFG.html#
|
|
317
|
-
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* <a class="code" href="classSVF_1_1SVFG.html#
|
|
318
|
-
<div class="line"><a name="
|
|
319
|
-
<div class="line"><a name="
|
|
320
|
-
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  </div>
|
|
321
|
-
<div class="line"><a name="
|
|
322
|
-
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  </div>
|
|
323
|
-
<div class="line"><a name="
|
|
324
|
-
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> 
|
|
325
|
-
<div class="line"><a name="
|
|
326
|
-
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> 
|
|
327
|
-
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <
|
|
328
|
-
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> 
|
|
329
|
-
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> 
|
|
330
|
-
<div class="line"><a name="
|
|
331
|
-
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> 
|
|
332
|
-
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> 
|
|
333
|
-
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <
|
|
334
|
-
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> 
|
|
335
|
-
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> 
|
|
336
|
-
<div class="line"><a name="
|
|
337
|
-
<div class="line"><a name="
|
|
338
|
-
<div class="line"><a name="l00309"></a><span class="lineno"
|
|
339
|
-
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> 
|
|
340
|
-
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> 
|
|
341
|
-
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>*
|
|
342
|
-
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="
|
|
343
|
-
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> 
|
|
344
|
-
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> 
|
|
345
|
-
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> 
|
|
346
|
-
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> 
|
|
347
|
-
<div class="line"><a name="l00318"></a><span class="lineno"
|
|
348
|
-
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> 
|
|
349
|
-
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> 
|
|
350
|
-
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>*
|
|
351
|
-
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <a class="code" href="
|
|
352
|
-
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> 
|
|
353
|
-
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> 
|
|
354
|
-
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> 
|
|
355
|
-
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> 
|
|
356
|
-
<div class="line"><a name="l00327"></a><span class="lineno"
|
|
357
|
-
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> 
|
|
358
|
-
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> 
|
|
359
|
-
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> 
|
|
360
|
-
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> 
|
|
361
|
-
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <
|
|
362
|
-
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> 
|
|
363
|
-
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> 
|
|
364
|
-
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> 
|
|
365
|
-
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> 
|
|
366
|
-
<div class="line"><a name="l00337"></a><span class="lineno"
|
|
367
|
-
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> 
|
|
368
|
-
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> 
|
|
369
|
-
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> 
|
|
370
|
-
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> 
|
|
371
|
-
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <
|
|
372
|
-
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> 
|
|
373
|
-
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> 
|
|
374
|
-
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> 
|
|
375
|
-
<div class="line"><a name="
|
|
136
|
+
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a17841bd17e7595f8feef1002b26ff188"> 69</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CFLSVFGBuilder.html">CFLSVFGBuilder</a>;</div>
|
|
137
|
+
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a665c93b68f49078c281270a028d04445"> 70</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1SVFG.html#a665c93b68f49078c281270a028d04445">TaintSVFGBuilder</a>;</div>
|
|
138
|
+
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a9ccd530dc4c49b0df372a2ce95b66921"> 71</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1SVFG.html#a9ccd530dc4c49b0df372a2ce95b66921">DDASVFGBuilder</a>;</div>
|
|
139
|
+
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#ac0e43f4a2043538c9046f95826caa725"> 72</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1MTASVFGBuilder.html">MTASVFGBuilder</a>;</div>
|
|
140
|
+
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a67654d252e9e93b74e35ba247048b41a"> 73</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classSVF_1_1SVFG.html#a67654d252e9e93b74e35ba247048b41a">RcSvfgBuilder</a>;</div>
|
|
141
|
+
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  </div>
|
|
142
|
+
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">public</span>:</div>
|
|
143
|
+
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a3d04ce1429b1edf90c9c0833e3b5a4a9"> 76</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1VFG.html#aca5b658b87728ac8bd7e562d51e771f8">VFGNodeIDToNodeMapTy</a> <a class="code" href="classSVF_1_1SVFG.html#a3d04ce1429b1edf90c9c0833e3b5a4a9">SVFGNodeIDToNodeMapTy</a>;</div>
|
|
144
|
+
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a2590182f3b28c7fc8b2b53c09ec4305c"> 77</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const PAGNode*, NodeID></a> <a class="code" href="classSVF_1_1SVFG.html#a2590182f3b28c7fc8b2b53c09ec4305c">PAGNodeToDefMapTy</a>;</div>
|
|
145
|
+
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#ac84d3749671f177b14749a825e36efe3"> 78</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const MRVer*, NodeID></a> <a class="code" href="classSVF_1_1SVFG.html#ac84d3749671f177b14749a825e36efe3">MSSAVarToDefMapTy</a>;</div>
|
|
146
|
+
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#aa9f520779475e4783eccc45c460e346a"> 79</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> <a class="code" href="classSVF_1_1SVFG.html#aa9f520779475e4783eccc45c460e346a">ActualINSVFGNodeSet</a>;</div>
|
|
147
|
+
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a2f6ed8a9f14657abc1e2a89247a84b99"> 80</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> <a class="code" href="classSVF_1_1SVFG.html#a2f6ed8a9f14657abc1e2a89247a84b99">ActualOUTSVFGNodeSet</a>;</div>
|
|
148
|
+
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a8859409373454b6b3d1252776e169cf5"> 81</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> <a class="code" href="classSVF_1_1SVFG.html#a8859409373454b6b3d1252776e169cf5">FormalINSVFGNodeSet</a>;</div>
|
|
149
|
+
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#acb7262c3b9161c77eb1b491048152fb0"> 82</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> <a class="code" href="classSVF_1_1SVFG.html#acb7262c3b9161c77eb1b491048152fb0">FormalOUTSVFGNodeSet</a>;</div>
|
|
150
|
+
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a727af89a305e48f399ad33cc7149dbcb"> 83</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const CallICFGNode*, ActualINSVFGNodeSet></a> <a class="code" href="classSVF_1_1SVFG.html#a727af89a305e48f399ad33cc7149dbcb">CallSiteToActualINsMapTy</a>;</div>
|
|
151
|
+
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a7c4e9c0fad457a2dc81a85f96fcec9ec"> 84</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const CallICFGNode*, ActualOUTSVFGNodeSet></a> <a class="code" href="classSVF_1_1SVFG.html#a7c4e9c0fad457a2dc81a85f96fcec9ec">CallSiteToActualOUTsMapTy</a>;</div>
|
|
152
|
+
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a2b4850c833564916c7fce46d55672038"> 85</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const SVFFunction*, FormalINSVFGNodeSet></a> <a class="code" href="classSVF_1_1SVFG.html#a2b4850c833564916c7fce46d55672038">FunctionToFormalINsMapTy</a>;</div>
|
|
153
|
+
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#ac4c65501e9beba5495a57dd469f78e5b"> 86</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const SVFFunction*, FormalOUTSVFGNodeSet></a> <a class="code" href="classSVF_1_1SVFG.html#ac4c65501e9beba5495a57dd469f78e5b">FunctionToFormalOUTsMapTy</a>;</div>
|
|
154
|
+
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#acdbe1c510273107b708935061b6c4127"> 87</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1MemSSA.html#a81bba824495a882b49e687683954b112">MemSSA::MUSet</a> <a class="code" href="classSVF_1_1SVFG.html#acdbe1c510273107b708935061b6c4127">MUSet</a>;</div>
|
|
155
|
+
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a8843ab4a4608f7f5f46f68ad31314c07"> 88</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1MemSSA.html#af9cf084e3070456d8cca491e1391b0c4">MemSSA::CHISet</a> <a class="code" href="classSVF_1_1SVFG.html#a8843ab4a4608f7f5f46f68ad31314c07">CHISet</a>;</div>
|
|
156
|
+
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#aef7ee9d802934d51b3761663bdaf0c05"> 89</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1MemSSA.html#a8a5d3597f3dba9744e170cc8c32bf25f">MemSSA::PHISet</a> <a class="code" href="classSVF_1_1SVFG.html#aef7ee9d802934d51b3761663bdaf0c05">PHISet</a>;</div>
|
|
157
|
+
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a7f4deffe7e13352b8c13eab110c834cc"> 90</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1MSSAMU.html">MemSSA::MU</a> <a class="code" href="classSVF_1_1SVFG.html#a7f4deffe7e13352b8c13eab110c834cc">MU</a>;</div>
|
|
158
|
+
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a60df52c14b303562ff5d73c7836e3495"> 91</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1MSSACHI.html">MemSSA::CHI</a> <a class="code" href="classSVF_1_1SVFG.html#a60df52c14b303562ff5d73c7836e3495">CHI</a>;</div>
|
|
159
|
+
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a86d4a41a881a3d2e5def103d7ba8bb2f"> 92</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1LoadMU.html">MemSSA::LOADMU</a> <a class="code" href="classSVF_1_1SVFG.html#a86d4a41a881a3d2e5def103d7ba8bb2f">LOADMU</a>;</div>
|
|
160
|
+
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#ad14cdbb3f1df1f716aa03b4d39f4e52b"> 93</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1StoreCHI.html">MemSSA::STORECHI</a> <a class="code" href="classSVF_1_1SVFG.html#ad14cdbb3f1df1f716aa03b4d39f4e52b">STORECHI</a>;</div>
|
|
161
|
+
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a047573d70182da351b9e3bbf66ca0056"> 94</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1RetMU.html">MemSSA::RETMU</a> <a class="code" href="classSVF_1_1SVFG.html#a047573d70182da351b9e3bbf66ca0056">RETMU</a>;</div>
|
|
162
|
+
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a101c5a8b31baf5c5613144f6e277abe9"> 95</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1EntryCHI.html">MemSSA::ENTRYCHI</a> <a class="code" href="classSVF_1_1SVFG.html#a101c5a8b31baf5c5613144f6e277abe9">ENTRYCHI</a>;</div>
|
|
163
|
+
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a5f3e0fbf83621cc661d2c59800756727"> 96</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1CallCHI.html">MemSSA::CALLCHI</a> <a class="code" href="classSVF_1_1SVFG.html#a5f3e0fbf83621cc661d2c59800756727">CALLCHI</a>;</div>
|
|
164
|
+
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#acd9fd6597e5dedf3c14a430830c7dd08"> 97</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1CallMU.html">MemSSA::CALLMU</a> <a class="code" href="classSVF_1_1SVFG.html#acd9fd6597e5dedf3c14a430830c7dd08">CALLMU</a>;</div>
|
|
165
|
+
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  </div>
|
|
166
|
+
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">protected</span>:</div>
|
|
167
|
+
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#aafa1b445bd3578daaba8f82e517745f1"> 100</a></span>  <a class="code" href="classSVF_1_1SVFG.html#ac84d3749671f177b14749a825e36efe3">MSSAVarToDefMapTy</a> <a class="code" href="classSVF_1_1SVFG.html#aafa1b445bd3578daaba8f82e517745f1">MSSAVarToDefMap</a>; </div>
|
|
168
|
+
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#af9313ebec4a52fd887169b7c6373a7d4"> 101</a></span>  <a class="code" href="classSVF_1_1SVFG.html#a727af89a305e48f399ad33cc7149dbcb">CallSiteToActualINsMapTy</a> <a class="code" href="classSVF_1_1SVFG.html#af9313ebec4a52fd887169b7c6373a7d4">callSiteToActualINMap</a>;</div>
|
|
169
|
+
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a39873b954b6e0eb0641f56ca4cd06ef9"> 102</a></span>  <a class="code" href="classSVF_1_1SVFG.html#a7c4e9c0fad457a2dc81a85f96fcec9ec">CallSiteToActualOUTsMapTy</a> <a class="code" href="classSVF_1_1SVFG.html#a39873b954b6e0eb0641f56ca4cd06ef9">callSiteToActualOUTMap</a>;</div>
|
|
170
|
+
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#ae51cd0493e4e767848b96b69045762fd"> 103</a></span>  <a class="code" href="classSVF_1_1SVFG.html#a2b4850c833564916c7fce46d55672038">FunctionToFormalINsMapTy</a> <a class="code" href="classSVF_1_1SVFG.html#ae51cd0493e4e767848b96b69045762fd">funToFormalINMap</a>;</div>
|
|
171
|
+
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a7d58f9fe97071ec9936174689cb99301"> 104</a></span>  <a class="code" href="classSVF_1_1SVFG.html#ac4c65501e9beba5495a57dd469f78e5b">FunctionToFormalOUTsMapTy</a> <a class="code" href="classSVF_1_1SVFG.html#a7d58f9fe97071ec9936174689cb99301">funToFormalOUTMap</a>;</div>
|
|
172
|
+
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#ad5c1415f488ec4412d5457262269eff3"> 105</a></span>  <a class="code" href="classSVF_1_1SVFGStat.html">SVFGStat</a> * <a class="code" href="classSVF_1_1SVFG.html#ad5c1415f488ec4412d5457262269eff3">stat</a>;</div>
|
|
173
|
+
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#aa6a563cab8678b2256ca6ae7838285c8"> 106</a></span>  std::unique_ptr<MemSSA> <a class="code" href="classSVF_1_1SVFG.html#aa6a563cab8678b2256ca6ae7838285c8">mssa</a>;</div>
|
|
174
|
+
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a0d6cfa496e6885fe31b6b7a651fa01a8"> 107</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a>* <a class="code" href="classSVF_1_1SVFG.html#a0d6cfa496e6885fe31b6b7a651fa01a8">pta</a>;</div>
|
|
175
|
+
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  </div>
|
|
176
|
+
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a82a93d9b7fcf1938e3090a0826a1ca7e">destroy</a>();</div>
|
|
177
|
+
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  </div>
|
|
178
|
+
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <a class="code" href="classSVF_1_1SVFG.html#a07d48490eda50ee6d31f295150409cf3">SVFG</a>(std::unique_ptr<MemSSA> <a class="code" href="classSVF_1_1SVFG.html#aa6a563cab8678b2256ca6ae7838285c8">mssa</a>, <a class="code" href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6">VFGK</a> k);</div>
|
|
179
|
+
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  </div>
|
|
180
|
+
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a0920e9f9896531959d74ae61013d96d6">buildSVFG</a>();</div>
|
|
181
|
+
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  </div>
|
|
182
|
+
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">public</span>:</div>
|
|
183
|
+
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a710a36fc3f4ad15010c4469abcd032e5"> 120</a></span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1SVFG.html#a710a36fc3f4ad15010c4469abcd032e5">~SVFG</a>()</div>
|
|
184
|
+
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  {</div>
|
|
185
|
+
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <a class="code" href="classSVF_1_1SVFG.html#a82a93d9b7fcf1938e3090a0826a1ca7e">destroy</a>();</div>
|
|
186
|
+
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  }</div>
|
|
187
|
+
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  </div>
|
|
188
|
+
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137"> 126</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SVFGStat.html">SVFGStat</a>* <a class="code" href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">getStat</a>()<span class="keyword"> const</span></div>
|
|
189
|
+
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="keyword"> </span>{</div>
|
|
190
|
+
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFG.html#ad5c1415f488ec4412d5457262269eff3">stat</a>;</div>
|
|
191
|
+
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  }</div>
|
|
192
|
+
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  </div>
|
|
193
|
+
<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#aeba803e60699f9d9422596d161d44241"> 132</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#aeba803e60699f9d9422596d161d44241">clearMSSA</a>()</div>
|
|
194
|
+
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  {</div>
|
|
195
|
+
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="code" href="classSVF_1_1SVFG.html#aa6a563cab8678b2256ca6ae7838285c8">mssa</a> = <span class="keyword">nullptr</span>;</div>
|
|
196
|
+
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  }</div>
|
|
197
|
+
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  </div>
|
|
198
|
+
<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9"> 138</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1MemSSA.html">MemSSA</a>* <a class="code" href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9">getMSSA</a>()<span class="keyword"> const</span></div>
|
|
199
|
+
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="keyword"> </span>{</div>
|
|
200
|
+
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFG.html#aa6a563cab8678b2256ca6ae7838285c8">mssa</a>.get();</div>
|
|
201
|
+
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  }</div>
|
|
202
|
+
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  </div>
|
|
203
|
+
<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#ab6c337637ccc9bbf0bcc7153b427f7ca"> 144</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a>* <a class="code" href="classSVF_1_1SVFG.html#ab6c337637ccc9bbf0bcc7153b427f7ca">getPTA</a>()<span class="keyword"> const</span></div>
|
|
204
|
+
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keyword"> </span>{</div>
|
|
205
|
+
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFG.html#a0d6cfa496e6885fe31b6b7a651fa01a8">pta</a>;</div>
|
|
206
|
+
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div>
|
|
207
|
+
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  </div>
|
|
208
|
+
<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11"> 150</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
|
|
209
|
+
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="keyword"> </span>{</div>
|
|
210
|
+
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1VFG.html#a915fa50effaeea10716b86528b15c6dc">getVFGNode</a>(<span class="keywordtype">id</span>);</div>
|
|
211
|
+
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  }</div>
|
|
212
|
+
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  </div>
|
|
213
|
+
<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a1b9d1ad76785ae0eb07979aa75325640"> 156</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFG.html#a1b9d1ad76785ae0eb07979aa75325640">hasSVFGNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div>
|
|
214
|
+
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="keyword"> </span>{</div>
|
|
215
|
+
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1VFG.html#a30eb9d717ad5bc8a9109a7bdef38f4a1">hasVFGNode</a>(<span class="keywordtype">id</span>);</div>
|
|
216
|
+
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  }</div>
|
|
217
|
+
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  </div>
|
|
218
|
+
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a49fc2c505720d5cfa57231529d1c7534">getInterVFEdgesForIndirectCallSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee, <a class="code" href="classSVF_1_1VFG.html#ac97ef8c479556f9ca2c40cd4d8a18694">SVFGEdgeSetTy</a>& edges);</div>
|
|
219
|
+
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  </div>
|
|
220
|
+
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a5fdaddc52e7342b834d76d64c1a1e498">dump</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>& file, <span class="keywordtype">bool</span> simple = <span class="keyword">false</span>);</div>
|
|
221
|
+
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  </div>
|
|
222
|
+
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#aefca97f043b3e220ef6012a049b83fdf">connectCallerAndCallee</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee, <a class="code" href="classSVF_1_1VFG.html#ac97ef8c479556f9ca2c40cd4d8a18694">SVFGEdgeSetTy</a>& edges);</div>
|
|
223
|
+
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  </div>
|
|
224
|
+
<div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb"> 171</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* <a class="code" href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">getDefSVFGNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode)<span class="keyword"> const</span></div>
|
|
225
|
+
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="keyword"> </span>{</div>
|
|
226
|
+
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(<a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(pagNode));</div>
|
|
227
|
+
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  }</div>
|
|
228
|
+
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  </div>
|
|
229
|
+
<div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#ad2d19c5b80b01c8a7bb41100bb156279"> 177</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFG.html#ad2d19c5b80b01c8a7bb41100bb156279">hasDefSVFGNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode)<span class="keyword"> const</span></div>
|
|
230
|
+
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="keyword"> </span>{</div>
|
|
231
|
+
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFG.html#a926c79813d5cfbd16201832024b95190">hasDef</a>(pagNode) && <a class="code" href="classSVF_1_1SVFG.html#a1b9d1ad76785ae0eb07979aa75325640">hasSVFGNode</a>(<a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(pagNode));</div>
|
|
232
|
+
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  }</div>
|
|
233
|
+
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  </div>
|
|
234
|
+
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb">performStat</a>();</div>
|
|
235
|
+
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  </div>
|
|
236
|
+
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  </div>
|
|
237
|
+
<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a21577bc4b4e55b23aa55083f5321b399"> 187</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFG.html#a21577bc4b4e55b23aa55083f5321b399">hasActualINSVFGNodes</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)<span class="keyword"> const</span></div>
|
|
238
|
+
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keyword"> </span>{</div>
|
|
239
|
+
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFG.html#af9313ebec4a52fd887169b7c6373a7d4">callSiteToActualINMap</a>.find(cs)!=<a class="code" href="classSVF_1_1SVFG.html#af9313ebec4a52fd887169b7c6373a7d4">callSiteToActualINMap</a>.end();</div>
|
|
240
|
+
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  }</div>
|
|
241
|
+
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  </div>
|
|
242
|
+
<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#ab1fde654cc464c5b4d1bafff83d346ed"> 192</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFG.html#ab1fde654cc464c5b4d1bafff83d346ed">hasActualOUTSVFGNodes</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)<span class="keyword"> const</span></div>
|
|
243
|
+
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="keyword"> </span>{</div>
|
|
244
|
+
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFG.html#a39873b954b6e0eb0641f56ca4cd06ef9">callSiteToActualOUTMap</a>.find(cs)!=<a class="code" href="classSVF_1_1SVFG.html#a39873b954b6e0eb0641f56ca4cd06ef9">callSiteToActualOUTMap</a>.end();</div>
|
|
245
|
+
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  }</div>
|
|
246
|
+
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  </div>
|
|
247
|
+
<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a65f28035e0fa5bebf76d28612b2f8ba8"> 197</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFG.html#a65f28035e0fa5bebf76d28612b2f8ba8">hasFormalINSVFGNodes</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)<span class="keyword"> const</span></div>
|
|
248
|
+
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="keyword"> </span>{</div>
|
|
249
|
+
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFG.html#ae51cd0493e4e767848b96b69045762fd">funToFormalINMap</a>.find(fun)!=<a class="code" href="classSVF_1_1SVFG.html#ae51cd0493e4e767848b96b69045762fd">funToFormalINMap</a>.end();</div>
|
|
250
|
+
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  }</div>
|
|
251
|
+
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  </div>
|
|
252
|
+
<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a1f8c60ad57bf473e0186b794d666b5c2"> 202</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFG.html#a1f8c60ad57bf473e0186b794d666b5c2">hasFormalOUTSVFGNodes</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)<span class="keyword"> const</span></div>
|
|
253
|
+
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="keyword"> </span>{</div>
|
|
254
|
+
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFG.html#a7d58f9fe97071ec9936174689cb99301">funToFormalOUTMap</a>.find(fun)!=<a class="code" href="classSVF_1_1SVFG.html#a7d58f9fe97071ec9936174689cb99301">funToFormalOUTMap</a>.end();</div>
|
|
255
|
+
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  }</div>
|
|
256
|
+
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  </div>
|
|
257
|
+
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  </div>
|
|
258
|
+
<div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a475205e221890204c7770c414ee63975"> 210</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SparseBitVector.html">ActualINSVFGNodeSet</a>& <a class="code" href="classSVF_1_1SVFG.html#a475205e221890204c7770c414ee63975">getActualINSVFGNodes</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)</div>
|
|
259
|
+
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  {</div>
|
|
260
|
+
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFG.html#af9313ebec4a52fd887169b7c6373a7d4">callSiteToActualINMap</a>[cs];</div>
|
|
261
|
+
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  }</div>
|
|
262
|
+
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  </div>
|
|
263
|
+
<div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a5b7ae610bee28acc2905ca82928e714f"> 215</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SparseBitVector.html">ActualOUTSVFGNodeSet</a>& <a class="code" href="classSVF_1_1SVFG.html#a5b7ae610bee28acc2905ca82928e714f">getActualOUTSVFGNodes</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)</div>
|
|
264
|
+
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  {</div>
|
|
265
|
+
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFG.html#a39873b954b6e0eb0641f56ca4cd06ef9">callSiteToActualOUTMap</a>[cs];</div>
|
|
266
|
+
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  }</div>
|
|
267
|
+
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  </div>
|
|
268
|
+
<div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a9d0714075d6071c26d26cf16c4dec7c5"> 220</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SparseBitVector.html">FormalINSVFGNodeSet</a>& <a class="code" href="classSVF_1_1SVFG.html#a9d0714075d6071c26d26cf16c4dec7c5">getFormalINSVFGNodes</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)</div>
|
|
269
|
+
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  {</div>
|
|
270
|
+
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFG.html#ae51cd0493e4e767848b96b69045762fd">funToFormalINMap</a>[fun];</div>
|
|
271
|
+
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  }</div>
|
|
272
|
+
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  </div>
|
|
273
|
+
<div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a287c337697eed7d92889bca0a0e370d7"> 225</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SparseBitVector.html">FormalOUTSVFGNodeSet</a>& <a class="code" href="classSVF_1_1SVFG.html#a287c337697eed7d92889bca0a0e370d7">getFormalOUTSVFGNodes</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)</div>
|
|
274
|
+
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  {</div>
|
|
275
|
+
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFG.html#a7d58f9fe97071ec9936174689cb99301">funToFormalOUTMap</a>[fun];</div>
|
|
276
|
+
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  }</div>
|
|
277
|
+
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  </div>
|
|
278
|
+
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1SVFG.html#ae2cff3c963136f474fac0a66aa8cff7b">isFunEntrySVFGNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node) <span class="keyword">const</span>;</div>
|
|
279
|
+
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  </div>
|
|
280
|
+
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1SVFG.html#ad189e45b0c810e68566ccc3bdb3f2e59">isCallSiteRetSVFGNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node) <span class="keyword">const</span>;</div>
|
|
281
|
+
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  </div>
|
|
282
|
+
<div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be"> 238</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">removeSVFGEdge</a>(<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge)</div>
|
|
283
|
+
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  {</div>
|
|
284
|
+
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <a class="code" href="classSVF_1_1VFG.html#aeb24b155fe31813b2e6dc0564f55738a">removeVFGEdge</a>(edge);</div>
|
|
285
|
+
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  }</div>
|
|
286
|
+
<div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a700c5fc6c1cb4136e55196fe3d393b8b"> 243</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a700c5fc6c1cb4136e55196fe3d393b8b">removeSVFGNode</a>(<a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node)</div>
|
|
287
|
+
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  {</div>
|
|
288
|
+
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <a class="code" href="classSVF_1_1VFG.html#a122aa5ad874170ef644cee8705f1ef3e">removeVFGNode</a>(node);</div>
|
|
289
|
+
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  }</div>
|
|
290
|
+
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  </div>
|
|
291
|
+
<div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297"> 249</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">addSVFGEdge</a>(<a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge)</div>
|
|
292
|
+
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  {</div>
|
|
293
|
+
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1VFG.html#a84cf5facb15e1d598c2527fba0c7634d">addVFGEdge</a>(edge);</div>
|
|
294
|
+
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  }</div>
|
|
295
|
+
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  </div>
|
|
296
|
+
<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#ac965abfbe9bdc872f98b36a171a7b5aa"> 255</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1SVFG.html#ac965abfbe9bdc872f98b36a171a7b5aa">getSVFGNodeNum</a>()<span class="keyword"> const</span></div>
|
|
297
|
+
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keyword"> </span>{</div>
|
|
298
|
+
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a38122734cbe71551a420dfb7fee2012e">nodeNum</a>;</div>
|
|
299
|
+
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  }</div>
|
|
300
|
+
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  </div>
|
|
301
|
+
<div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a8dd513e8e5343beeb5d117c1ff4e45ea"> 263</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html">DummyVersionPropSVFGNode</a> *<a class="code" href="classSVF_1_1SVFG.html#a8dd513e8e5343beeb5d117c1ff4e45ea">addDummyVersionPropSVFGNode</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">object</span>, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> version)</div>
|
|
302
|
+
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  {</div>
|
|
303
|
+
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html">DummyVersionPropSVFGNode</a> *dvpNode = <span class="keyword">new</span> <a class="code" href="classSVF_1_1DummyVersionPropSVFGNode.html">DummyVersionPropSVFGNode</a>(<a class="code" href="classSVF_1_1VFG.html#acb181d4f9faa40578c80e2018e2742b8">totalVFGNode</a>++, <span class="keywordtype">object</span>, version);</div>
|
|
304
|
+
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="comment">// Not going through add[S]VFGNode because we have no ICFG edge.</span></div>
|
|
305
|
+
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">addGNode</a>(dvpNode-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), dvpNode);</div>
|
|
306
|
+
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">return</span> dvpNode;</div>
|
|
307
|
+
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  }</div>
|
|
308
|
+
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  </div>
|
|
309
|
+
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a7ce9ec638995467c211958262be08ee1">writeToFile</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>& filename);</div>
|
|
310
|
+
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a9da50b8f467066b478143af64f7c9858">readFile</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>& filename);</div>
|
|
311
|
+
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* <a class="code" href="classSVF_1_1SVFG.html#a910298ed854a6b88b9dae44181ca72de">getMRVERFromString</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>& input);</div>
|
|
312
|
+
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  </div>
|
|
313
|
+
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="keyword">protected</span>:</div>
|
|
314
|
+
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  </div>
|
|
315
|
+
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* <a class="code" href="classSVF_1_1SVFG.html#ad03f0064d3a1ff397b35a606304a9c80">addIntraIndirectVFEdge</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> srcId, <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dstId, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cpts);</div>
|
|
316
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* <a class="code" href="classSVF_1_1SVFG.html#af8ceb1ebf745e6803c606c41f7a482ac">addCallIndirectVFEdge</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> srcId, <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dstId, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cpts,<a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId);</div>
|
|
317
|
+
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* <a class="code" href="classSVF_1_1SVFG.html#a8ebf0e285c69db8332a1f8914d6190f6">addRetIndirectVFEdge</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> srcId, <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dstId, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cpts,<a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId);</div>
|
|
318
|
+
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* <a class="code" href="classSVF_1_1SVFG.html#a1aba3845bad017f81cd5f938db03a161">addThreadMHPIndirectVFEdge</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> srcId, <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dstId, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cpts);</div>
|
|
319
|
+
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  </div>
|
|
320
|
+
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* <a class="code" href="classSVF_1_1SVFG.html#a57629591037e16e57a0178d102a405f2">addInterIndirectVFCallEdge</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ActualINSVFGNode.html">ActualINSVFGNode</a>* src, <span class="keyword">const</span> <a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a>* dst,<a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId);</div>
|
|
321
|
+
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  </div>
|
|
322
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* <a class="code" href="classSVF_1_1SVFG.html#ac9666ae7266cf1a9c0a5f7d28b39d1e9">addInterIndirectVFRetEdge</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html">FormalOUTSVFGNode</a>* src, <span class="keyword">const</span> <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html">ActualOUTSVFGNode</a>* dst,<a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId);</div>
|
|
323
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  </div>
|
|
324
|
+
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  </div>
|
|
325
|
+
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#ac9ab2a95cd7a09bbe4b4aa3e6fafaf62">connectAInAndFIn</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ActualINSVFGNode.html">ActualINSVFGNode</a>* actualIn, <span class="keyword">const</span> <a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a>* formalIn, <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId, <a class="code" href="classSVF_1_1VFG.html#ac97ef8c479556f9ca2c40cd4d8a18694">SVFGEdgeSetTy</a>& edges)</div>
|
|
326
|
+
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  {</div>
|
|
327
|
+
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1SVFG.html#a57629591037e16e57a0178d102a405f2">addInterIndirectVFCallEdge</a>(actualIn, formalIn,csId);</div>
|
|
328
|
+
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div>
|
|
329
|
+
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  edges.insert(edge);</div>
|
|
330
|
+
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  }</div>
|
|
331
|
+
<div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a402dfe93b8692be453c4f76d048b690a"> 300</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a402dfe93b8692be453c4f76d048b690a">connectFOutAndAOut</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html">FormalOUTSVFGNode</a>* formalOut, <span class="keyword">const</span> <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html">ActualOUTSVFGNode</a>* actualOut, <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId, <a class="code" href="classSVF_1_1VFG.html#ac97ef8c479556f9ca2c40cd4d8a18694">SVFGEdgeSetTy</a>& edges)</div>
|
|
332
|
+
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  {</div>
|
|
333
|
+
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1SVFG.html#ac9666ae7266cf1a9c0a5f7d28b39d1e9">addInterIndirectVFRetEdge</a>(formalOut, actualOut,csId);</div>
|
|
334
|
+
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div>
|
|
335
|
+
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  edges.insert(edge);</div>
|
|
336
|
+
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  }</div>
|
|
337
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  </div>
|
|
338
|
+
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  </div>
|
|
339
|
+
<div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#ac1acdf7bc468d7734359591e45f485fe"> 310</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#ac1acdf7bc468d7734359591e45f485fe">getInterVFEdgeAtIndCSFromAPToFP</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* cs_arg, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* fun_arg, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>*, <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId, <a class="code" href="classSVF_1_1VFG.html#ac97ef8c479556f9ca2c40cd4d8a18694">SVFGEdgeSetTy</a>& edges)</div>
|
|
340
|
+
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  {</div>
|
|
341
|
+
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* actualParam = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(<a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(cs_arg));</div>
|
|
342
|
+
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* formalParam = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(<a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(fun_arg));</div>
|
|
343
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">hasInterVFGEdge</a>(actualParam, formalParam, <a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a8383c27feab3f1acc67cacef9744c04a">SVFGEdge::CallDirVF</a>, csId);</div>
|
|
344
|
+
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  assert(edge != <span class="keyword">nullptr</span> && <span class="stringliteral">"Can not find inter value flow edge from aparam to fparam"</span>);</div>
|
|
345
|
+
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  edges.insert(edge);</div>
|
|
346
|
+
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  }</div>
|
|
347
|
+
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  </div>
|
|
348
|
+
<div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#ab2b969b7d5922427622dd875e6b8fe14"> 319</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#ab2b969b7d5922427622dd875e6b8fe14">getInterVFEdgeAtIndCSFromFRToAR</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* fun_ret, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* cs_ret, <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId, <a class="code" href="classSVF_1_1VFG.html#ac97ef8c479556f9ca2c40cd4d8a18694">SVFGEdgeSetTy</a>& edges)</div>
|
|
349
|
+
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  {</div>
|
|
350
|
+
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* formalRet = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(<a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(fun_ret));</div>
|
|
351
|
+
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* actualRet = <a class="code" href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">getSVFGNode</a>(<a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(cs_ret));</div>
|
|
352
|
+
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = <a class="code" href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">hasInterVFGEdge</a>(formalRet, actualRet, <a class="code" href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a8288c583cfcbfdf9aa2ac2103c0e7191">SVFGEdge::RetDirVF</a>, csId);</div>
|
|
353
|
+
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  assert(edge != <span class="keyword">nullptr</span> && <span class="stringliteral">"Can not find inter value flow edge from fret to aret"</span>);</div>
|
|
354
|
+
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  edges.insert(edge);</div>
|
|
355
|
+
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  }</div>
|
|
356
|
+
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  </div>
|
|
357
|
+
<div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#afbaf925e1e165f75161999229fa5f782"> 328</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#afbaf925e1e165f75161999229fa5f782">getInterVFEdgeAtIndCSFromAInToFIn</a>(<a class="code" href="classSVF_1_1ActualINSVFGNode.html">ActualINSVFGNode</a>* actualIn, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee, <a class="code" href="classSVF_1_1VFG.html#ac97ef8c479556f9ca2c40cd4d8a18694">SVFGEdgeSetTy</a>& edges)</div>
|
|
358
|
+
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  {</div>
|
|
359
|
+
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> outIt = actualIn-><a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), outEit = actualIn-><a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); outIt != outEit; ++outIt)</div>
|
|
360
|
+
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  {</div>
|
|
361
|
+
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = *outIt;</div>
|
|
362
|
+
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()->getFun() == callee)</div>
|
|
363
|
+
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  edges.insert(edge);</div>
|
|
364
|
+
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  }</div>
|
|
365
|
+
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  }</div>
|
|
366
|
+
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  </div>
|
|
367
|
+
<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a7a88391e0c2cf8a57238dec32c2474a3"> 338</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a7a88391e0c2cf8a57238dec32c2474a3">getInterVFEdgeAtIndCSFromFOutToAOut</a>(<a class="code" href="classSVF_1_1ActualOUTSVFGNode.html">ActualOUTSVFGNode</a>* actualOut, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee, <a class="code" href="classSVF_1_1VFG.html#ac97ef8c479556f9ca2c40cd4d8a18694">SVFGEdgeSetTy</a>& edges)</div>
|
|
368
|
+
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  {</div>
|
|
369
|
+
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> inIt = actualOut-><a class="code" href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">InEdgeBegin</a>(), inEit = actualOut-><a class="code" href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">InEdgeEnd</a>(); inIt != inEit; ++inIt)</div>
|
|
370
|
+
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  {</div>
|
|
371
|
+
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge = *inIt;</div>
|
|
372
|
+
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()->getFun() == callee)</div>
|
|
373
|
+
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  edges.insert(edge);</div>
|
|
374
|
+
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  }</div>
|
|
375
|
+
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  }</div>
|
|
376
376
|
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  </div>
|
|
377
|
-
<div class="line"><a name="
|
|
378
|
-
<div class="line"><a name="l00351"></a><span class="lineno"
|
|
379
|
-
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> 
|
|
380
|
-
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> 
|
|
381
|
-
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> 
|
|
382
|
-
<div class="line"><a name="l00355"></a><span class="lineno"
|
|
383
|
-
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> 
|
|
384
|
-
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> 
|
|
385
|
-
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> 
|
|
386
|
-
<div class="line"><a name="l00359"></a><span class="lineno"
|
|
387
|
-
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> 
|
|
388
|
-
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> 
|
|
389
|
-
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> 
|
|
390
|
-
<div class="line"><a name="
|
|
391
|
-
<div class="line"><a name="
|
|
392
|
-
<div class="line"><a name="l00367"></a><span class="lineno"
|
|
393
|
-
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> 
|
|
394
|
-
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> 
|
|
395
|
-
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> 
|
|
396
|
-
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> 
|
|
397
|
-
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> 
|
|
398
|
-
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> 
|
|
399
|
-
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> 
|
|
400
|
-
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> 
|
|
401
|
-
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> 
|
|
402
|
-
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> 
|
|
403
|
-
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> 
|
|
404
|
-
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> 
|
|
405
|
-
<div class="line"><a name="l00380"></a><span class="lineno"
|
|
406
|
-
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> 
|
|
407
|
-
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> 
|
|
408
|
-
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> 
|
|
409
|
-
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> 
|
|
410
|
-
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> 
|
|
411
|
-
<div class="line"><a name="
|
|
412
|
-
<div class="line"><a name="
|
|
413
|
-
<div class="line"><a name="
|
|
414
|
-
<div class="line"><a name="
|
|
415
|
-
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  </div>
|
|
416
|
-
<div class="line"><a name="
|
|
417
|
-
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> 
|
|
418
|
-
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> 
|
|
419
|
-
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> 
|
|
420
|
-
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> 
|
|
421
|
-
<div class="line"><a name="
|
|
422
|
-
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> 
|
|
423
|
-
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> 
|
|
424
|
-
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <a class="code" href="
|
|
425
|
-
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <a class="code" href="classSVF_1_1SVFG.html#
|
|
426
|
-
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  <a class="code" href="classSVF_1_1SVFG.html#
|
|
427
|
-
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> 
|
|
428
|
-
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> 
|
|
429
|
-
<div class="line"><a name="
|
|
430
|
-
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> 
|
|
431
|
-
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> 
|
|
432
|
-
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <a class="code" href="
|
|
433
|
-
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <a class="code" href="classSVF_1_1SVFG.html#
|
|
434
|
-
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> 
|
|
435
|
-
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> 
|
|
436
|
-
<div class="line"><a name="
|
|
437
|
-
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> 
|
|
438
|
-
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> 
|
|
439
|
-
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <a class="code" href="
|
|
440
|
-
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <a class="code" href="classSVF_1_1SVFG.html#
|
|
441
|
-
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> 
|
|
442
|
-
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> 
|
|
443
|
-
<div class="line"><a name="
|
|
444
|
-
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> 
|
|
445
|
-
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> 
|
|
446
|
-
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <a class="code" href="
|
|
447
|
-
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  <a class="code" href="classSVF_1_1SVFG.html#
|
|
448
|
-
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <a class="code" href="classSVF_1_1SVFG.html#
|
|
449
|
-
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> 
|
|
450
|
-
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> 
|
|
451
|
-
<div class="line"><a name="
|
|
452
|
-
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> 
|
|
453
|
-
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> 
|
|
454
|
-
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> 
|
|
455
|
-
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <a class="code" href="
|
|
456
|
-
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <
|
|
457
|
-
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> 
|
|
458
|
-
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> 
|
|
459
|
-
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> 
|
|
460
|
-
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> 
|
|
461
|
-
<div class="line"><a name="
|
|
462
|
-
<div class="line"><a name="l00448"></a><span class="lineno"
|
|
463
|
-
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> 
|
|
464
|
-
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> 
|
|
465
|
-
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> 
|
|
466
|
-
<div class="line"><a name="l00452"></a><span class="lineno"
|
|
467
|
-
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> 
|
|
468
|
-
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> 
|
|
469
|
-
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> 
|
|
470
|
-
<div class="line"><a name="l00456"></a><span class="lineno"
|
|
471
|
-
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> 
|
|
472
|
-
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> 
|
|
473
|
-
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> 
|
|
474
|
-
<div class="line"><a name="l00460"></a><span class="lineno"
|
|
475
|
-
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> 
|
|
476
|
-
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> 
|
|
477
|
-
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> 
|
|
478
|
-
<div class="line"><a name="
|
|
479
|
-
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> 
|
|
480
|
-
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> 
|
|
481
|
-
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  </div>
|
|
482
|
-
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> 
|
|
483
|
-
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> 
|
|
484
|
-
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> 
|
|
485
|
-
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment"
|
|
486
|
-
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment"> *
|
|
487
|
-
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="comment">
|
|
488
|
-
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment"
|
|
489
|
-
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="comment">//
|
|
490
|
-
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="comment"
|
|
491
|
-
<div class="line"><a name="
|
|
492
|
-
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment">//
|
|
493
|
-
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="comment">//
|
|
494
|
-
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> 
|
|
495
|
-
<div class="line"><a name="l00483"></a><span class="lineno"
|
|
496
|
-
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> 
|
|
497
|
-
<div class="line"><a name="l00485"></a><span class="lineno"
|
|
498
|
-
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> 
|
|
499
|
-
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> 
|
|
500
|
-
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> 
|
|
501
|
-
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  </div>
|
|
502
|
-
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> 
|
|
377
|
+
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  </div>
|
|
378
|
+
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  </div>
|
|
379
|
+
<div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#accd1cbd26c9b194971f3107a57a0ab2e"> 352</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#accd1cbd26c9b194971f3107a57a0ab2e">setDef</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode, <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node)</div>
|
|
380
|
+
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  {</div>
|
|
381
|
+
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <a class="code" href="classSVF_1_1VFG.html#a1e0b8c7df55e05739775e8a1c50cf660">VFG::setDef</a>(pagNode, node);</div>
|
|
382
|
+
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  }</div>
|
|
383
|
+
<div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d"> 356</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">getDef</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode)<span class="keyword"> const</span></div>
|
|
384
|
+
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="keyword"> </span>{</div>
|
|
385
|
+
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1VFG.html#a7343f970332391634f79b2023bba6650">VFG::getDef</a>(pagNode);</div>
|
|
386
|
+
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  }</div>
|
|
387
|
+
<div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a926c79813d5cfbd16201832024b95190"> 360</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFG.html#a926c79813d5cfbd16201832024b95190">hasDef</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode)<span class="keyword"> const</span></div>
|
|
388
|
+
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keyword"> </span>{</div>
|
|
389
|
+
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1VFG.html#ab5b63b4f6317bfb5875f2b977bcf26a4">VFG::hasDef</a>(pagNode);</div>
|
|
390
|
+
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  }</div>
|
|
391
|
+
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  </div>
|
|
392
|
+
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  </div>
|
|
393
|
+
<div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#aa3ebc066d376e7ed508d2bce49fa864d"> 368</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#aa3ebc066d376e7ed508d2bce49fa864d">setDef</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* mvar, <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node)</div>
|
|
394
|
+
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  {</div>
|
|
395
|
+
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  MSSAVarToDefMapTy::iterator it = <a class="code" href="classSVF_1_1SVFG.html#aafa1b445bd3578daaba8f82e517745f1">MSSAVarToDefMap</a>.find(mvar);</div>
|
|
396
|
+
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">if</span>(it==<a class="code" href="classSVF_1_1SVFG.html#aafa1b445bd3578daaba8f82e517745f1">MSSAVarToDefMap</a>.end())</div>
|
|
397
|
+
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  {</div>
|
|
398
|
+
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <a class="code" href="classSVF_1_1SVFG.html#aafa1b445bd3578daaba8f82e517745f1">MSSAVarToDefMap</a>[mvar] = node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
399
|
+
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  assert(<a class="code" href="classSVF_1_1SVFG.html#a1b9d1ad76785ae0eb07979aa75325640">hasSVFGNode</a>(node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()) && <span class="stringliteral">"not in the map!!"</span>);</div>
|
|
400
|
+
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  }</div>
|
|
401
|
+
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">else</span></div>
|
|
402
|
+
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  {</div>
|
|
403
|
+
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  assert((it->second == node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()) && <span class="stringliteral">"a SVFIR node can only have unique definition "</span>);</div>
|
|
404
|
+
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  }</div>
|
|
405
|
+
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  }</div>
|
|
406
|
+
<div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a55a26b88ffe786b04184a29ae72575e7"> 381</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1SVFG.html#a55a26b88ffe786b04184a29ae72575e7">getDef</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* mvar)<span class="keyword"> const</span></div>
|
|
407
|
+
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> <span class="keyword"> </span>{</div>
|
|
408
|
+
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  MSSAVarToDefMapTy::const_iterator it = <a class="code" href="classSVF_1_1SVFG.html#aafa1b445bd3578daaba8f82e517745f1">MSSAVarToDefMap</a>.find(mvar);</div>
|
|
409
|
+
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  assert(it!=<a class="code" href="classSVF_1_1SVFG.html#aafa1b445bd3578daaba8f82e517745f1">MSSAVarToDefMap</a>.end() && <span class="stringliteral">"memory SSA does not have a definition??"</span>);</div>
|
|
410
|
+
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">return</span> it->second;</div>
|
|
411
|
+
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  }</div>
|
|
412
|
+
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  </div>
|
|
413
|
+
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#abddfc95cf644d0729ee29eccf95699f1">addSVFGNodesForAddrTakenVars</a>();</div>
|
|
414
|
+
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a164a3df08fc24bacc0b97aee8b6eec38">connectIndirectSVFGEdges</a>();</div>
|
|
415
|
+
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a5921483cd5e1bf77b1b2bc8fb3250612">connectFromGlobalToProgEntry</a>();</div>
|
|
416
|
+
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  </div>
|
|
417
|
+
<div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43"> 397</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43">addSVFGNode</a>(<a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node, <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* icfgNode)</div>
|
|
418
|
+
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  {</div>
|
|
419
|
+
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <a class="code" href="classSVF_1_1VFG.html#ad8c76cdb73541eed5aa1c2ba9de60383">addVFGNode</a>(node, icfgNode);</div>
|
|
420
|
+
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  }</div>
|
|
421
|
+
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  </div>
|
|
422
|
+
<div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#ab4690114393820f580e805d2e0d6a41d"> 403</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#ab4690114393820f580e805d2e0d6a41d">addFormalINSVFGNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* funEntry, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* resVer, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId)</div>
|
|
423
|
+
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  {</div>
|
|
424
|
+
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a>* sNode = <span class="keyword">new</span> <a class="code" href="classSVF_1_1FormalINSVFGNode.html">FormalINSVFGNode</a>(nodeId, resVer, funEntry);</div>
|
|
425
|
+
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <a class="code" href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43">addSVFGNode</a>(sNode, <a class="code" href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#a0dca4655c2f6112a5be1f921b8e81076">getFunEntryICFGNode</a>(funEntry-><a class="code" href="classSVF_1_1FunEntryICFGNode.html#ac2451fdc53f319bc92528af7edc94b2d">getFun</a>()));</div>
|
|
426
|
+
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  <a class="code" href="classSVF_1_1SVFG.html#accd1cbd26c9b194971f3107a57a0ab2e">setDef</a>(resVer,sNode);</div>
|
|
427
|
+
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <a class="code" href="classSVF_1_1SVFG.html#ae51cd0493e4e767848b96b69045762fd">funToFormalINMap</a>[funEntry-><a class="code" href="classSVF_1_1FunEntryICFGNode.html#ac2451fdc53f319bc92528af7edc94b2d">getFun</a>()].set(sNode-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div>
|
|
428
|
+
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  }</div>
|
|
429
|
+
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  </div>
|
|
430
|
+
<div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a804824faa3a042cb1b63edd9e9eb7207"> 412</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a804824faa3a042cb1b63edd9e9eb7207">addFormalOUTSVFGNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* funExit, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* ver, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId)</div>
|
|
431
|
+
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  {</div>
|
|
432
|
+
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html">FormalOUTSVFGNode</a>* sNode = <span class="keyword">new</span> <a class="code" href="classSVF_1_1FormalOUTSVFGNode.html">FormalOUTSVFGNode</a>(nodeId, ver, funExit);</div>
|
|
433
|
+
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <a class="code" href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43">addSVFGNode</a>(sNode,<a class="code" href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#af1b2d2839f811a00103df87342dfc919">getFunExitICFGNode</a>(funExit-><a class="code" href="classSVF_1_1FunExitICFGNode.html#a54dfbbebbfe18a8a493656d6ad8663be">getFun</a>()));</div>
|
|
434
|
+
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <a class="code" href="classSVF_1_1SVFG.html#a7d58f9fe97071ec9936174689cb99301">funToFormalOUTMap</a>[funExit-><a class="code" href="classSVF_1_1FunExitICFGNode.html#a54dfbbebbfe18a8a493656d6ad8663be">getFun</a>()].set(sNode-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div>
|
|
435
|
+
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  }</div>
|
|
436
|
+
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  </div>
|
|
437
|
+
<div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a923924d3887c668b355f4029502a3754"> 420</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a923924d3887c668b355f4029502a3754">addActualINSVFGNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callsite, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* ver, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId)</div>
|
|
438
|
+
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  {</div>
|
|
439
|
+
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <a class="code" href="classSVF_1_1ActualINSVFGNode.html">ActualINSVFGNode</a>* sNode = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ActualINSVFGNode.html">ActualINSVFGNode</a>(nodeId, callsite, ver);</div>
|
|
440
|
+
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <a class="code" href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43">addSVFGNode</a>(sNode,<a class="code" href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(callsite-><a class="code" href="classSVF_1_1CallICFGNode.html#a90fd0b8e44fba1a7eb76d15bce085d66">getCallSite</a>()));</div>
|
|
441
|
+
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <a class="code" href="classSVF_1_1SVFG.html#af9313ebec4a52fd887169b7c6373a7d4">callSiteToActualINMap</a>[callsite].set(sNode-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div>
|
|
442
|
+
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  }</div>
|
|
443
|
+
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  </div>
|
|
444
|
+
<div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a74aa824a68f99756ac3e65231c7bc2e9"> 428</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a74aa824a68f99756ac3e65231c7bc2e9">addActualOUTSVFGNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callsite, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* resVer, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId)</div>
|
|
445
|
+
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  {</div>
|
|
446
|
+
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html">ActualOUTSVFGNode</a>* sNode = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ActualOUTSVFGNode.html">ActualOUTSVFGNode</a>(nodeId, callsite, resVer);</div>
|
|
447
|
+
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  <a class="code" href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43">addSVFGNode</a>(sNode, <a class="code" href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#a881fe977f3a6fde223bd786121e35fcf">getRetICFGNode</a>(callsite-><a class="code" href="classSVF_1_1CallICFGNode.html#a90fd0b8e44fba1a7eb76d15bce085d66">getCallSite</a>()));</div>
|
|
448
|
+
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <a class="code" href="classSVF_1_1SVFG.html#accd1cbd26c9b194971f3107a57a0ab2e">setDef</a>(resVer,sNode);</div>
|
|
449
|
+
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <a class="code" href="classSVF_1_1SVFG.html#a39873b954b6e0eb0641f56ca4cd06ef9">callSiteToActualOUTMap</a>[callsite].set(sNode-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div>
|
|
450
|
+
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  }</div>
|
|
451
|
+
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  </div>
|
|
452
|
+
<div class="line"><a name="l00437"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a6093609dcffa8e3b6bf78a97bda71872"> 437</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFG.html#a6093609dcffa8e3b6bf78a97bda71872">addIntraMSSAPHISVFGNode</a>(<a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* BlockICFGNode, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<u32_t,const MRVer*>::const_iterator</a> opVerBegin,</div>
|
|
453
|
+
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<u32_t,const MRVer*>::const_iterator</a> opVerEnd, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRVer.html">MRVer</a>* resVer, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId)</div>
|
|
454
|
+
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  {</div>
|
|
455
|
+
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html">IntraMSSAPHISVFGNode</a>* sNode = <span class="keyword">new</span> <a class="code" href="classSVF_1_1IntraMSSAPHISVFGNode.html">IntraMSSAPHISVFGNode</a>(nodeId, resVer);</div>
|
|
456
|
+
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <a class="code" href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43">addSVFGNode</a>(sNode, BlockICFGNode);</div>
|
|
457
|
+
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">for</span>(MemSSA::PHI::OPVers::const_iterator it = opVerBegin, eit=opVerEnd; it!=eit; ++it)</div>
|
|
458
|
+
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  sNode-><a class="code" href="classSVF_1_1MSSAPHISVFGNode.html#a928a57d7f518c5af98a0245d9221e671">setOpVer</a>(it->first,it->second);</div>
|
|
459
|
+
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <a class="code" href="classSVF_1_1SVFG.html#accd1cbd26c9b194971f3107a57a0ab2e">setDef</a>(resVer,sNode);</div>
|
|
460
|
+
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  }</div>
|
|
461
|
+
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  </div>
|
|
462
|
+
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  </div>
|
|
463
|
+
<div class="line"><a name="l00449"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a23ca21b90feca5e7d00c9ba9f489374a"> 449</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFG.html#a23ca21b90feca5e7d00c9ba9f489374a">hasFuncEntryChi</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* func)<span class="keyword"> const</span></div>
|
|
464
|
+
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="keyword"> </span>{</div>
|
|
465
|
+
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SVFG.html#ae51cd0493e4e767848b96b69045762fd">funToFormalINMap</a>.find(func) != <a class="code" href="classSVF_1_1SVFG.html#ae51cd0493e4e767848b96b69045762fd">funToFormalINMap</a>.end());</div>
|
|
466
|
+
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  }</div>
|
|
467
|
+
<div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a32378226c18a0b1e22271a2338a635f6"> 453</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFG.html#a32378226c18a0b1e22271a2338a635f6">hasFuncRetMu</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* func)<span class="keyword"> const</span></div>
|
|
468
|
+
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="keyword"> </span>{</div>
|
|
469
|
+
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SVFG.html#a7d58f9fe97071ec9936174689cb99301">funToFormalOUTMap</a>.find(func) != <a class="code" href="classSVF_1_1SVFG.html#a7d58f9fe97071ec9936174689cb99301">funToFormalOUTMap</a>.end());</div>
|
|
470
|
+
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  }</div>
|
|
471
|
+
<div class="line"><a name="l00457"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#ad9cc1581261182b56ae232d9a9b13296"> 457</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFG.html#ad9cc1581261182b56ae232d9a9b13296">hasCallSiteChi</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)<span class="keyword"> const</span></div>
|
|
472
|
+
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="keyword"> </span>{</div>
|
|
473
|
+
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SVFG.html#a39873b954b6e0eb0641f56ca4cd06ef9">callSiteToActualOUTMap</a>.find(cs) != <a class="code" href="classSVF_1_1SVFG.html#a39873b954b6e0eb0641f56ca4cd06ef9">callSiteToActualOUTMap</a>.end());</div>
|
|
474
|
+
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  }</div>
|
|
475
|
+
<div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFG.html#a842f6f2325c9e93ea96367e9cf624ee8"> 461</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1SVFG.html#a842f6f2325c9e93ea96367e9cf624ee8">hasCallSiteMu</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)<span class="keyword"> const</span></div>
|
|
476
|
+
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="keyword"> </span>{</div>
|
|
477
|
+
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SVFG.html#af9313ebec4a52fd887169b7c6373a7d4">callSiteToActualINMap</a>.find(cs) != <a class="code" href="classSVF_1_1SVFG.html#af9313ebec4a52fd887169b7c6373a7d4">callSiteToActualINMap</a>.end());</div>
|
|
478
|
+
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  }</div>
|
|
479
|
+
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> };</div>
|
|
480
|
+
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  </div>
|
|
481
|
+
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> } <span class="comment">// End namespace SVF</span></div>
|
|
482
|
+
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  </div>
|
|
483
|
+
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div>
|
|
484
|
+
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> {</div>
|
|
485
|
+
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment">/* !</span></div>
|
|
486
|
+
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment"> * GenericGraphTraits specializations for SVFG to be used for generic graph algorithms.</span></div>
|
|
487
|
+
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="comment"> * Provide graph traits for traversing from a SVFG node using standard graph traversals.</span></div>
|
|
488
|
+
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment"> */</span></div>
|
|
489
|
+
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="comment">//template<> struct GenericGraphTraits<SVF::SVFGNode*>: public GenericGraphTraits<SVF::GenericNode<SVF::SVFGNode,SVF::SVFGEdge>* > {</span></div>
|
|
490
|
+
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="comment">//};</span></div>
|
|
491
|
+
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="comment">//</span></div>
|
|
492
|
+
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment"></span><span class="comment">//template<></span></div>
|
|
493
|
+
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="comment">//struct GenericGraphTraits<Inverse<SVF::SVFGNode *> > : public GenericGraphTraits<Inverse<SVF::GenericNode<SVF::SVFGNode,SVF::SVFGEdge>* > > {</span></div>
|
|
494
|
+
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="comment">//};</span></div>
|
|
495
|
+
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  </div>
|
|
496
|
+
<div class="line"><a name="l00484"></a><span class="lineno"><a class="line" href="structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html"> 484</a></span> <span class="keyword">template</span><> <span class="keyword">struct </span><a class="code" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a><<a class="code" href="namespaceSVF.html">SVF</a>::<a class="code" href="classSVF_1_1SVFG.html">SVFG</a>*> : <span class="keyword">public</span> <a class="code" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a><SVF::GenericGraph<SVF::SVFGNode,SVF::SVFGEdge>* ></div>
|
|
497
|
+
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> {</div>
|
|
498
|
+
<div class="line"><a name="l00486"></a><span class="lineno"><a class="line" href="structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html#a0e3ed0946d46830533f184f12428bbb0"> 486</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1VFGNode.html">SVF::SVFGNode</a> *<a class="code" href="structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html#a0e3ed0946d46830533f184f12428bbb0">NodeRef</a>;</div>
|
|
499
|
+
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> };</div>
|
|
500
|
+
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  </div>
|
|
501
|
+
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> } <span class="comment">// End namespace llvm</span></div>
|
|
502
|
+
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  </div>
|
|
503
|
+
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="preprocessor">#endif </span><span class="comment">/* SVFG_H_ */</span><span class="preprocessor"></span></div>
|
|
503
504
|
</div><!-- fragment --></div><!-- contents -->
|
|
504
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_ac9ab2a95cd7a09bbe4b4aa3e6fafaf62"><div class="ttname"><a href="classSVF_1_1SVFG.html#ac9ab2a95cd7a09bbe4b4aa3e6fafaf62">SVF::SVFG::connectAInAndFIn</a></div><div class="ttdeci">virtual void connectAInAndFIn(const ActualINSVFGNode *actualIn, const FormalINSVFGNode *formalIn, CallSiteID csId, SVFGEdgeSetTy &edges)</div><div class="ttdoc">Connect SVFG nodes between caller and callee for indirect call site.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
505
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_ac9ab2a95cd7a09bbe4b4aa3e6fafaf62"><div class="ttname"><a href="classSVF_1_1SVFG.html#ac9ab2a95cd7a09bbe4b4aa3e6fafaf62">SVF::SVFG::connectAInAndFIn</a></div><div class="ttdeci">virtual void connectAInAndFIn(const ActualINSVFGNode *actualIn, const FormalINSVFGNode *formalIn, CallSiteID csId, SVFGEdgeSetTy &edges)</div><div class="ttdoc">Connect SVFG nodes between caller and callee for indirect call site.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00293">SVFG.h:293</a></div></div>
|
|
505
506
|
<div class="ttc" id="anamespaceSVF_html_a26bd4f89dc154b9c6d34b6a517777934"><div class="ttname"><a href="namespaceSVF.html#a26bd4f89dc154b9c6d34b6a517777934">SVF::StmtSVFGNode</a></div><div class="ttdeci">StmtVFGNode StmtSVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00050">SVFG.h:50</a></div></div>
|
|
506
507
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_adc9fbb4553472b238d6c3bb5062279cb"><div class="ttname"><a href="classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb">SVF::SVFG::performStat</a></div><div class="ttdeci">void performStat()</div><div class="ttdoc">Perform statistics.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00756">SVFG.cpp:756</a></div></div>
|
|
507
508
|
<div class="ttc" id="anamespaceSVF_html_ad772e1586e369943f37c22641e93e941"><div class="ttname"><a href="namespaceSVF.html#ad772e1586e369943f37c22641e93e941">SVF::IntraPHISVFGNode</a></div><div class="ttdeci">IntraPHIVFGNode IntraPHISVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00057">SVFG.h:57</a></div></div>
|
|
508
509
|
<div class="ttc" id="aclassSVF_1_1SVFG_html"><div class="ttname"><a href="classSVF_1_1SVFG.html">SVF::SVFG</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00065">SVFG.h:65</a></div></div>
|
|
509
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a88e1f6f77421c5274ceeb14928bdcb43"><div class="ttname"><a href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43">SVF::SVFG::addSVFGNode</a></div><div class="ttdeci">virtual void addSVFGNode(SVFGNode *node, ICFGNode *icfgNode)</div><div class="ttdoc">Add SVFG node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
510
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a88e1f6f77421c5274ceeb14928bdcb43"><div class="ttname"><a href="classSVF_1_1SVFG.html#a88e1f6f77421c5274ceeb14928bdcb43">SVF::SVFG::addSVFGNode</a></div><div class="ttdeci">virtual void addSVFGNode(SVFGNode *node, ICFGNode *icfgNode)</div><div class="ttdoc">Add SVFG node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00397">SVFG.h:397</a></div></div>
|
|
510
511
|
<div class="ttc" id="aclassSVF_1_1MTASVFGBuilder_html"><div class="ttname"><a href="classSVF_1_1MTASVFGBuilder.html">SVF::MTASVFGBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00097">FSMPTA.h:97</a></div></div>
|
|
511
512
|
<div class="ttc" id="aclassSVF_1_1FunEntryICFGNode_html_ac2451fdc53f319bc92528af7edc94b2d"><div class="ttname"><a href="classSVF_1_1FunEntryICFGNode.html#ac2451fdc53f319bc92528af7edc94b2d">SVF::FunEntryICFGNode::getFun</a></div><div class="ttdeci">const SVFFunction * getFun() const</div><div class="ttdoc">Return function.</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00278">ICFGNode.h:278</a></div></div>
|
|
512
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a2590182f3b28c7fc8b2b53c09ec4305c"><div class="ttname"><a href="classSVF_1_1SVFG.html#a2590182f3b28c7fc8b2b53c09ec4305c">SVF::SVFG::PAGNodeToDefMapTy</a></div><div class="ttdeci">Map< const PAGNode *, NodeID > PAGNodeToDefMapTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
513
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a2590182f3b28c7fc8b2b53c09ec4305c"><div class="ttname"><a href="classSVF_1_1SVFG.html#a2590182f3b28c7fc8b2b53c09ec4305c">SVF::SVFG::PAGNodeToDefMapTy</a></div><div class="ttdeci">Map< const PAGNode *, NodeID > PAGNodeToDefMapTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00077">SVFG.h:77</a></div></div>
|
|
513
514
|
<div class="ttc" id="aclassSVF_1_1FunEntryICFGNode_html"><div class="ttname"><a href="classSVF_1_1FunEntryICFGNode.html">SVF::FunEntryICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00261">ICFGNode.h:261</a></div></div>
|
|
514
515
|
<div class="ttc" id="anamespaceSVF_html_ae5987da3ffd5681e8ec4ef14ba54588e"><div class="ttname"><a href="namespaceSVF.html#ae5987da3ffd5681e8ec4ef14ba54588e">SVF::FormalRetSVFGNode</a></div><div class="ttdeci">FormalRetVFGNode FormalRetSVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00047">SVFG.h:47</a></div></div>
|
|
515
516
|
<div class="ttc" id="aclassSVF_1_1GenericEdge_html_ab47ca533c415841ef75456cbad439589"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::GenericEdge::getSrcNode</a></div><div class="ttdeci">NodeType * getSrcNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00097">GenericGraph.h:97</a></div></div>
|
|
516
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a8e7a945f4266e8dc7dcfff2ad6494bfb"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">SVF::SVFG::getDefSVFGNode</a></div><div class="ttdeci">const SVFGNode * getDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">Given a pagNode, return its definition site.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
517
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a8e7a945f4266e8dc7dcfff2ad6494bfb"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">SVF::SVFG::getDefSVFGNode</a></div><div class="ttdeci">const SVFGNode * getDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">Given a pagNode, return its definition site.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00171">SVFG.h:171</a></div></div>
|
|
517
518
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html_afe6a7b286d9af4992f41b59612fd2900"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">SVF::GenericNode::InEdgeEnd</a></div><div class="ttdeci">iterator InEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00229">GenericGraph.h:229</a></div></div>
|
|
518
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a8859409373454b6b3d1252776e169cf5"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8859409373454b6b3d1252776e169cf5">SVF::SVFG::FormalINSVFGNodeSet</a></div><div class="ttdeci">NodeBS FormalINSVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
519
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a8859409373454b6b3d1252776e169cf5"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8859409373454b6b3d1252776e169cf5">SVF::SVFG::FormalINSVFGNodeSet</a></div><div class="ttdeci">NodeBS FormalINSVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00081">SVFG.h:81</a></div></div>
|
|
519
520
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_a5921483cd5e1bf77b1b2bc8fb3250612"><div class="ttname"><a href="classSVF_1_1SVFG.html#a5921483cd5e1bf77b1b2bc8fb3250612">SVF::SVFG::connectFromGlobalToProgEntry</a></div><div class="ttdeci">void connectFromGlobalToProgEntry()</div><div class="ttdoc">Connect indirect SVFG edges from global initializers (store) to main function entry.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00424">SVFG.cpp:424</a></div></div>
|
|
520
521
|
<div class="ttc" id="aclassSVF_1_1VFG_html_a30eb9d717ad5bc8a9109a7bdef38f4a1"><div class="ttname"><a href="classSVF_1_1VFG.html#a30eb9d717ad5bc8a9109a7bdef38f4a1">SVF::VFG::hasVFGNode</a></div><div class="ttdeci">bool hasVFGNode(NodeID id) const</div><div class="ttdoc">Whether has the VFGNode.</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00151">VFG.h:151</a></div></div>
|
|
521
522
|
<div class="ttc" id="aclassSVF_1_1CallICFGNode_html_a90fd0b8e44fba1a7eb76d15bce085d66"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a90fd0b8e44fba1a7eb76d15bce085d66">SVF::CallICFGNode::getCallSite</a></div><div class="ttdeci">const SVFInstruction * getCallSite() const</div><div class="ttdoc">Return callsite.</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00409">ICFGNode.h:409</a></div></div>
|
|
@@ -523,18 +524,18 @@ $(function() {
|
|
|
523
524
|
<div class="ttc" id="anamespaceSVF_html_aa4745cf70b26e17d59752356f0b19dd9"><div class="ttname"><a href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVF::SVFGEdge</a></div><div class="ttdeci">VFGEdge SVFGEdge</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00040">SVFG.h:40</a></div></div>
|
|
524
525
|
<div class="ttc" id="aclassSVF_1_1VFG_html_ab5b63b4f6317bfb5875f2b977bcf26a4"><div class="ttname"><a href="classSVF_1_1VFG.html#ab5b63b4f6317bfb5875f2b977bcf26a4">SVF::VFG::hasDef</a></div><div class="ttdeci">bool hasDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00426">VFG.h:426</a></div></div>
|
|
525
526
|
<div class="ttc" id="aclassSVF_1_1FormalOUTSVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalOUTSVFGNode.html">SVF::FormalOUTSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00138">SVFGNode.h:138</a></div></div>
|
|
526
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
527
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00150">SVFG.h:150</a></div></div>
|
|
527
528
|
<div class="ttc" id="aclassSVF_1_1ActualRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualRetVFGNode.html">SVF::ActualRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00967">VFGNode.h:967</a></div></div>
|
|
528
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_aeba803e60699f9d9422596d161d44241"><div class="ttname"><a href="classSVF_1_1SVFG.html#aeba803e60699f9d9422596d161d44241">SVF::SVFG::clearMSSA</a></div><div class="ttdeci">void clearMSSA()</div><div class="ttdoc">Clear MSSA.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
529
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_aafa1b445bd3578daaba8f82e517745f1"><div class="ttname"><a href="classSVF_1_1SVFG.html#aafa1b445bd3578daaba8f82e517745f1">SVF::SVFG::MSSAVarToDefMap</a></div><div class="ttdeci">MSSAVarToDefMapTy MSSAVarToDefMap</div><div class="ttdoc">map a memory SSA operator to its definition SVFG node</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
529
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_aeba803e60699f9d9422596d161d44241"><div class="ttname"><a href="classSVF_1_1SVFG.html#aeba803e60699f9d9422596d161d44241">SVF::SVFG::clearMSSA</a></div><div class="ttdeci">void clearMSSA()</div><div class="ttdoc">Clear MSSA.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00132">SVFG.h:132</a></div></div>
|
|
530
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_aafa1b445bd3578daaba8f82e517745f1"><div class="ttname"><a href="classSVF_1_1SVFG.html#aafa1b445bd3578daaba8f82e517745f1">SVF::SVFG::MSSAVarToDefMap</a></div><div class="ttdeci">MSSAVarToDefMapTy MSSAVarToDefMap</div><div class="ttdoc">map a memory SSA operator to its definition SVFG node</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00100">SVFG.h:100</a></div></div>
|
|
530
531
|
<div class="ttc" id="aclassSVF_1_1VFG_html_a7343f970332391634f79b2023bba6650"><div class="ttname"><a href="classSVF_1_1VFG.html#a7343f970332391634f79b2023bba6650">SVF::VFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00420">VFG.h:420</a></div></div>
|
|
531
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_af9313ebec4a52fd887169b7c6373a7d4"><div class="ttname"><a href="classSVF_1_1SVFG.html#af9313ebec4a52fd887169b7c6373a7d4">SVF::SVFG::callSiteToActualINMap</a></div><div class="ttdeci">CallSiteToActualINsMapTy callSiteToActualINMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
532
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_af9313ebec4a52fd887169b7c6373a7d4"><div class="ttname"><a href="classSVF_1_1SVFG.html#af9313ebec4a52fd887169b7c6373a7d4">SVF::SVFG::callSiteToActualINMap</a></div><div class="ttdeci">CallSiteToActualINsMapTy callSiteToActualINMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00101">SVFG.h:101</a></div></div>
|
|
532
533
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_a5fdaddc52e7342b834d76d64c1a1e498"><div class="ttname"><a href="classSVF_1_1SVFG.html#a5fdaddc52e7342b834d76d64c1a1e498">SVF::SVFG::dump</a></div><div class="ttdeci">void dump(const std::string &file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00574">SVFG.cpp:574</a></div></div>
|
|
533
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a55a26b88ffe786b04184a29ae72575e7"><div class="ttname"><a href="classSVF_1_1SVFG.html#a55a26b88ffe786b04184a29ae72575e7">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const MRVer *mvar) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
534
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a55a26b88ffe786b04184a29ae72575e7"><div class="ttname"><a href="classSVF_1_1SVFG.html#a55a26b88ffe786b04184a29ae72575e7">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const MRVer *mvar) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00381">SVFG.h:381</a></div></div>
|
|
534
535
|
<div class="ttc" id="aclassSVF_1_1VFG_html_aca5b658b87728ac8bd7e562d51e771f8"><div class="ttname"><a href="classSVF_1_1VFG.html#aca5b658b87728ac8bd7e562d51e771f8">SVF::VFG::VFGNodeIDToNodeMapTy</a></div><div class="ttdeci">OrderedMap< NodeID, VFGNode * > VFGNodeIDToNodeMapTy</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00060">VFG.h:60</a></div></div>
|
|
535
536
|
<div class="ttc" id="aclassSVF_1_1MRVer_html"><div class="ttname"><a href="classSVF_1_1MRVer.html">SVF::MRVer</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00043">MSSAMuChi.h:43</a></div></div>
|
|
536
537
|
<div class="ttc" id="aclassSVF_1_1AddrVFGNode_html"><div class="ttname"><a href="classSVF_1_1AddrVFGNode.html">SVF::AddrVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00760">VFGNode.h:760</a></div></div>
|
|
537
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a8dd513e8e5343beeb5d117c1ff4e45ea"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8dd513e8e5343beeb5d117c1ff4e45ea">SVF::SVFG::addDummyVersionPropSVFGNode</a></div><div class="ttdeci">const DummyVersionPropSVFGNode * addDummyVersionPropSVFGNode(const NodeID object, const NodeID version)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
538
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a8dd513e8e5343beeb5d117c1ff4e45ea"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8dd513e8e5343beeb5d117c1ff4e45ea">SVF::SVFG::addDummyVersionPropSVFGNode</a></div><div class="ttdeci">const DummyVersionPropSVFGNode * addDummyVersionPropSVFGNode(const NodeID object, const NodeID version)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00263">SVFG.h:263</a></div></div>
|
|
538
539
|
<div class="ttc" id="aclassSVF_1_1PointerAnalysis_html"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00058">PointerAnalysis.h:58</a></div></div>
|
|
539
540
|
<div class="ttc" id="aclassSVF_1_1ActualOUTSVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualOUTSVFGNode.html">SVF::ActualOUTSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00229">SVFGNode.h:229</a></div></div>
|
|
540
541
|
<div class="ttc" id="aclassSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5a8383c27feab3f1acc67cacef9744c04a"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a8383c27feab3f1acc67cacef9744c04a">SVF::VFGEdge::CallDirVF</a></div><div class="ttdeci">@ CallDirVF</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00055">VFGEdge.h:55</a></div></div>
|
|
@@ -544,18 +545,18 @@ $(function() {
|
|
|
544
545
|
<div class="ttc" id="aclassSVF_1_1DummyVersionPropSVFGNode_html"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html">SVF::DummyVersionPropSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00469">SVFGNode.h:469</a></div></div>
|
|
545
546
|
<div class="ttc" id="aclassSVF_1_1VFG_html_ad8c76cdb73541eed5aa1c2ba9de60383"><div class="ttname"><a href="classSVF_1_1VFG.html#ad8c76cdb73541eed5aa1c2ba9de60383">SVF::VFG::addVFGNode</a></div><div class="ttdeci">virtual void addVFGNode(VFGNode *vfgNode, ICFGNode *icfgNode)</div><div class="ttdoc">Add a VFG node.</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00464">VFG.h:464</a></div></div>
|
|
546
547
|
<div class="ttc" id="aclassSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
|
|
547
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a9ccd530dc4c49b0df372a2ce95b66921"><div class="ttname"><a href="classSVF_1_1SVFG.html#a9ccd530dc4c49b0df372a2ce95b66921">SVF::SVFG::DDASVFGBuilder</a></div><div class="ttdeci">friend class DDASVFGBuilder</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
548
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a923924d3887c668b355f4029502a3754"><div class="ttname"><a href="classSVF_1_1SVFG.html#a923924d3887c668b355f4029502a3754">SVF::SVFG::addActualINSVFGNode</a></div><div class="ttdeci">void addActualINSVFGNode(const CallICFGNode *callsite, const MRVer *ver, const NodeID nodeId)</div><div class="ttdoc">Add memory callsite mu SVFG node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
548
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a9ccd530dc4c49b0df372a2ce95b66921"><div class="ttname"><a href="classSVF_1_1SVFG.html#a9ccd530dc4c49b0df372a2ce95b66921">SVF::SVFG::DDASVFGBuilder</a></div><div class="ttdeci">friend class DDASVFGBuilder</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00071">SVFG.h:71</a></div></div>
|
|
549
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a923924d3887c668b355f4029502a3754"><div class="ttname"><a href="classSVF_1_1SVFG.html#a923924d3887c668b355f4029502a3754">SVF::SVFG::addActualINSVFGNode</a></div><div class="ttdeci">void addActualINSVFGNode(const CallICFGNode *callsite, const MRVer *ver, const NodeID nodeId)</div><div class="ttdoc">Add memory callsite mu SVFG node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00420">SVFG.h:420</a></div></div>
|
|
549
550
|
<div class="ttc" id="aclassSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00459">SparseBitVector.h:459</a></div></div>
|
|
550
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a2b4850c833564916c7fce46d55672038"><div class="ttname"><a href="classSVF_1_1SVFG.html#a2b4850c833564916c7fce46d55672038">SVF::SVFG::FunctionToFormalINsMapTy</a></div><div class="ttdeci">Map< const SVFFunction *, FormalINSVFGNodeSet > FunctionToFormalINsMapTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
551
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a2b4850c833564916c7fce46d55672038"><div class="ttname"><a href="classSVF_1_1SVFG.html#a2b4850c833564916c7fce46d55672038">SVF::SVFG::FunctionToFormalINsMapTy</a></div><div class="ttdeci">Map< const SVFFunction *, FormalINSVFGNodeSet > FunctionToFormalINsMapTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00085">SVFG.h:85</a></div></div>
|
|
551
552
|
<div class="ttc" id="aclassSVF_1_1ICFG_html_aa41516cdd2be5066adf22798a4fe2213"><div class="ttname"><a href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">SVF::ICFG::getCallICFGNode</a></div><div class="ttdeci">CallICFGNode * getCallICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00237">ICFG.cpp:237</a></div></div>
|
|
552
553
|
<div class="ttc" id="aclassSVF_1_1CallCHI_html"><div class="ttname"><a href="classSVF_1_1CallCHI.html">SVF::CallCHI</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00521">MSSAMuChi.h:521</a></div></div>
|
|
553
554
|
<div class="ttc" id="aVFG_8h_html"><div class="ttname"><a href="VFG_8h.html">VFG.h</a></div></div>
|
|
554
555
|
<div class="ttc" id="astructSVF_1_1GenericGraphTraits_html"><div class="ttname"><a href="structSVF_1_1GenericGraphTraits.html">SVF::GenericGraphTraits</a></div><div class="ttdef"><b>Definition:</b> <a href="GraphTraits_8h_source.html#l00036">GraphTraits.h:36</a></div></div>
|
|
555
556
|
<div class="ttc" id="aclassSVF_1_1ICFG_html_a881fe977f3a6fde223bd786121e35fcf"><div class="ttname"><a href="classSVF_1_1ICFG.html#a881fe977f3a6fde223bd786121e35fcf">SVF::ICFG::getRetICFGNode</a></div><div class="ttdeci">RetICFGNode * getRetICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00250">ICFG.cpp:250</a></div></div>
|
|
556
557
|
<div class="ttc" id="anamespaceSVF_html_aeccd0bd024319173c1cda5ff1a79c5ae"><div class="ttname"><a href="namespaceSVF.html#aeccd0bd024319173c1cda5ff1a79c5ae">SVF::NullPtrSVFGNode</a></div><div class="ttdeci">NullPtrVFGNode NullPtrSVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00049">SVFG.h:49</a></div></div>
|
|
557
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a475205e221890204c7770c414ee63975"><div class="ttname"><a href="classSVF_1_1SVFG.html#a475205e221890204c7770c414ee63975">SVF::SVFG::getActualINSVFGNodes</a></div><div class="ttdeci">ActualINSVFGNodeSet & getActualINSVFGNodes(const CallICFGNode *cs)</div><div class="ttdoc">Get SVFGNode set.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
558
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a8ba934714a7f2caf2e041002fdb66137"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">SVF::SVFG::getStat</a></div><div class="ttdeci">SVFGStat * getStat() const</div><div class="ttdoc">Return statistics.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
558
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a475205e221890204c7770c414ee63975"><div class="ttname"><a href="classSVF_1_1SVFG.html#a475205e221890204c7770c414ee63975">SVF::SVFG::getActualINSVFGNodes</a></div><div class="ttdeci">ActualINSVFGNodeSet & getActualINSVFGNodes(const CallICFGNode *cs)</div><div class="ttdoc">Get SVFGNode set.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00210">SVFG.h:210</a></div></div>
|
|
559
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a8ba934714a7f2caf2e041002fdb66137"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8ba934714a7f2caf2e041002fdb66137">SVF::SVFG::getStat</a></div><div class="ttdeci">SVFGStat * getStat() const</div><div class="ttdoc">Return statistics.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00126">SVFG.h:126</a></div></div>
|
|
559
560
|
<div class="ttc" id="aclassSVF_1_1StoreCHI_html"><div class="ttname"><a href="classSVF_1_1StoreCHI.html">SVF::StoreCHI</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00461">MSSAMuChi.h:461</a></div></div>
|
|
560
561
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00180">GenericGraph.h:180</a></div></div>
|
|
561
562
|
<div class="ttc" id="aclassSVF_1_1VFG_html_ad86631f70bd702b5635bdbeab7d884b9"><div class="ttname"><a href="classSVF_1_1VFG.html#ad86631f70bd702b5635bdbeab7d884b9">SVF::VFG::hasInterVFGEdge</a></div><div class="ttdeci">VFGEdge * hasInterVFGEdge(VFGNode *src, VFGNode *dst, VFGEdge::VFGEdgeK kind, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8cpp_source.html#l00909">VFG.cpp:909</a></div></div>
|
|
@@ -563,149 +564,150 @@ $(function() {
|
|
|
563
564
|
<div class="ttc" id="aclassSVF_1_1CopyVFGNode_html"><div class="ttname"><a href="classSVF_1_1CopyVFGNode.html">SVF::CopyVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00281">VFGNode.h:281</a></div></div>
|
|
564
565
|
<div class="ttc" id="aclassSVF_1_1VFG_html_acb181d4f9faa40578c80e2018e2742b8"><div class="ttname"><a href="classSVF_1_1VFG.html#acb181d4f9faa40578c80e2018e2742b8">SVF::VFG::totalVFGNode</a></div><div class="ttdeci">NodeID totalVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00088">VFG.h:88</a></div></div>
|
|
565
566
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a0a8831a5429005ff9d71adbd6bf3994f"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">SVF::GenericGraph::addGNode</a></div><div class="ttdeci">void addGNode(NodeID id, NodeType *node)</div><div class="ttdoc">Add a Node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00399">GenericGraph.h:399</a></div></div>
|
|
566
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a86d4a41a881a3d2e5def103d7ba8bb2f"><div class="ttname"><a href="classSVF_1_1SVFG.html#a86d4a41a881a3d2e5def103d7ba8bb2f">SVF::SVFG::LOADMU</a></div><div class="ttdeci">MemSSA::LOADMU LOADMU</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
567
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_ab1fde654cc464c5b4d1bafff83d346ed"><div class="ttname"><a href="classSVF_1_1SVFG.html#ab1fde654cc464c5b4d1bafff83d346ed">SVF::SVFG::hasActualOUTSVFGNodes</a></div><div class="ttdeci">bool hasActualOUTSVFGNodes(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
567
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a86d4a41a881a3d2e5def103d7ba8bb2f"><div class="ttname"><a href="classSVF_1_1SVFG.html#a86d4a41a881a3d2e5def103d7ba8bb2f">SVF::SVFG::LOADMU</a></div><div class="ttdeci">MemSSA::LOADMU LOADMU</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00092">SVFG.h:92</a></div></div>
|
|
568
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_ab1fde654cc464c5b4d1bafff83d346ed"><div class="ttname"><a href="classSVF_1_1SVFG.html#ab1fde654cc464c5b4d1bafff83d346ed">SVF::SVFG::hasActualOUTSVFGNodes</a></div><div class="ttdeci">bool hasActualOUTSVFGNodes(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00192">SVFG.h:192</a></div></div>
|
|
568
569
|
<div class="ttc" id="aclassSVF_1_1VFG_html_ac97ef8c479556f9ca2c40cd4d8a18694"><div class="ttname"><a href="classSVF_1_1VFG.html#ac97ef8c479556f9ca2c40cd4d8a18694">SVF::VFG::SVFGEdgeSetTy</a></div><div class="ttdeci">VFGEdge::SVFGEdgeSetTy SVFGEdgeSetTy</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00078">VFG.h:78</a></div></div>
|
|
570
|
+
<div class="ttc" id="aclassSVF_1_1CFLSVFGBuilder_html"><div class="ttname"><a href="classSVF_1_1CFLSVFGBuilder.html">SVF::CFLSVFGBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLSVFGBuilder_8h_source.html#l00035">CFLSVFGBuilder.h:35</a></div></div>
|
|
569
571
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_a164a3df08fc24bacc0b97aee8b6eec38"><div class="ttname"><a href="classSVF_1_1SVFG.html#a164a3df08fc24bacc0b97aee8b6eec38">SVF::SVFG::connectIndirectSVFGEdges</a></div><div class="ttdeci">void connectIndirectSVFGEdges()</div><div class="ttdoc">Connect direct SVFG edges between two SVFG nodes (value-flow of top address-taken variables)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00326">SVFG.cpp:326</a></div></div>
|
|
570
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_aa9f520779475e4783eccc45c460e346a"><div class="ttname"><a href="classSVF_1_1SVFG.html#aa9f520779475e4783eccc45c460e346a">SVF::SVFG::ActualINSVFGNodeSet</a></div><div class="ttdeci">NodeBS ActualINSVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
572
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_aa9f520779475e4783eccc45c460e346a"><div class="ttname"><a href="classSVF_1_1SVFG.html#aa9f520779475e4783eccc45c460e346a">SVF::SVFG::ActualINSVFGNodeSet</a></div><div class="ttdeci">NodeBS ActualINSVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00079">SVFG.h:79</a></div></div>
|
|
571
573
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_a910298ed854a6b88b9dae44181ca72de"><div class="ttname"><a href="classSVF_1_1SVFG.html#a910298ed854a6b88b9dae44181ca72de">SVF::SVFG::getMRVERFromString</a></div><div class="ttdeci">virtual MRVer * getMRVERFromString(const std::string &input)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGReadWrite_8cpp_source.html#l00431">SVFGReadWrite.cpp:431</a></div></div>
|
|
572
574
|
<div class="ttc" id="anamespaceSVF_html_a65a3be463427d1112a8b87f072f3d22f"><div class="ttname"><a href="namespaceSVF.html#a65a3be463427d1112a8b87f072f3d22f">SVF::GepSVFGNode</a></div><div class="ttdeci">GepVFGNode GepSVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00055">SVFG.h:55</a></div></div>
|
|
573
575
|
<div class="ttc" id="aclassSVF_1_1VFGEdge_html_a156ae6a8b3a033f505c18c6b162e7cf5a8288c583cfcbfdf9aa2ac2103c0e7191"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a156ae6a8b3a033f505c18c6b162e7cf5a8288c583cfcbfdf9aa2ac2103c0e7191">SVF::VFGEdge::RetDirVF</a></div><div class="ttdeci">@ RetDirVF</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00056">VFGEdge.h:56</a></div></div>
|
|
574
|
-
<div class="ttc" id="aclassSVF_1_1SaberSVFGBuilder_html"><div class="ttname"><a href="classSVF_1_1SaberSVFGBuilder.html">SVF::SaberSVFGBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SaberSVFGBuilder_8h_source.html#
|
|
575
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a65f28035e0fa5bebf76d28612b2f8ba8"><div class="ttname"><a href="classSVF_1_1SVFG.html#a65f28035e0fa5bebf76d28612b2f8ba8">SVF::SVFG::hasFormalINSVFGNodes</a></div><div class="ttdeci">bool hasFormalINSVFGNodes(const SVFFunction *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
576
|
+
<div class="ttc" id="aclassSVF_1_1SaberSVFGBuilder_html"><div class="ttname"><a href="classSVF_1_1SaberSVFGBuilder.html">SVF::SaberSVFGBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SaberSVFGBuilder_8h_source.html#l00043">SaberSVFGBuilder.h:43</a></div></div>
|
|
577
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a65f28035e0fa5bebf76d28612b2f8ba8"><div class="ttname"><a href="classSVF_1_1SVFG.html#a65f28035e0fa5bebf76d28612b2f8ba8">SVF::SVFG::hasFormalINSVFGNodes</a></div><div class="ttdeci">bool hasFormalINSVFGNodes(const SVFFunction *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00197">SVFG.h:197</a></div></div>
|
|
576
578
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_abddfc95cf644d0729ee29eccf95699f1"><div class="ttname"><a href="classSVF_1_1SVFG.html#abddfc95cf644d0729ee29eccf95699f1">SVF::SVFG::addSVFGNodesForAddrTakenVars</a></div><div class="ttdeci">void addSVFGNodesForAddrTakenVars()</div><div class="ttdoc">Create SVFG nodes for address-taken variables.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00251">SVFG.cpp:251</a></div></div>
|
|
577
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a101c5a8b31baf5c5613144f6e277abe9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a101c5a8b31baf5c5613144f6e277abe9">SVF::SVFG::ENTRYCHI</a></div><div class="ttdeci">MemSSA::ENTRYCHI ENTRYCHI</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
579
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a101c5a8b31baf5c5613144f6e277abe9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a101c5a8b31baf5c5613144f6e277abe9">SVF::SVFG::ENTRYCHI</a></div><div class="ttdeci">MemSSA::ENTRYCHI ENTRYCHI</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00095">SVFG.h:95</a></div></div>
|
|
578
580
|
<div class="ttc" id="aclassSVF_1_1FormalRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalRetVFGNode.html">SVF::FormalRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01025">VFGNode.h:1025</a></div></div>
|
|
579
581
|
<div class="ttc" id="aclassSVF_1_1ICFG_html_af1b2d2839f811a00103df87342dfc919"><div class="ttname"><a href="classSVF_1_1ICFG.html#af1b2d2839f811a00103df87342dfc919">SVF::ICFG::getFunExitICFGNode</a></div><div class="ttdeci">FunExitICFGNode * getFunExitICFGNode(const SVFFunction *fun)</div><div class="ttdoc">Add a function exit node.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00279">ICFG.cpp:279</a></div></div>
|
|
580
582
|
<div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
581
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a5f3e0fbf83621cc661d2c59800756727"><div class="ttname"><a href="classSVF_1_1SVFG.html#a5f3e0fbf83621cc661d2c59800756727">SVF::SVFG::CALLCHI</a></div><div class="ttdeci">MemSSA::CALLCHI CALLCHI</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
583
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a5f3e0fbf83621cc661d2c59800756727"><div class="ttname"><a href="classSVF_1_1SVFG.html#a5f3e0fbf83621cc661d2c59800756727">SVF::SVFG::CALLCHI</a></div><div class="ttdeci">MemSSA::CALLCHI CALLCHI</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00096">SVFG.h:96</a></div></div>
|
|
582
584
|
<div class="ttc" id="anamespaceSVF_html_ab98f7c9e6311e649cdfd5d2f3f8e59be"><div class="ttname"><a href="namespaceSVF.html#ab98f7c9e6311e649cdfd5d2f3f8e59be">SVF::CopySVFGNode</a></div><div class="ttdeci">CopyVFGNode CopySVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00052">SVFG.h:52</a></div></div>
|
|
583
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a67654d252e9e93b74e35ba247048b41a"><div class="ttname"><a href="classSVF_1_1SVFG.html#a67654d252e9e93b74e35ba247048b41a">SVF::SVFG::RcSvfgBuilder</a></div><div class="ttdeci">friend class RcSvfgBuilder</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
585
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a67654d252e9e93b74e35ba247048b41a"><div class="ttname"><a href="classSVF_1_1SVFG.html#a67654d252e9e93b74e35ba247048b41a">SVF::SVFG::RcSvfgBuilder</a></div><div class="ttdeci">friend class RcSvfgBuilder</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00073">SVFG.h:73</a></div></div>
|
|
584
586
|
<div class="ttc" id="aclassSVF_1_1InterPHIVFGNode_html"><div class="ttname"><a href="classSVF_1_1InterPHIVFGNode.html">SVF::InterPHIVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01091">VFGNode.h:1091</a></div></div>
|
|
585
587
|
<div class="ttc" id="aclassSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00385">ICFGNode.h:385</a></div></div>
|
|
586
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a5b7ae610bee28acc2905ca82928e714f"><div class="ttname"><a href="classSVF_1_1SVFG.html#a5b7ae610bee28acc2905ca82928e714f">SVF::SVFG::getActualOUTSVFGNodes</a></div><div class="ttdeci">ActualOUTSVFGNodeSet & getActualOUTSVFGNodes(const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
588
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a5b7ae610bee28acc2905ca82928e714f"><div class="ttname"><a href="classSVF_1_1SVFG.html#a5b7ae610bee28acc2905ca82928e714f">SVF::SVFG::getActualOUTSVFGNodes</a></div><div class="ttdeci">ActualOUTSVFGNodeSet & getActualOUTSVFGNodes(const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00215">SVFG.h:215</a></div></div>
|
|
587
589
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_af8ceb1ebf745e6803c606c41f7a482ac"><div class="ttname"><a href="classSVF_1_1SVFG.html#af8ceb1ebf745e6803c606c41f7a482ac">SVF::SVFG::addCallIndirectVFEdge</a></div><div class="ttdeci">SVFGEdge * addCallIndirectVFEdge(NodeID srcId, NodeID dstId, const NodeBS &cpts, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00503">SVFG.cpp:503</a></div></div>
|
|
588
590
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00221">GenericGraph.h:221</a></div></div>
|
|
589
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_ae51cd0493e4e767848b96b69045762fd"><div class="ttname"><a href="classSVF_1_1SVFG.html#ae51cd0493e4e767848b96b69045762fd">SVF::SVFG::funToFormalINMap</a></div><div class="ttdeci">FunctionToFormalINsMapTy funToFormalINMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
591
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_ae51cd0493e4e767848b96b69045762fd"><div class="ttname"><a href="classSVF_1_1SVFG.html#ae51cd0493e4e767848b96b69045762fd">SVF::SVFG::funToFormalINMap</a></div><div class="ttdeci">FunctionToFormalINsMapTy funToFormalINMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00103">SVFG.h:103</a></div></div>
|
|
590
592
|
<div class="ttc" id="aclassSVF_1_1MemSSA_html_a81bba824495a882b49e687683954b112"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a81bba824495a882b49e687683954b112">SVF::MemSSA::MUSet</a></div><div class="ttdeci">Set< MU * > MUSet</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00070">MemSSA.h:70</a></div></div>
|
|
591
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_aa3ebc066d376e7ed508d2bce49fa864d"><div class="ttname"><a href="classSVF_1_1SVFG.html#aa3ebc066d376e7ed508d2bce49fa864d">SVF::SVFG::setDef</a></div><div class="ttdeci">void setDef(const MRVer *mvar, const SVFGNode *node)</div><div class="ttdoc">Given a MSSADef, set/get its def SVFG node (definition of address-taken variables)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
593
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_aa3ebc066d376e7ed508d2bce49fa864d"><div class="ttname"><a href="classSVF_1_1SVFG.html#aa3ebc066d376e7ed508d2bce49fa864d">SVF::SVFG::setDef</a></div><div class="ttdeci">void setDef(const MRVer *mvar, const SVFGNode *node)</div><div class="ttdoc">Given a MSSADef, set/get its def SVFG node (definition of address-taken variables)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00368">SVFG.h:368</a></div></div>
|
|
592
594
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00297">SVFValue.h:297</a></div></div>
|
|
593
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a727af89a305e48f399ad33cc7149dbcb"><div class="ttname"><a href="classSVF_1_1SVFG.html#a727af89a305e48f399ad33cc7149dbcb">SVF::SVFG::CallSiteToActualINsMapTy</a></div><div class="ttdeci">Map< const CallICFGNode *, ActualINSVFGNodeSet > CallSiteToActualINsMapTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
595
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a727af89a305e48f399ad33cc7149dbcb"><div class="ttname"><a href="classSVF_1_1SVFG.html#a727af89a305e48f399ad33cc7149dbcb">SVF::SVFG::CallSiteToActualINsMapTy</a></div><div class="ttdeci">Map< const CallICFGNode *, ActualINSVFGNodeSet > CallSiteToActualINsMapTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00083">SVFG.h:83</a></div></div>
|
|
594
596
|
<div class="ttc" id="anamespaceSVF_html_a959453cbb8ff2d852b526fd1ff74ce49"><div class="ttname"><a href="namespaceSVF.html#a959453cbb8ff2d852b526fd1ff74ce49">SVF::AddrSVFGNode</a></div><div class="ttdeci">AddrVFGNode AddrSVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00051">SVFG.h:51</a></div></div>
|
|
595
597
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html_ae5b113921530eee6afe58a65d8e5b3a7"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">SVF::GenericNode::InEdgeBegin</a></div><div class="ttdeci">iterator InEdgeBegin()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00225">GenericGraph.h:225</a></div></div>
|
|
596
598
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_a7ce9ec638995467c211958262be08ee1"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ce9ec638995467c211958262be08ee1">SVF::SVFG::writeToFile</a></div><div class="ttdeci">virtual void writeToFile(const std::string &filename)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGReadWrite_8cpp_source.html#l00047">SVFGReadWrite.cpp:47</a></div></div>
|
|
597
599
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_a0920e9f9896531959d74ae61013d96d6"><div class="ttname"><a href="classSVF_1_1SVFG.html#a0920e9f9896531959d74ae61013d96d6">SVF::SVFG::buildSVFG</a></div><div class="ttdeci">virtual void buildSVFG()</div><div class="ttdoc">Start building SVFG.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00224">SVFG.cpp:224</a></div></div>
|
|
598
600
|
<div class="ttc" id="aclassSVF_1_1RetMU_html"><div class="ttname"><a href="classSVF_1_1RetMU.html">SVF::RetMU</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00277">MSSAMuChi.h:277</a></div></div>
|
|
599
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_ad5c1415f488ec4412d5457262269eff3"><div class="ttname"><a href="classSVF_1_1SVFG.html#ad5c1415f488ec4412d5457262269eff3">SVF::SVFG::stat</a></div><div class="ttdeci">SVFGStat * stat</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
600
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a287c337697eed7d92889bca0a0e370d7"><div class="ttname"><a href="classSVF_1_1SVFG.html#a287c337697eed7d92889bca0a0e370d7">SVF::SVFG::getFormalOUTSVFGNodes</a></div><div class="ttdeci">FormalOUTSVFGNodeSet & getFormalOUTSVFGNodes(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
601
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_ad5c1415f488ec4412d5457262269eff3"><div class="ttname"><a href="classSVF_1_1SVFG.html#ad5c1415f488ec4412d5457262269eff3">SVF::SVFG::stat</a></div><div class="ttdeci">SVFGStat * stat</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00105">SVFG.h:105</a></div></div>
|
|
602
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a287c337697eed7d92889bca0a0e370d7"><div class="ttname"><a href="classSVF_1_1SVFG.html#a287c337697eed7d92889bca0a0e370d7">SVF::SVFG::getFormalOUTSVFGNodes</a></div><div class="ttdeci">FormalOUTSVFGNodeSet & getFormalOUTSVFGNodes(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00225">SVFG.h:225</a></div></div>
|
|
601
603
|
<div class="ttc" id="anamespaceSVF_html_a77b8b8ca831e1eba3e47f2ca29667f67"><div class="ttname"><a href="namespaceSVF.html#a77b8b8ca831e1eba3e47f2ca29667f67">SVF::ActualRetSVFGNode</a></div><div class="ttdeci">ActualRetVFGNode ActualRetSVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00045">SVFG.h:45</a></div></div>
|
|
602
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_ac965abfbe9bdc872f98b36a171a7b5aa"><div class="ttname"><a href="classSVF_1_1SVFG.html#ac965abfbe9bdc872f98b36a171a7b5aa">SVF::SVFG::getSVFGNodeNum</a></div><div class="ttdeci">u32_t getSVFGNodeNum() const</div><div class="ttdoc">Return total SVFG node number.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
604
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_ac965abfbe9bdc872f98b36a171a7b5aa"><div class="ttname"><a href="classSVF_1_1SVFG.html#ac965abfbe9bdc872f98b36a171a7b5aa">SVF::SVFG::getSVFGNodeNum</a></div><div class="ttdeci">u32_t getSVFGNodeNum() const</div><div class="ttdoc">Return total SVFG node number.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00255">SVFG.h:255</a></div></div>
|
|
603
605
|
<div class="ttc" id="aclassSVF_1_1VFG_html_a122aa5ad874170ef644cee8705f1ef3e"><div class="ttname"><a href="classSVF_1_1VFG.html#a122aa5ad874170ef644cee8705f1ef3e">SVF::VFG::removeVFGNode</a></div><div class="ttdeci">void removeVFGNode(VFGNode *node)</div><div class="ttdoc">Remove a VFGNode.</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00326">VFG.h:326</a></div></div>
|
|
604
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a710a36fc3f4ad15010c4469abcd032e5"><div class="ttname"><a href="classSVF_1_1SVFG.html#a710a36fc3f4ad15010c4469abcd032e5">SVF::SVFG::~SVFG</a></div><div class="ttdeci">virtual ~SVFG()</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
606
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a710a36fc3f4ad15010c4469abcd032e5"><div class="ttname"><a href="classSVF_1_1SVFG.html#a710a36fc3f4ad15010c4469abcd032e5">SVF::SVFG::~SVFG</a></div><div class="ttdeci">virtual ~SVFG()</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00120">SVFG.h:120</a></div></div>
|
|
605
607
|
<div class="ttc" id="aclassSVF_1_1PHIVFGNode_html"><div class="ttname"><a href="classSVF_1_1PHIVFGNode.html">SVF::PHIVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00635">VFGNode.h:635</a></div></div>
|
|
606
608
|
<div class="ttc" id="anamespaceSVF_html_a11c50c2f81327753b3ff3ffdbe356812"><div class="ttname"><a href="namespaceSVF.html#a11c50c2f81327753b3ff3ffdbe356812">SVF::ActualParmSVFGNode</a></div><div class="ttdeci">ActualParmVFGNode ActualParmSVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00044">SVFG.h:44</a></div></div>
|
|
607
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_ab4690114393820f580e805d2e0d6a41d"><div class="ttname"><a href="classSVF_1_1SVFG.html#ab4690114393820f580e805d2e0d6a41d">SVF::SVFG::addFormalINSVFGNode</a></div><div class="ttdeci">void addFormalINSVFGNode(const FunEntryICFGNode *funEntry, const MRVer *resVer, const NodeID nodeId)</div><div class="ttdoc">Add memory Function entry chi SVFG node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
609
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_ab4690114393820f580e805d2e0d6a41d"><div class="ttname"><a href="classSVF_1_1SVFG.html#ab4690114393820f580e805d2e0d6a41d">SVF::SVFG::addFormalINSVFGNode</a></div><div class="ttdeci">void addFormalINSVFGNode(const FunEntryICFGNode *funEntry, const MRVer *resVer, const NodeID nodeId)</div><div class="ttdoc">Add memory Function entry chi SVFG node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00403">SVFG.h:403</a></div></div>
|
|
608
610
|
<div class="ttc" id="anamespaceSVF_html_a71d4e214e049f02bf26537cba6328673"><div class="ttname"><a href="namespaceSVF.html#a71d4e214e049f02bf26537cba6328673">SVF::PHISVFGNode</a></div><div class="ttdeci">PHIVFGNode PHISVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00056">SVFG.h:56</a></div></div>
|
|
609
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_abd917826bf50ed409a307ce00562c97d"><div class="ttname"><a href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
611
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_abd917826bf50ed409a307ce00562c97d"><div class="ttname"><a href="classSVF_1_1SVFG.html#abd917826bf50ed409a307ce00562c97d">SVF::SVFG::getDef</a></div><div class="ttdeci">NodeID getDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00356">SVFG.h:356</a></div></div>
|
|
610
612
|
<div class="ttc" id="aclassSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
|
|
611
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a1f8c60ad57bf473e0186b794d666b5c2"><div class="ttname"><a href="classSVF_1_1SVFG.html#a1f8c60ad57bf473e0186b794d666b5c2">SVF::SVFG::hasFormalOUTSVFGNodes</a></div><div class="ttdeci">bool hasFormalOUTSVFGNodes(const SVFFunction *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
612
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_ac1acdf7bc468d7734359591e45f485fe"><div class="ttname"><a href="classSVF_1_1SVFG.html#ac1acdf7bc468d7734359591e45f485fe">SVF::SVFG::getInterVFEdgeAtIndCSFromAPToFP</a></div><div class="ttdeci">virtual void getInterVFEdgeAtIndCSFromAPToFP(const PAGNode *cs_arg, const PAGNode *fun_arg, const CallICFGNode *, CallSiteID csId, SVFGEdgeSetTy &edges)</div><div class="ttdoc">Get inter value flow edges between indirect call site and callee.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
613
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a1f8c60ad57bf473e0186b794d666b5c2"><div class="ttname"><a href="classSVF_1_1SVFG.html#a1f8c60ad57bf473e0186b794d666b5c2">SVF::SVFG::hasFormalOUTSVFGNodes</a></div><div class="ttdeci">bool hasFormalOUTSVFGNodes(const SVFFunction *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00202">SVFG.h:202</a></div></div>
|
|
614
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_ac1acdf7bc468d7734359591e45f485fe"><div class="ttname"><a href="classSVF_1_1SVFG.html#ac1acdf7bc468d7734359591e45f485fe">SVF::SVFG::getInterVFEdgeAtIndCSFromAPToFP</a></div><div class="ttdeci">virtual void getInterVFEdgeAtIndCSFromAPToFP(const PAGNode *cs_arg, const PAGNode *fun_arg, const CallICFGNode *, CallSiteID csId, SVFGEdgeSetTy &edges)</div><div class="ttdoc">Get inter value flow edges between indirect call site and callee.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00310">SVFG.h:310</a></div></div>
|
|
613
615
|
<div class="ttc" id="aclassSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
|
|
614
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_ac4c65501e9beba5495a57dd469f78e5b"><div class="ttname"><a href="classSVF_1_1SVFG.html#ac4c65501e9beba5495a57dd469f78e5b">SVF::SVFG::FunctionToFormalOUTsMapTy</a></div><div class="ttdeci">Map< const SVFFunction *, FormalOUTSVFGNodeSet > FunctionToFormalOUTsMapTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
615
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a67750c461e3543f6b75d2dd510d67297"><div class="ttname"><a href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">SVF::SVFG::addSVFGEdge</a></div><div class="ttdeci">bool addSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Add SVFG edge.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
616
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_ac4c65501e9beba5495a57dd469f78e5b"><div class="ttname"><a href="classSVF_1_1SVFG.html#ac4c65501e9beba5495a57dd469f78e5b">SVF::SVFG::FunctionToFormalOUTsMapTy</a></div><div class="ttdeci">Map< const SVFFunction *, FormalOUTSVFGNodeSet > FunctionToFormalOUTsMapTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00086">SVFG.h:86</a></div></div>
|
|
617
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a67750c461e3543f6b75d2dd510d67297"><div class="ttname"><a href="classSVF_1_1SVFG.html#a67750c461e3543f6b75d2dd510d67297">SVF::SVFG::addSVFGEdge</a></div><div class="ttdeci">bool addSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Add SVFG edge.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00249">SVFG.h:249</a></div></div>
|
|
616
618
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a38122734cbe71551a420dfb7fee2012e"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a38122734cbe71551a420dfb7fee2012e">SVF::GenericGraph::nodeNum</a></div><div class="ttdeci">u32_t nodeNum</div><div class="ttdoc">total num of edge</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00456">GenericGraph.h:456</a></div></div>
|
|
617
619
|
<div class="ttc" id="anamespaceSVF_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>
|
|
618
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a74aa824a68f99756ac3e65231c7bc2e9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a74aa824a68f99756ac3e65231c7bc2e9">SVF::SVFG::addActualOUTSVFGNode</a></div><div class="ttdeci">void addActualOUTSVFGNode(const CallICFGNode *callsite, const MRVer *resVer, const NodeID nodeId)</div><div class="ttdoc">Add memory callsite chi SVFG node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
620
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a74aa824a68f99756ac3e65231c7bc2e9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a74aa824a68f99756ac3e65231c7bc2e9">SVF::SVFG::addActualOUTSVFGNode</a></div><div class="ttdeci">void addActualOUTSVFGNode(const CallICFGNode *callsite, const MRVer *resVer, const NodeID nodeId)</div><div class="ttdoc">Add memory callsite chi SVFG node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00428">SVFG.h:428</a></div></div>
|
|
619
621
|
<div class="ttc" id="aclassSVF_1_1CallMU_html"><div class="ttname"><a href="classSVF_1_1CallMU.html">SVF::CallMU</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00221">MSSAMuChi.h:221</a></div></div>
|
|
620
622
|
<div class="ttc" id="aclassSVF_1_1EntryCHI_html"><div class="ttname"><a href="classSVF_1_1EntryCHI.html">SVF::EntryCHI</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00578">MSSAMuChi.h:578</a></div></div>
|
|
621
623
|
<div class="ttc" id="anamespaceSVF_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>
|
|
622
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a804824faa3a042cb1b63edd9e9eb7207"><div class="ttname"><a href="classSVF_1_1SVFG.html#a804824faa3a042cb1b63edd9e9eb7207">SVF::SVFG::addFormalOUTSVFGNode</a></div><div class="ttdeci">void addFormalOUTSVFGNode(const FunExitICFGNode *funExit, const MRVer *ver, const NodeID nodeId)</div><div class="ttdoc">Add memory Function return mu SVFG node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
624
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a804824faa3a042cb1b63edd9e9eb7207"><div class="ttname"><a href="classSVF_1_1SVFG.html#a804824faa3a042cb1b63edd9e9eb7207">SVF::SVFG::addFormalOUTSVFGNode</a></div><div class="ttdeci">void addFormalOUTSVFGNode(const FunExitICFGNode *funExit, const MRVer *ver, const NodeID nodeId)</div><div class="ttdoc">Add memory Function return mu SVFG node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00412">SVFG.h:412</a></div></div>
|
|
623
625
|
<div class="ttc" id="aclassSVF_1_1IntraPHIVFGNode_html"><div class="ttname"><a href="classSVF_1_1IntraPHIVFGNode.html">SVF::IntraPHIVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00710">VFGNode.h:710</a></div></div>
|
|
624
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_aef7ee9d802934d51b3761663bdaf0c05"><div class="ttname"><a href="classSVF_1_1SVFG.html#aef7ee9d802934d51b3761663bdaf0c05">SVF::SVFG::PHISet</a></div><div class="ttdeci">MemSSA::PHISet PHISet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
626
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_aef7ee9d802934d51b3761663bdaf0c05"><div class="ttname"><a href="classSVF_1_1SVFG.html#aef7ee9d802934d51b3761663bdaf0c05">SVF::SVFG::PHISet</a></div><div class="ttdeci">MemSSA::PHISet PHISet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00089">SVFG.h:89</a></div></div>
|
|
625
627
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_a07d48490eda50ee6d31f295150409cf3"><div class="ttname"><a href="classSVF_1_1SVFG.html#a07d48490eda50ee6d31f295150409cf3">SVF::SVFG::SVFG</a></div><div class="ttdeci">SVFG(std::unique_ptr< MemSSA > mssa, VFGK k)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00200">SVFG.cpp:200</a></div></div>
|
|
626
628
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00217">GenericGraph.h:217</a></div></div>
|
|
627
629
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_abda052b73e869ed6d7c139ad1528da11"><div class="ttname"><a href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00170">SVFIR.h:170</a></div></div>
|
|
628
630
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_a8ebf0e285c69db8332a1f8914d6190f6"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8ebf0e285c69db8332a1f8914d6190f6">SVF::SVFG::addRetIndirectVFEdge</a></div><div class="ttdeci">SVFGEdge * addRetIndirectVFEdge(NodeID srcId, NodeID dstId, const NodeBS &cpts, CallSiteID csId)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00523">SVFG.cpp:523</a></div></div>
|
|
629
631
|
<div class="ttc" id="aclassSVF_1_1MSSAMU_html"><div class="ttname"><a href="classSVF_1_1MSSAMU.html">SVF::MSSAMU</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00095">MSSAMuChi.h:95</a></div></div>
|
|
630
632
|
<div class="ttc" id="aclassSVF_1_1FormalINSVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalINSVFGNode.html">SVF::FormalINSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00093">SVFGNode.h:93</a></div></div>
|
|
631
|
-
<div class="ttc" id="astructSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4_html_a0e3ed0946d46830533f184f12428bbb0"><div class="ttname"><a href="structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html#a0e3ed0946d46830533f184f12428bbb0">SVF::GenericGraphTraits< SVF::SVFG * >::NodeRef</a></div><div class="ttdeci">SVF::SVFGNode * NodeRef</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
633
|
+
<div class="ttc" id="astructSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4_html_a0e3ed0946d46830533f184f12428bbb0"><div class="ttname"><a href="structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html#a0e3ed0946d46830533f184f12428bbb0">SVF::GenericGraphTraits< SVF::SVFG * >::NodeRef</a></div><div class="ttdeci">SVF::SVFGNode * NodeRef</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00486">SVFG.h:486</a></div></div>
|
|
632
634
|
<div class="ttc" id="anamespaceSVF_html_ad466edced10faeafd48e96daf193b8a9"><div class="ttname"><a href="namespaceSVF.html#ad466edced10faeafd48e96daf193b8a9">SVF::FormalParmSVFGNode</a></div><div class="ttdeci">FormalParmVFGNode FormalParmSVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00046">SVFG.h:46</a></div></div>
|
|
633
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a665c93b68f49078c281270a028d04445"><div class="ttname"><a href="classSVF_1_1SVFG.html#a665c93b68f49078c281270a028d04445">SVF::SVFG::TaintSVFGBuilder</a></div><div class="ttdeci">friend class TaintSVFGBuilder</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
635
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a665c93b68f49078c281270a028d04445"><div class="ttname"><a href="classSVF_1_1SVFG.html#a665c93b68f49078c281270a028d04445">SVF::SVFG::TaintSVFGBuilder</a></div><div class="ttdeci">friend class TaintSVFGBuilder</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00070">SVFG.h:70</a></div></div>
|
|
634
636
|
<div class="ttc" id="aclassSVF_1_1SVFGStat_html"><div class="ttname"><a href="classSVF_1_1SVFGStat.html">SVF::SVFGStat</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGStat_8h_source.html#l00092">SVFGStat.h:92</a></div></div>
|
|
635
637
|
<div class="ttc" id="aclassSVF_1_1ICFG_html_a0dca4655c2f6112a5be1f921b8e81076"><div class="ttname"><a href="classSVF_1_1ICFG.html#a0dca4655c2f6112a5be1f921b8e81076">SVF::ICFG::getFunEntryICFGNode</a></div><div class="ttdeci">FunEntryICFGNode * getFunEntryICFGNode(const SVFFunction *fun)</div><div class="ttdoc">Add a function entry node.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00270">ICFG.cpp:270</a></div></div>
|
|
636
638
|
<div class="ttc" id="aclassSVF_1_1VFG_html_aeb24b155fe31813b2e6dc0564f55738a"><div class="ttname"><a href="classSVF_1_1VFG.html#aeb24b155fe31813b2e6dc0564f55738a">SVF::VFG::removeVFGEdge</a></div><div class="ttdeci">void removeVFGEdge(VFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge.</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00319">VFG.h:319</a></div></div>
|
|
637
639
|
<div class="ttc" id="aclassSVF_1_1MemSSA_html_af9cf084e3070456d8cca491e1391b0c4"><div class="ttname"><a href="classSVF_1_1MemSSA.html#af9cf084e3070456d8cca491e1391b0c4">SVF::MemSSA::CHISet</a></div><div class="ttdeci">Set< CHI * > CHISet</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00071">MemSSA.h:71</a></div></div>
|
|
638
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a8843ab4a4608f7f5f46f68ad31314c07"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8843ab4a4608f7f5f46f68ad31314c07">SVF::SVFG::CHISet</a></div><div class="ttdeci">MemSSA::CHISet CHISet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
639
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a7c4e9c0fad457a2dc81a85f96fcec9ec"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7c4e9c0fad457a2dc81a85f96fcec9ec">SVF::SVFG::CallSiteToActualOUTsMapTy</a></div><div class="ttdeci">Map< const CallICFGNode *, ActualOUTSVFGNodeSet > CallSiteToActualOUTsMapTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
640
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a8843ab4a4608f7f5f46f68ad31314c07"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8843ab4a4608f7f5f46f68ad31314c07">SVF::SVFG::CHISet</a></div><div class="ttdeci">MemSSA::CHISet CHISet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00088">SVFG.h:88</a></div></div>
|
|
641
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a7c4e9c0fad457a2dc81a85f96fcec9ec"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7c4e9c0fad457a2dc81a85f96fcec9ec">SVF::SVFG::CallSiteToActualOUTsMapTy</a></div><div class="ttdeci">Map< const CallICFGNode *, ActualOUTSVFGNodeSet > CallSiteToActualOUTsMapTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00084">SVFG.h:84</a></div></div>
|
|
640
642
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_ad03f0064d3a1ff397b35a606304a9c80"><div class="ttname"><a href="classSVF_1_1SVFG.html#ad03f0064d3a1ff397b35a606304a9c80">SVF::SVFG::addIntraIndirectVFEdge</a></div><div class="ttdeci">SVFGEdge * addIntraIndirectVFEdge(NodeID srcId, NodeID dstId, const NodeBS &cpts)</div><div class="ttdoc">Add indirect def-use edges of a memory region between two statements,.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00461">SVFG.cpp:461</a></div></div>
|
|
641
643
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_ac9666ae7266cf1a9c0a5f7d28b39d1e9"><div class="ttname"><a href="classSVF_1_1SVFG.html#ac9666ae7266cf1a9c0a5f7d28b39d1e9">SVF::SVFG::addInterIndirectVFRetEdge</a></div><div class="ttdeci">SVFGEdge * addInterIndirectVFRetEdge(const FormalOUTSVFGNode *src, const ActualOUTSVFGNode *dst, CallSiteID csId)</div><div class="ttdoc">Add inter VF edge from function exit mu to callsite chi.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00558">SVFG.cpp:558</a></div></div>
|
|
642
644
|
<div class="ttc" id="aclassSVF_1_1VFG_html_a915fa50effaeea10716b86528b15c6dc"><div class="ttname"><a href="classSVF_1_1VFG.html#a915fa50effaeea10716b86528b15c6dc">SVF::VFG::getVFGNode</a></div><div class="ttdeci">VFGNode * getVFGNode(NodeID id) const</div><div class="ttdoc">Get a VFG node.</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00145">VFG.h:145</a></div></div>
|
|
643
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_ad2d19c5b80b01c8a7bb41100bb156279"><div class="ttname"><a href="classSVF_1_1SVFG.html#ad2d19c5b80b01c8a7bb41100bb156279">SVF::SVFG::hasDefSVFGNode</a></div><div class="ttdeci">bool hasDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">Given a pagNode, return whether it has definition site.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
644
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a926c79813d5cfbd16201832024b95190"><div class="ttname"><a href="classSVF_1_1SVFG.html#a926c79813d5cfbd16201832024b95190">SVF::SVFG::hasDef</a></div><div class="ttdeci">bool hasDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
645
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_ad2d19c5b80b01c8a7bb41100bb156279"><div class="ttname"><a href="classSVF_1_1SVFG.html#ad2d19c5b80b01c8a7bb41100bb156279">SVF::SVFG::hasDefSVFGNode</a></div><div class="ttdeci">bool hasDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">Given a pagNode, return whether it has definition site.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00177">SVFG.h:177</a></div></div>
|
|
646
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a926c79813d5cfbd16201832024b95190"><div class="ttname"><a href="classSVF_1_1SVFG.html#a926c79813d5cfbd16201832024b95190">SVF::SVFG::hasDef</a></div><div class="ttdeci">bool hasDef(const PAGNode *pagNode) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00360">SVFG.h:360</a></div></div>
|
|
645
647
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_a1aba3845bad017f81cd5f938db03a161"><div class="ttname"><a href="classSVF_1_1SVFG.html#a1aba3845bad017f81cd5f938db03a161">SVF::SVFG::addThreadMHPIndirectVFEdge</a></div><div class="ttdeci">SVFGEdge * addThreadMHPIndirectVFEdge(NodeID srcId, NodeID dstId, const NodeBS &cpts)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00483">SVFG.cpp:483</a></div></div>
|
|
646
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_accd1cbd26c9b194971f3107a57a0ab2e"><div class="ttname"><a href="classSVF_1_1SVFG.html#accd1cbd26c9b194971f3107a57a0ab2e">SVF::SVFG::setDef</a></div><div class="ttdeci">void setDef(const PAGNode *pagNode, const SVFGNode *node)</div><div class="ttdoc">Given a PAGNode, set/get its def SVFG node (definition of top level pointers)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
648
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_accd1cbd26c9b194971f3107a57a0ab2e"><div class="ttname"><a href="classSVF_1_1SVFG.html#accd1cbd26c9b194971f3107a57a0ab2e">SVF::SVFG::setDef</a></div><div class="ttdeci">void setDef(const PAGNode *pagNode, const SVFGNode *node)</div><div class="ttdoc">Given a PAGNode, set/get its def SVFG node (definition of top level pointers)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00352">SVFG.h:352</a></div></div>
|
|
647
649
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_a49fc2c505720d5cfa57231529d1c7534"><div class="ttname"><a href="classSVF_1_1SVFG.html#a49fc2c505720d5cfa57231529d1c7534">SVF::SVFG::getInterVFEdgesForIndirectCallSite</a></div><div class="ttdeci">void getInterVFEdgesForIndirectCallSite(const CallICFGNode *cs, const SVFFunction *callee, SVFGEdgeSetTy &edges)</div><div class="ttdoc">Get all inter value flow edges of a indirect call site.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00582">SVFG.cpp:582</a></div></div>
|
|
648
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a9d0714075d6071c26d26cf16c4dec7c5"><div class="ttname"><a href="classSVF_1_1SVFG.html#a9d0714075d6071c26d26cf16c4dec7c5">SVF::SVFG::getFormalINSVFGNodes</a></div><div class="ttdeci">FormalINSVFGNodeSet & getFormalINSVFGNodes(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
650
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a9d0714075d6071c26d26cf16c4dec7c5"><div class="ttname"><a href="classSVF_1_1SVFG.html#a9d0714075d6071c26d26cf16c4dec7c5">SVF::SVFG::getFormalINSVFGNodes</a></div><div class="ttdeci">FormalINSVFGNodeSet & getFormalINSVFGNodes(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00220">SVFG.h:220</a></div></div>
|
|
649
651
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_ae2cff3c963136f474fac0a66aa8cff7b"><div class="ttname"><a href="classSVF_1_1SVFG.html#ae2cff3c963136f474fac0a66aa8cff7b">SVF::SVFG::isFunEntrySVFGNode</a></div><div class="ttdeci">const SVFFunction * isFunEntrySVFGNode(const SVFGNode *node) const</div><div class="ttdoc">Whether a node is function entry SVFGNode.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00704">SVFG.cpp:704</a></div></div>
|
|
650
652
|
<div class="ttc" id="aclassSVF_1_1MemSSA_html"><div class="ttname"><a href="classSVF_1_1MemSSA.html">SVF::MemSSA</a></div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00052">MemSSA.h:52</a></div></div>
|
|
651
653
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_a82a93d9b7fcf1938e3090a0826a1ca7e"><div class="ttname"><a href="classSVF_1_1SVFG.html#a82a93d9b7fcf1938e3090a0826a1ca7e">SVF::SVFG::destroy</a></div><div class="ttdeci">void destroy()</div><div class="ttdoc">Clean up memory.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00208">SVFG.cpp:208</a></div></div>
|
|
652
654
|
<div class="ttc" id="aclassSVF_1_1GepVFGNode_html"><div class="ttname"><a href="classSVF_1_1GepVFGNode.html">SVF::GepVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00594">VFGNode.h:594</a></div></div>
|
|
653
655
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_a57629591037e16e57a0178d102a405f2"><div class="ttname"><a href="classSVF_1_1SVFG.html#a57629591037e16e57a0178d102a405f2">SVF::SVFG::addInterIndirectVFCallEdge</a></div><div class="ttdeci">SVFGEdge * addInterIndirectVFCallEdge(const ActualINSVFGNode *src, const FormalINSVFGNode *dst, CallSiteID csId)</div><div class="ttdoc">Add inter VF edge from callsite mu to function entry chi.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00543">SVFG.cpp:543</a></div></div>
|
|
654
656
|
<div class="ttc" id="aclassSVF_1_1LoadVFGNode_html"><div class="ttname"><a href="classSVF_1_1LoadVFGNode.html">SVF::LoadVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00199">VFGNode.h:199</a></div></div>
|
|
655
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a32378226c18a0b1e22271a2338a635f6"><div class="ttname"><a href="classSVF_1_1SVFG.html#a32378226c18a0b1e22271a2338a635f6">SVF::SVFG::hasFuncRetMu</a></div><div class="ttdeci">bool hasFuncRetMu(const SVFFunction *func) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
656
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a7a88391e0c2cf8a57238dec32c2474a3"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7a88391e0c2cf8a57238dec32c2474a3">SVF::SVFG::getInterVFEdgeAtIndCSFromFOutToAOut</a></div><div class="ttdeci">virtual void getInterVFEdgeAtIndCSFromFOutToAOut(ActualOUTSVFGNode *actualOut, const SVFFunction *callee, SVFGEdgeSetTy &edges)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
657
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a32378226c18a0b1e22271a2338a635f6"><div class="ttname"><a href="classSVF_1_1SVFG.html#a32378226c18a0b1e22271a2338a635f6">SVF::SVFG::hasFuncRetMu</a></div><div class="ttdeci">bool hasFuncRetMu(const SVFFunction *func) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00453">SVFG.h:453</a></div></div>
|
|
658
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a7a88391e0c2cf8a57238dec32c2474a3"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7a88391e0c2cf8a57238dec32c2474a3">SVF::SVFG::getInterVFEdgeAtIndCSFromFOutToAOut</a></div><div class="ttdeci">virtual void getInterVFEdgeAtIndCSFromFOutToAOut(ActualOUTSVFGNode *actualOut, const SVFFunction *callee, SVFGEdgeSetTy &edges)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00338">SVFG.h:338</a></div></div>
|
|
657
659
|
<div class="ttc" id="aclassSVF_1_1VFG_html_a25c2bbbc2e966e2aaa59a5b83363557a"><div class="ttname"><a href="classSVF_1_1VFG.html#a25c2bbbc2e966e2aaa59a5b83363557a">SVF::VFG::pag</a></div><div class="ttdeci">SVFIR * pag</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00104">VFG.h:104</a></div></div>
|
|
658
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a49a910bc4ea6e98d1584e74a018badc9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9">SVF::SVFG::getMSSA</a></div><div class="ttdeci">MemSSA * getMSSA() const</div><div class="ttdoc">Get SVFG memory SSA.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
660
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a49a910bc4ea6e98d1584e74a018badc9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a49a910bc4ea6e98d1584e74a018badc9">SVF::SVFG::getMSSA</a></div><div class="ttdeci">MemSSA * getMSSA() const</div><div class="ttdoc">Get SVFG memory SSA.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00138">SVFG.h:138</a></div></div>
|
|
659
661
|
<div class="ttc" id="aclassSVF_1_1FormalParmVFGNode_html"><div class="ttname"><a href="classSVF_1_1FormalParmVFGNode.html">SVF::FormalParmVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00898">VFGNode.h:898</a></div></div>
|
|
660
662
|
<div class="ttc" id="aclassSVF_1_1FunExitICFGNode_html"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html">SVF::FunExitICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00324">ICFGNode.h:324</a></div></div>
|
|
661
663
|
<div class="ttc" id="aclassSVF_1_1LoadMU_html"><div class="ttname"><a href="classSVF_1_1LoadMU.html">SVF::LoadMU</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00165">MSSAMuChi.h:165</a></div></div>
|
|
662
664
|
<div class="ttc" id="aclassSVF_1_1VFG_html_ac2e2f555975063da3fa1932ac35802c6"><div class="ttname"><a href="classSVF_1_1VFG.html#ac2e2f555975063da3fa1932ac35802c6">SVF::VFG::VFGK</a></div><div class="ttdeci">VFGK</div><div class="ttdoc">VFG kind.</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00055">VFG.h:55</a></div></div>
|
|
663
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a402dfe93b8692be453c4f76d048b690a"><div class="ttname"><a href="classSVF_1_1SVFG.html#a402dfe93b8692be453c4f76d048b690a">SVF::SVFG::connectFOutAndAOut</a></div><div class="ttdeci">virtual void connectFOutAndAOut(const FormalOUTSVFGNode *formalOut, const ActualOUTSVFGNode *actualOut, CallSiteID csId, SVFGEdgeSetTy &edges)</div><div class="ttdoc">Connect formal-out and actual-out.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
665
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a402dfe93b8692be453c4f76d048b690a"><div class="ttname"><a href="classSVF_1_1SVFG.html#a402dfe93b8692be453c4f76d048b690a">SVF::SVFG::connectFOutAndAOut</a></div><div class="ttdeci">virtual void connectFOutAndAOut(const FormalOUTSVFGNode *formalOut, const ActualOUTSVFGNode *actualOut, CallSiteID csId, SVFGEdgeSetTy &edges)</div><div class="ttdoc">Connect formal-out and actual-out.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00300">SVFG.h:300</a></div></div>
|
|
664
666
|
<div class="ttc" id="aclassSVF_1_1VFG_html_a84cf5facb15e1d598c2527fba0c7634d"><div class="ttname"><a href="classSVF_1_1VFG.html#a84cf5facb15e1d598c2527fba0c7634d">SVF::VFG::addVFGEdge</a></div><div class="ttdeci">bool addVFGEdge(VFGEdge *edge)</div><div class="ttdoc">Add VFG edge.</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00339">VFG.h:339</a></div></div>
|
|
665
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_afbaf925e1e165f75161999229fa5f782"><div class="ttname"><a href="classSVF_1_1SVFG.html#afbaf925e1e165f75161999229fa5f782">SVF::SVFG::getInterVFEdgeAtIndCSFromAInToFIn</a></div><div class="ttdeci">virtual void getInterVFEdgeAtIndCSFromAInToFIn(ActualINSVFGNode *actualIn, const SVFFunction *callee, SVFGEdgeSetTy &edges)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
667
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_afbaf925e1e165f75161999229fa5f782"><div class="ttname"><a href="classSVF_1_1SVFG.html#afbaf925e1e165f75161999229fa5f782">SVF::SVFG::getInterVFEdgeAtIndCSFromAInToFIn</a></div><div class="ttdeci">virtual void getInterVFEdgeAtIndCSFromAInToFIn(ActualINSVFGNode *actualIn, const SVFFunction *callee, SVFGEdgeSetTy &edges)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00328">SVFG.h:328</a></div></div>
|
|
666
668
|
<div class="ttc" id="aclassSVF_1_1MemSSA_html_a8a5d3597f3dba9744e170cc8c32bf25f"><div class="ttname"><a href="classSVF_1_1MemSSA.html#a8a5d3597f3dba9744e170cc8c32bf25f">SVF::MemSSA::PHISet</a></div><div class="ttdeci">Set< PHI * > PHISet</div><div class="ttdef"><b>Definition:</b> <a href="MemSSA_8h_source.html#l00072">MemSSA.h:72</a></div></div>
|
|
667
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a1b9d1ad76785ae0eb07979aa75325640"><div class="ttname"><a href="classSVF_1_1SVFG.html#a1b9d1ad76785ae0eb07979aa75325640">SVF::SVFG::hasSVFGNode</a></div><div class="ttdeci">bool hasSVFGNode(NodeID id) const</div><div class="ttdoc">Whether has the SVFGNode.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
669
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a1b9d1ad76785ae0eb07979aa75325640"><div class="ttname"><a href="classSVF_1_1SVFG.html#a1b9d1ad76785ae0eb07979aa75325640">SVF::SVFG::hasSVFGNode</a></div><div class="ttdeci">bool hasSVFGNode(NodeID id) const</div><div class="ttdoc">Whether has the SVFGNode.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00156">SVFG.h:156</a></div></div>
|
|
668
670
|
<div class="ttc" id="anamespaceSVF_html_a03d88a0302bcd253387690f13f693f64"><div class="ttname"><a href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">SVF::CallSiteID</a></div><div class="ttdeci">unsigned CallSiteID</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00059">SVFType.h:59</a></div></div>
|
|
669
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a23ca21b90feca5e7d00c9ba9f489374a"><div class="ttname"><a href="classSVF_1_1SVFG.html#a23ca21b90feca5e7d00c9ba9f489374a">SVF::SVFG::hasFuncEntryChi</a></div><div class="ttdeci">bool hasFuncEntryChi(const SVFFunction *func) const</div><div class="ttdoc">Has function for EntryCHI/RetMU/CallCHI/CallMU.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
671
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a23ca21b90feca5e7d00c9ba9f489374a"><div class="ttname"><a href="classSVF_1_1SVFG.html#a23ca21b90feca5e7d00c9ba9f489374a">SVF::SVFG::hasFuncEntryChi</a></div><div class="ttdeci">bool hasFuncEntryChi(const SVFFunction *func) const</div><div class="ttdoc">Has function for EntryCHI/RetMU/CallCHI/CallMU.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00449">SVFG.h:449</a></div></div>
|
|
670
672
|
<div class="ttc" id="aclassSVF_1_1VFGNode_html_a3c558955f60c237c558d8faafed781e8"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVF::VFGNode::const_iterator</a></div><div class="ttdeci">VFGEdge::VFGEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00060">VFGNode.h:60</a></div></div>
|
|
671
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a2f6ed8a9f14657abc1e2a89247a84b99"><div class="ttname"><a href="classSVF_1_1SVFG.html#a2f6ed8a9f14657abc1e2a89247a84b99">SVF::SVFG::ActualOUTSVFGNodeSet</a></div><div class="ttdeci">NodeBS ActualOUTSVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
673
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a2f6ed8a9f14657abc1e2a89247a84b99"><div class="ttname"><a href="classSVF_1_1SVFG.html#a2f6ed8a9f14657abc1e2a89247a84b99">SVF::SVFG::ActualOUTSVFGNodeSet</a></div><div class="ttdeci">NodeBS ActualOUTSVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00080">SVFG.h:80</a></div></div>
|
|
672
674
|
<div class="ttc" id="aclassSVF_1_1NullPtrVFGNode_html"><div class="ttname"><a href="classSVF_1_1NullPtrVFGNode.html">SVF::NullPtrVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l01154">VFGNode.h:1154</a></div></div>
|
|
673
675
|
<div class="ttc" id="aclassSVF_1_1MSSACHI_html"><div class="ttname"><a href="classSVF_1_1MSSACHI.html">SVF::MSSACHI</a></div><div class="ttdef"><b>Definition:</b> <a href="MSSAMuChi_8h_source.html#l00396">MSSAMuChi.h:396</a></div></div>
|
|
674
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a0d6cfa496e6885fe31b6b7a651fa01a8"><div class="ttname"><a href="classSVF_1_1SVFG.html#a0d6cfa496e6885fe31b6b7a651fa01a8">SVF::SVFG::pta</a></div><div class="ttdeci">PointerAnalysis * pta</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
676
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a0d6cfa496e6885fe31b6b7a651fa01a8"><div class="ttname"><a href="classSVF_1_1SVFG.html#a0d6cfa496e6885fe31b6b7a651fa01a8">SVF::SVFG::pta</a></div><div class="ttdeci">PointerAnalysis * pta</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00107">SVFG.h:107</a></div></div>
|
|
675
677
|
<div class="ttc" id="anamespaceSVF_html_a3ce49be3724e1e8423ccdfa726fbf6c8"><div class="ttname"><a href="namespaceSVF.html#a3ce49be3724e1e8423ccdfa726fbf6c8">SVF::LoadSVFGNode</a></div><div class="ttdeci">LoadVFGNode LoadSVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00054">SVFG.h:54</a></div></div>
|
|
676
678
|
<div class="ttc" id="aclassSVF_1_1SVFGBuilder_html"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html">SVF::SVFGBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00042">SVFGBuilder.h:42</a></div></div>
|
|
677
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a842f6f2325c9e93ea96367e9cf624ee8"><div class="ttname"><a href="classSVF_1_1SVFG.html#a842f6f2325c9e93ea96367e9cf624ee8">SVF::SVFG::hasCallSiteMu</a></div><div class="ttdeci">bool hasCallSiteMu(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
679
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a842f6f2325c9e93ea96367e9cf624ee8"><div class="ttname"><a href="classSVF_1_1SVFG.html#a842f6f2325c9e93ea96367e9cf624ee8">SVF::SVFG::hasCallSiteMu</a></div><div class="ttdeci">bool hasCallSiteMu(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00461">SVFG.h:461</a></div></div>
|
|
678
680
|
<div class="ttc" id="aclassSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
|
|
679
681
|
<div class="ttc" id="aSVFGNode_8h_html"><div class="ttname"><a href="SVFGNode_8h.html">SVFGNode.h</a></div></div>
|
|
680
682
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_aefca97f043b3e220ef6012a049b83fdf"><div class="ttname"><a href="classSVF_1_1SVFG.html#aefca97f043b3e220ef6012a049b83fdf">SVF::SVFG::connectCallerAndCallee</a></div><div class="ttdeci">virtual void connectCallerAndCallee(const CallICFGNode *cs, const SVFFunction *callee, SVFGEdgeSetTy &edges)</div><div class="ttdoc">Connect SVFG nodes between caller and callee for indirect call site.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00656">SVFG.cpp:656</a></div></div>
|
|
681
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a7d58f9fe97071ec9936174689cb99301"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7d58f9fe97071ec9936174689cb99301">SVF::SVFG::funToFormalOUTMap</a></div><div class="ttdeci">FunctionToFormalOUTsMapTy funToFormalOUTMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
682
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a21577bc4b4e55b23aa55083f5321b399"><div class="ttname"><a href="classSVF_1_1SVFG.html#a21577bc4b4e55b23aa55083f5321b399">SVF::SVFG::hasActualINSVFGNodes</a></div><div class="ttdeci">bool hasActualINSVFGNodes(const CallICFGNode *cs) const</div><div class="ttdoc">Has a SVFGNode.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
683
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a7d58f9fe97071ec9936174689cb99301"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7d58f9fe97071ec9936174689cb99301">SVF::SVFG::funToFormalOUTMap</a></div><div class="ttdeci">FunctionToFormalOUTsMapTy funToFormalOUTMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00104">SVFG.h:104</a></div></div>
|
|
684
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a21577bc4b4e55b23aa55083f5321b399"><div class="ttname"><a href="classSVF_1_1SVFG.html#a21577bc4b4e55b23aa55083f5321b399">SVF::SVFG::hasActualINSVFGNodes</a></div><div class="ttdeci">bool hasActualINSVFGNodes(const CallICFGNode *cs) const</div><div class="ttdoc">Has a SVFGNode.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00187">SVFG.h:187</a></div></div>
|
|
683
685
|
<div class="ttc" id="aclassSVF_1_1IntraMSSAPHISVFGNode_html"><div class="ttname"><a href="classSVF_1_1IntraMSSAPHISVFGNode.html">SVF::IntraMSSAPHISVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00349">SVFGNode.h:349</a></div></div>
|
|
684
686
|
<div class="ttc" id="aclassSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00116">VFGNode.h:116</a></div></div>
|
|
685
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a7f4deffe7e13352b8c13eab110c834cc"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7f4deffe7e13352b8c13eab110c834cc">SVF::SVFG::MU</a></div><div class="ttdeci">MemSSA::MU MU</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
686
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a700c5fc6c1cb4136e55196fe3d393b8b"><div class="ttname"><a href="classSVF_1_1SVFG.html#a700c5fc6c1cb4136e55196fe3d393b8b">SVF::SVFG::removeSVFGNode</a></div><div class="ttdeci">void removeSVFGNode(SVFGNode *node)</div><div class="ttdoc">Remove a SVFGNode.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
687
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a3d04ce1429b1edf90c9c0833e3b5a4a9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a3d04ce1429b1edf90c9c0833e3b5a4a9">SVF::SVFG::SVFGNodeIDToNodeMapTy</a></div><div class="ttdeci">VFGNodeIDToNodeMapTy SVFGNodeIDToNodeMapTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
688
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a39873b954b6e0eb0641f56ca4cd06ef9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a39873b954b6e0eb0641f56ca4cd06ef9">SVF::SVFG::callSiteToActualOUTMap</a></div><div class="ttdeci">CallSiteToActualOUTsMapTy callSiteToActualOUTMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
687
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a7f4deffe7e13352b8c13eab110c834cc"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7f4deffe7e13352b8c13eab110c834cc">SVF::SVFG::MU</a></div><div class="ttdeci">MemSSA::MU MU</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00090">SVFG.h:90</a></div></div>
|
|
688
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a700c5fc6c1cb4136e55196fe3d393b8b"><div class="ttname"><a href="classSVF_1_1SVFG.html#a700c5fc6c1cb4136e55196fe3d393b8b">SVF::SVFG::removeSVFGNode</a></div><div class="ttdeci">void removeSVFGNode(SVFGNode *node)</div><div class="ttdoc">Remove a SVFGNode.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00243">SVFG.h:243</a></div></div>
|
|
689
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a3d04ce1429b1edf90c9c0833e3b5a4a9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a3d04ce1429b1edf90c9c0833e3b5a4a9">SVF::SVFG::SVFGNodeIDToNodeMapTy</a></div><div class="ttdeci">VFGNodeIDToNodeMapTy SVFGNodeIDToNodeMapTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00076">SVFG.h:76</a></div></div>
|
|
690
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a39873b954b6e0eb0641f56ca4cd06ef9"><div class="ttname"><a href="classSVF_1_1SVFG.html#a39873b954b6e0eb0641f56ca4cd06ef9">SVF::SVFG::callSiteToActualOUTMap</a></div><div class="ttdeci">CallSiteToActualOUTsMapTy callSiteToActualOUTMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00102">SVFG.h:102</a></div></div>
|
|
689
691
|
<div class="ttc" id="anamespaceSVF_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="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
690
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
691
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a6093609dcffa8e3b6bf78a97bda71872"><div class="ttname"><a href="classSVF_1_1SVFG.html#a6093609dcffa8e3b6bf78a97bda71872">SVF::SVFG::addIntraMSSAPHISVFGNode</a></div><div class="ttdeci">void addIntraMSSAPHISVFGNode(ICFGNode *BlockICFGNode, const Map< u32_t, const MRVer * >::const_iterator opVerBegin, const Map< u32_t, const MRVer * >::const_iterator opVerEnd, const MRVer *resVer, const NodeID nodeId)</div><div class="ttdoc">Add memory SSA PHI SVFG node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
692
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_ad9cc1581261182b56ae232d9a9b13296"><div class="ttname"><a href="classSVF_1_1SVFG.html#ad9cc1581261182b56ae232d9a9b13296">SVF::SVFG::hasCallSiteChi</a></div><div class="ttdeci">bool hasCallSiteChi(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
692
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a931d8b82e10a54d68c68cf6bd80264be"><div class="ttname"><a href="classSVF_1_1SVFG.html#a931d8b82e10a54d68c68cf6bd80264be">SVF::SVFG::removeSVFGEdge</a></div><div class="ttdeci">void removeSVFGEdge(SVFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00238">SVFG.h:238</a></div></div>
|
|
693
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a6093609dcffa8e3b6bf78a97bda71872"><div class="ttname"><a href="classSVF_1_1SVFG.html#a6093609dcffa8e3b6bf78a97bda71872">SVF::SVFG::addIntraMSSAPHISVFGNode</a></div><div class="ttdeci">void addIntraMSSAPHISVFGNode(ICFGNode *BlockICFGNode, const Map< u32_t, const MRVer * >::const_iterator opVerBegin, const Map< u32_t, const MRVer * >::const_iterator opVerEnd, const MRVer *resVer, const NodeID nodeId)</div><div class="ttdoc">Add memory SSA PHI SVFG node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00437">SVFG.h:437</a></div></div>
|
|
694
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_ad9cc1581261182b56ae232d9a9b13296"><div class="ttname"><a href="classSVF_1_1SVFG.html#ad9cc1581261182b56ae232d9a9b13296">SVF::SVFG::hasCallSiteChi</a></div><div class="ttdeci">bool hasCallSiteChi(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00457">SVFG.h:457</a></div></div>
|
|
693
695
|
<div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00102">SVFType.h:102</a></div></div>
|
|
694
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_ab6c337637ccc9bbf0bcc7153b427f7ca"><div class="ttname"><a href="classSVF_1_1SVFG.html#ab6c337637ccc9bbf0bcc7153b427f7ca">SVF::SVFG::getPTA</a></div><div class="ttdeci">PointerAnalysis * getPTA() const</div><div class="ttdoc">Get Pointer Analysis.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
696
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_ab6c337637ccc9bbf0bcc7153b427f7ca"><div class="ttname"><a href="classSVF_1_1SVFG.html#ab6c337637ccc9bbf0bcc7153b427f7ca">SVF::SVFG::getPTA</a></div><div class="ttdeci">PointerAnalysis * getPTA() const</div><div class="ttdoc">Get Pointer Analysis.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00144">SVFG.h:144</a></div></div>
|
|
695
697
|
<div class="ttc" id="aclassSVF_1_1StoreVFGNode_html"><div class="ttname"><a href="classSVF_1_1StoreVFGNode.html">SVF::StoreVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00240">VFGNode.h:240</a></div></div>
|
|
696
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_ac84d3749671f177b14749a825e36efe3"><div class="ttname"><a href="classSVF_1_1SVFG.html#ac84d3749671f177b14749a825e36efe3">SVF::SVFG::MSSAVarToDefMapTy</a></div><div class="ttdeci">Map< const MRVer *, NodeID > MSSAVarToDefMapTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
697
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_aa6a563cab8678b2256ca6ae7838285c8"><div class="ttname"><a href="classSVF_1_1SVFG.html#aa6a563cab8678b2256ca6ae7838285c8">SVF::SVFG::mssa</a></div><div class="ttdeci">std::unique_ptr< MemSSA > mssa</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
698
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_ac84d3749671f177b14749a825e36efe3"><div class="ttname"><a href="classSVF_1_1SVFG.html#ac84d3749671f177b14749a825e36efe3">SVF::SVFG::MSSAVarToDefMapTy</a></div><div class="ttdeci">Map< const MRVer *, NodeID > MSSAVarToDefMapTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00078">SVFG.h:78</a></div></div>
|
|
699
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_aa6a563cab8678b2256ca6ae7838285c8"><div class="ttname"><a href="classSVF_1_1SVFG.html#aa6a563cab8678b2256ca6ae7838285c8">SVF::SVFG::mssa</a></div><div class="ttdeci">std::unique_ptr< MemSSA > mssa</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00106">SVFG.h:106</a></div></div>
|
|
698
700
|
<div class="ttc" id="aclassSVF_1_1ActualParmVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualParmVFGNode.html">SVF::ActualParmVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00846">VFGNode.h:846</a></div></div>
|
|
699
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_ad14cdbb3f1df1f716aa03b4d39f4e52b"><div class="ttname"><a href="classSVF_1_1SVFG.html#ad14cdbb3f1df1f716aa03b4d39f4e52b">SVF::SVFG::STORECHI</a></div><div class="ttdeci">MemSSA::STORECHI STORECHI</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
700
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_ab2b969b7d5922427622dd875e6b8fe14"><div class="ttname"><a href="classSVF_1_1SVFG.html#ab2b969b7d5922427622dd875e6b8fe14">SVF::SVFG::getInterVFEdgeAtIndCSFromFRToAR</a></div><div class="ttdeci">virtual void getInterVFEdgeAtIndCSFromFRToAR(const PAGNode *fun_ret, const PAGNode *cs_ret, CallSiteID csId, SVFGEdgeSetTy &edges)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
701
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_acd9fd6597e5dedf3c14a430830c7dd08"><div class="ttname"><a href="classSVF_1_1SVFG.html#acd9fd6597e5dedf3c14a430830c7dd08">SVF::SVFG::CALLMU</a></div><div class="ttdeci">MemSSA::CALLMU CALLMU</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
701
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_ad14cdbb3f1df1f716aa03b4d39f4e52b"><div class="ttname"><a href="classSVF_1_1SVFG.html#ad14cdbb3f1df1f716aa03b4d39f4e52b">SVF::SVFG::STORECHI</a></div><div class="ttdeci">MemSSA::STORECHI STORECHI</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00093">SVFG.h:93</a></div></div>
|
|
702
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_ab2b969b7d5922427622dd875e6b8fe14"><div class="ttname"><a href="classSVF_1_1SVFG.html#ab2b969b7d5922427622dd875e6b8fe14">SVF::SVFG::getInterVFEdgeAtIndCSFromFRToAR</a></div><div class="ttdeci">virtual void getInterVFEdgeAtIndCSFromFRToAR(const PAGNode *fun_ret, const PAGNode *cs_ret, CallSiteID csId, SVFGEdgeSetTy &edges)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00319">SVFG.h:319</a></div></div>
|
|
703
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_acd9fd6597e5dedf3c14a430830c7dd08"><div class="ttname"><a href="classSVF_1_1SVFG.html#acd9fd6597e5dedf3c14a430830c7dd08">SVF::SVFG::CALLMU</a></div><div class="ttdeci">MemSSA::CALLMU CALLMU</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00097">SVFG.h:97</a></div></div>
|
|
702
704
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_ad189e45b0c810e68566ccc3bdb3f2e59"><div class="ttname"><a href="classSVF_1_1SVFG.html#ad189e45b0c810e68566ccc3bdb3f2e59">SVF::SVFG::isCallSiteRetSVFGNode</a></div><div class="ttdeci">const CallICFGNode * isCallSiteRetSVFGNode(const SVFGNode *node) const</div><div class="ttdoc">Whether a node is callsite return SVFGNode.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00730">SVFG.cpp:730</a></div></div>
|
|
703
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a60df52c14b303562ff5d73c7836e3495"><div class="ttname"><a href="classSVF_1_1SVFG.html#a60df52c14b303562ff5d73c7836e3495">SVF::SVFG::CHI</a></div><div class="ttdeci">MemSSA::CHI CHI</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
705
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a60df52c14b303562ff5d73c7836e3495"><div class="ttname"><a href="classSVF_1_1SVFG.html#a60df52c14b303562ff5d73c7836e3495">SVF::SVFG::CHI</a></div><div class="ttdeci">MemSSA::CHI CHI</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00091">SVFG.h:91</a></div></div>
|
|
704
706
|
<div class="ttc" id="anamespaceSVF_html_a0f7ff1d9a479df87241b45bb9c81d3ca"><div class="ttname"><a href="namespaceSVF.html#a0f7ff1d9a479df87241b45bb9c81d3ca">SVF::InterPHISVFGNode</a></div><div class="ttdeci">InterPHIVFGNode InterPHISVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00058">SVFG.h:58</a></div></div>
|
|
705
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_acdbe1c510273107b708935061b6c4127"><div class="ttname"><a href="classSVF_1_1SVFG.html#acdbe1c510273107b708935061b6c4127">SVF::SVFG::MUSet</a></div><div class="ttdeci">MemSSA::MUSet MUSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
707
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_acdbe1c510273107b708935061b6c4127"><div class="ttname"><a href="classSVF_1_1SVFG.html#acdbe1c510273107b708935061b6c4127">SVF::SVFG::MUSet</a></div><div class="ttdeci">MemSSA::MUSet MUSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00087">SVFG.h:87</a></div></div>
|
|
706
708
|
<div class="ttc" id="aclassSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00101">GenericGraph.h:101</a></div></div>
|
|
707
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_a047573d70182da351b9e3bbf66ca0056"><div class="ttname"><a href="classSVF_1_1SVFG.html#a047573d70182da351b9e3bbf66ca0056">SVF::SVFG::RETMU</a></div><div class="ttdeci">MemSSA::RETMU RETMU</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
708
|
-
<div class="ttc" id="aclassSVF_1_1SVFG_html_acb7262c3b9161c77eb1b491048152fb0"><div class="ttname"><a href="classSVF_1_1SVFG.html#acb7262c3b9161c77eb1b491048152fb0">SVF::SVFG::FormalOUTSVFGNodeSet</a></div><div class="ttdeci">NodeBS FormalOUTSVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#
|
|
709
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_a047573d70182da351b9e3bbf66ca0056"><div class="ttname"><a href="classSVF_1_1SVFG.html#a047573d70182da351b9e3bbf66ca0056">SVF::SVFG::RETMU</a></div><div class="ttdeci">MemSSA::RETMU RETMU</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00094">SVFG.h:94</a></div></div>
|
|
710
|
+
<div class="ttc" id="aclassSVF_1_1SVFG_html_acb7262c3b9161c77eb1b491048152fb0"><div class="ttname"><a href="classSVF_1_1SVFG.html#acb7262c3b9161c77eb1b491048152fb0">SVF::SVFG::FormalOUTSVFGNodeSet</a></div><div class="ttdeci">NodeBS FormalOUTSVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00082">SVFG.h:82</a></div></div>
|
|
709
711
|
<div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
|
|
710
712
|
<div class="ttc" id="aclassSVF_1_1FunExitICFGNode_html_a54dfbbebbfe18a8a493656d6ad8663be"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html#a54dfbbebbfe18a8a493656d6ad8663be">SVF::FunExitICFGNode::getFun</a></div><div class="ttdeci">const SVFFunction * getFun() const</div><div class="ttdoc">Return function.</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00339">ICFGNode.h:339</a></div></div>
|
|
711
713
|
<div class="ttc" id="aclassSVF_1_1ActualINSVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualINSVFGNode.html">SVF::ActualINSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00180">SVFGNode.h:180</a></div></div>
|