svf-tools 1.0.853 → 1.0.855
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/AE_2CMakeLists_8txt.html +106 -0
- package/SVF-doxygen/html/AndersenStat_8cpp_source.html +19 -12
- package/SVF-doxygen/html/Andersen_8cpp_source.html +3 -3
- package/SVF-doxygen/html/Andersen_8h_source.html +4 -4
- package/SVF-doxygen/html/CFLStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CMakeLists_8txt.html +5 -5
- package/SVF-doxygen/html/CSC_8cpp_source.html +2 -2
- package/SVF-doxygen/html/ConsGNode_8h_source.html +4 -4
- package/SVF-doxygen/html/ConsG_8cpp_source.html +663 -644
- package/SVF-doxygen/html/ConsG_8h_source.html +335 -332
- package/SVF-doxygen/html/DDAClient_8cpp_source.html +4 -4
- package/SVF-doxygen/html/DDAStat_8cpp_source.html +249 -252
- package/SVF-doxygen/html/DDAStat_8h_source.html +70 -93
- package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PTAStat_8cpp_source.html +107 -83
- package/SVF-doxygen/html/PTAStat_8h_source.html +38 -13
- package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Steensgaard_8h_source.html +1 -1
- package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/WPAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/ae_8cpp.html +179 -0
- package/SVF-doxygen/html/ae_8cpp_source.html +738 -0
- package/SVF-doxygen/html/annotated.html +1 -0
- package/SVF-doxygen/html/classSVF_1_1AddrCGEdge.html +11 -11
- package/SVF-doxygen/html/classSVF_1_1Andersen.html +20 -20
- package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +10 -10
- package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AndersenSFR.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1AndersenStat-members.html +8 -2
- package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +34 -12
- package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CFLStat-members.html +8 -2
- package/SVF-doxygen/html/classSVF_1_1CFLStat.html +16 -1
- package/SVF-doxygen/html/classSVF_1_1CSC.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1ConstraintGraph-members.html +81 -80
- package/SVF-doxygen/html/classSVF_1_1ConstraintGraph.html +672 -623
- package/SVF-doxygen/html/classSVF_1_1ConstraintNode.html +28 -28
- package/SVF-doxygen/html/classSVF_1_1DDAClient.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1DDAStat-members.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1DDAStat.html +283 -463
- package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat-members.html +9 -3
- package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +17 -2
- package/SVF-doxygen/html/classSVF_1_1ICFGStat-members.html +9 -3
- package/SVF-doxygen/html/classSVF_1_1ICFGStat.html +15 -0
- package/SVF-doxygen/html/classSVF_1_1MTAStat-members.html +7 -1
- package/SVF-doxygen/html/classSVF_1_1MTAStat.html +15 -0
- package/SVF-doxygen/html/classSVF_1_1MemSSAStat-members.html +9 -3
- package/SVF-doxygen/html/classSVF_1_1MemSSAStat.html +15 -0
- package/SVF-doxygen/html/classSVF_1_1PTAStat-members.html +7 -1
- package/SVF-doxygen/html/classSVF_1_1PTAStat.html +300 -84
- package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFGStat-members.html +7 -1
- package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +15 -0
- package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1TypeAnalysis.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat-members.html +9 -3
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +17 -2
- package/SVF-doxygen/html/classSymblicAbstractionTest-members.html +99 -0
- package/SVF-doxygen/html/classSymblicAbstractionTest.html +1282 -0
- package/SVF-doxygen/html/classes.html +56 -55
- package/SVF-doxygen/html/dir_454f632bef84d62ecd1cf13bd508acc9.html +86 -0
- package/SVF-doxygen/html/dir_e5d21102e3a998263c6c7812ac857e9d.html +2 -0
- package/SVF-doxygen/html/files.html +22 -20
- package/SVF-doxygen/html/functions.html +4 -4
- package/SVF-doxygen/html/functions_b.html +16 -10
- package/SVF-doxygen/html/functions_c.html +27 -24
- package/SVF-doxygen/html/functions_f.html +3 -3
- package/SVF-doxygen/html/functions_func_b.html +9 -3
- package/SVF-doxygen/html/functions_func_c.html +22 -19
- package/SVF-doxygen/html/functions_func_g.html +17 -16
- package/SVF-doxygen/html/functions_func_n.html +1 -1
- package/SVF-doxygen/html/functions_func_r.html +5 -2
- package/SVF-doxygen/html/functions_func_s.html +18 -15
- package/SVF-doxygen/html/functions_func_t.html +41 -1
- package/SVF-doxygen/html/functions_func_~.html +3 -0
- package/SVF-doxygen/html/functions_g.html +16 -15
- package/SVF-doxygen/html/functions_i.html +3 -3
- package/SVF-doxygen/html/functions_l.html +3 -3
- package/SVF-doxygen/html/functions_n.html +6 -6
- package/SVF-doxygen/html/functions_o.html +3 -3
- package/SVF-doxygen/html/functions_p.html +12 -12
- package/SVF-doxygen/html/functions_r.html +9 -6
- package/SVF-doxygen/html/functions_s.html +22 -19
- package/SVF-doxygen/html/functions_t.html +47 -7
- package/SVF-doxygen/html/functions_v.html +3 -3
- package/SVF-doxygen/html/functions_vars.html +4 -4
- package/SVF-doxygen/html/functions_w.html +9 -7
- package/SVF-doxygen/html/functions_~.html +3 -0
- package/SVF-doxygen/html/globals_a.html +2 -2
- package/SVF-doxygen/html/globals_func_a.html +2 -2
- package/SVF-doxygen/html/globals_func_m.html +5 -4
- package/SVF-doxygen/html/globals_m.html +5 -4
- package/SVF-doxygen/html/globals_s.html +3 -0
- package/SVF-doxygen/html/globals_vars.html +3 -0
- package/SVF-doxygen/html/hierarchy.html +40 -39
- package/SVF-doxygen/html/search/all_0.js +4 -4
- package/SVF-doxygen/html/search/all_1.js +133 -132
- package/SVF-doxygen/html/search/all_10.js +325 -325
- package/SVF-doxygen/html/search/all_11.js +225 -224
- package/SVF-doxygen/html/search/all_12.js +554 -552
- package/SVF-doxygen/html/search/all_13.js +203 -190
- package/SVF-doxygen/html/search/all_14.js +67 -67
- package/SVF-doxygen/html/search/all_15.js +168 -168
- 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 +175 -174
- package/SVF-doxygen/html/search/all_2.js +173 -171
- package/SVF-doxygen/html/search/all_3.js +649 -648
- 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 +1048 -1048
- package/SVF-doxygen/html/search/all_8.js +196 -196
- package/SVF-doxygen/html/search/all_9.js +605 -605
- 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 +74 -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 -81
- 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 +57 -57
- 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 +8 -8
- 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 +14 -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 -57
- 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 +364 -364
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +140 -139
- package/SVF-doxygen/html/search/functions_12.js +289 -288
- package/SVF-doxygen/html/search/functions_13.js +72 -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 +175 -174
- package/SVF-doxygen/html/search/functions_2.js +91 -89
- package/SVF-doxygen/html/search/functions_3.js +262 -261
- 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 +857 -857
- package/SVF-doxygen/html/search/functions_8.js +148 -148
- package/SVF-doxygen/html/search/functions_9.js +421 -421
- 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 -3
- 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 -62
- 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 +76 -76
- package/SVF-doxygen/html/search/variables_10.js +98 -98
- package/SVF-doxygen/html/search/variables_11.js +45 -45
- package/SVF-doxygen/html/search/variables_12.js +91 -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 +49 -49
- 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_01ConstraintGraph_01_5_01_4.html +118 -118
- package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.html +1 -1
- package/build.sh +1 -1
- package/package.json +1 -1
- package/svf/include/DDA/DDAStat.h +0 -17
- package/svf/include/Graphs/ConsG.h +2 -0
- package/svf/include/Util/PTAStat.h +19 -1
- package/svf/lib/DDA/DDAStat.cpp +0 -3
- package/svf/lib/Graphs/ConsG.cpp +20 -0
- package/svf/lib/Util/PTAStat.cpp +17 -1
- package/svf/lib/WPA/Andersen.cpp +2 -2
- package/svf/lib/WPA/AndersenStat.cpp +3 -0
- package/svf-llvm/tools/AE/CMakeLists.txt +2 -0
- package/svf-llvm/tools/AE/ae.cpp +607 -0
- package/svf-llvm/tools/CMakeLists.txt +3 -2
|
@@ -296,6 +296,8 @@ Protected Member Functions</h2></td></tr>
|
|
|
296
296
|
<tr class="separator:a1973126243ff619033a78a3782944278"><td class="memSeparator" colspan="2"> </td></tr>
|
|
297
297
|
<tr class="memitem:a77ba38543b1ee164f1ae95589d5dbc44"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ConstraintGraph.html#a77ba38543b1ee164f1ae95589d5dbc44">destroy</a> ()</td></tr>
|
|
298
298
|
<tr class="separator:a77ba38543b1ee164f1ae95589d5dbc44"><td class="memSeparator" colspan="2"> </td></tr>
|
|
299
|
+
<tr class="memitem:a65c96cdd904e4240fbc7a044f89b91a1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ConstraintGraph.html#a65c96cdd904e4240fbc7a044f89b91a1">clearSolitaries</a> ()</td></tr>
|
|
300
|
+
<tr class="separator:a65c96cdd904e4240fbc7a044f89b91a1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
299
301
|
<tr class="memitem:a4dd7feb1ed62883dd35ced962ba6b59e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ConstraintGraph.html#a4dd7feb1ed62883dd35ced962ba6b59e">getPAGEdgeSet</a> (<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9">SVFStmt::PEDGEK</a> kind)</td></tr>
|
|
300
302
|
<tr class="separator:a4dd7feb1ed62883dd35ced962ba6b59e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
301
303
|
<tr class="memitem:a095fc7d429d792a5c4c3c67dc40240d5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ConstraintGraph.html#a095fc7d429d792a5c4c3c67dc40240d5">getValueNode</a> (const <a class="el" href="classSVF_1_1SVFValue.html">SVFValue</a> *value) const</td></tr>
|
|
@@ -453,11 +455,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
453
455
|
|
|
454
456
|
<p>Constructor. </p>
|
|
455
457
|
|
|
456
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
457
|
-
<div class="fragment"><div class="line"><a name="
|
|
458
|
-
<div class="line"><a name="
|
|
459
|
-
<div class="line"><a name="
|
|
460
|
-
<div class="line"><a name="
|
|
458
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00097">97</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
459
|
+
<div class="fragment"><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  : <a class="code" href="classSVF_1_1ConstraintGraph.html#aa8b09f64c6e4bbd081c6062a1a0e8948">pag</a>(<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>), <a class="code" href="classSVF_1_1ConstraintGraph.html#ac246dc91562d4b1e168b7c39b2c2720f">edgeIndex</a>(0)</div>
|
|
460
|
+
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  {</div>
|
|
461
|
+
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a1973126243ff619033a78a3782944278">buildCG</a>();</div>
|
|
462
|
+
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  }</div>
|
|
461
463
|
</div><!-- fragment -->
|
|
462
464
|
</div>
|
|
463
465
|
</div>
|
|
@@ -486,10 +488,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
486
488
|
|
|
487
489
|
<p>Destructor. </p>
|
|
488
490
|
|
|
489
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
490
|
-
<div class="fragment"><div class="line"><a name="
|
|
491
|
-
<div class="line"><a name="
|
|
492
|
-
<div class="line"><a name="
|
|
491
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00102">102</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
492
|
+
<div class="fragment"><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  {</div>
|
|
493
|
+
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a77ba38543b1ee164f1ae95589d5dbc44">destroy</a>();</div>
|
|
494
|
+
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  }</div>
|
|
493
495
|
</div><!-- fragment -->
|
|
494
496
|
</div>
|
|
495
497
|
</div>
|
|
@@ -524,22 +526,22 @@ Additional Inherited Members</h2></td></tr>
|
|
|
524
526
|
<p>Add Address edge</p>
|
|
525
527
|
<p>Add an address edge </p>
|
|
526
528
|
|
|
527
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
528
|
-
<div class="fragment"><div class="line"><a name="
|
|
529
|
-
<div class="line"><a name="
|
|
530
|
-
<div class="line"><a name="
|
|
531
|
-
<div class="line"><a name="
|
|
532
|
-
<div class="line"><a name="
|
|
533
|
-
<div class="line"><a name="
|
|
534
|
-
<div class="line"><a name="
|
|
535
|
-
<div class="line"><a name="
|
|
536
|
-
<div class="line"><a name="
|
|
537
|
-
<div class="line"><a name="
|
|
538
|
-
<div class="line"><a name="
|
|
539
|
-
<div class="line"><a name="
|
|
540
|
-
<div class="line"><a name="
|
|
541
|
-
<div class="line"><a name="
|
|
542
|
-
<div class="line"><a name="
|
|
529
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00190">190</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
530
|
+
<div class="fragment"><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> {</div>
|
|
531
|
+
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* srcNode = <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(src);</div>
|
|
532
|
+
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dstNode = <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(dst);</div>
|
|
533
|
+
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375aed68bc43e8aae49e8590e140eb0ffaf3">ConstraintEdge::Addr</a>))</div>
|
|
534
|
+
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
535
|
+
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <a class="code" href="classSVF_1_1AddrCGEdge.html">AddrCGEdge</a>* edge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AddrCGEdge.html">AddrCGEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ConstraintGraph.html#ac246dc91562d4b1e168b7c39b2c2720f">edgeIndex</a>++);</div>
|
|
536
|
+
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  </div>
|
|
537
|
+
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordtype">bool</span> inserted = <a class="code" href="classSVF_1_1ConstraintGraph.html#a5bbd6df25027d26911f5d8d6a10881dc">AddrCGEdgeSet</a>.insert(edge).second;</div>
|
|
538
|
+
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  (void)inserted; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
539
|
+
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  assert(inserted && <span class="stringliteral">"new AddrCGEdge not added??"</span>);</div>
|
|
540
|
+
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  </div>
|
|
541
|
+
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  srcNode-><a class="code" href="classSVF_1_1ConstraintNode.html#af129941c522dbc1b0fe94f84eea0d97a">addOutgoingAddrEdge</a>(edge);</div>
|
|
542
|
+
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  dstNode-><a class="code" href="classSVF_1_1ConstraintNode.html#aeff08dd512d0a97fb14069b37386e9fe">addIncomingAddrEdge</a>(edge);</div>
|
|
543
|
+
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keywordflow">return</span> edge;</div>
|
|
544
|
+
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> }</div>
|
|
543
545
|
</div><!-- fragment -->
|
|
544
546
|
</div>
|
|
545
547
|
</div>
|
|
@@ -577,10 +579,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
577
579
|
</table>
|
|
578
580
|
</div><div class="memdoc">
|
|
579
581
|
|
|
580
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
581
|
-
<div class="fragment"><div class="line"><a name="
|
|
582
|
-
<div class="line"><a name="
|
|
583
|
-
<div class="line"><a name="
|
|
582
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00114">114</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
583
|
+
<div class="fragment"><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  {</div>
|
|
584
|
+
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <a class="code" href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">addGNode</a>(<span class="keywordtype">id</span>,node);</div>
|
|
585
|
+
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  }</div>
|
|
584
586
|
</div><!-- fragment -->
|
|
585
587
|
</div>
|
|
586
588
|
</div>
|
|
@@ -613,24 +615,24 @@ Additional Inherited Members</h2></td></tr>
|
|
|
613
615
|
<p>Add Copy edge. </p>
|
|
614
616
|
<p>Add Copy edge </p>
|
|
615
617
|
|
|
616
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
617
|
-
<div class="fragment"><div class="line"><a name="
|
|
618
|
-
<div class="line"><a name="
|
|
619
|
-
<div class="line"><a name="
|
|
620
|
-
<div class="line"><a name="
|
|
621
|
-
<div class="line"><a name="
|
|
622
|
-
<div class="line"><a name="
|
|
623
|
-
<div class="line"><a name="
|
|
624
|
-
<div class="line"><a name="
|
|
625
|
-
<div class="line"><a name="
|
|
626
|
-
<div class="line"><a name="
|
|
627
|
-
<div class="line"><a name="
|
|
628
|
-
<div class="line"><a name="
|
|
629
|
-
<div class="line"><a name="
|
|
630
|
-
<div class="line"><a name="
|
|
631
|
-
<div class="line"><a name="
|
|
632
|
-
<div class="line"><a name="
|
|
633
|
-
<div class="line"><a name="
|
|
618
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00210">210</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
619
|
+
<div class="fragment"><div class="line"><a name="l00211"></a><span class="lineno"> 211</span> {</div>
|
|
620
|
+
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  </div>
|
|
621
|
+
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* srcNode = <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(src);</div>
|
|
622
|
+
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dstNode = <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(dst);</div>
|
|
623
|
+
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a29b0aa3353f866ef1655ab6d4716feb9">ConstraintEdge::Copy</a>) || srcNode == dstNode)</div>
|
|
624
|
+
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
625
|
+
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  </div>
|
|
626
|
+
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <a class="code" href="classSVF_1_1CopyCGEdge.html">CopyCGEdge</a>* edge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CopyCGEdge.html">CopyCGEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ConstraintGraph.html#ac246dc91562d4b1e168b7c39b2c2720f">edgeIndex</a>++);</div>
|
|
627
|
+
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  </div>
|
|
628
|
+
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordtype">bool</span> inserted = <a class="code" href="classSVF_1_1ConstraintGraph.html#a1be3ebb84b3d334daf98f7e6f5b82256">directEdgeSet</a>.insert(edge).second;</div>
|
|
629
|
+
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  (void)inserted; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
630
|
+
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  assert(inserted && <span class="stringliteral">"new CopyCGEdge not added??"</span>);</div>
|
|
631
|
+
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  </div>
|
|
632
|
+
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  srcNode-><a class="code" href="classSVF_1_1ConstraintNode.html#a2395948518a1befb7a3762bbad6adf9f">addOutgoingCopyEdge</a>(edge);</div>
|
|
633
|
+
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  dstNode-><a class="code" href="classSVF_1_1ConstraintNode.html#ad54cc825bb7f5642671e75b90b2633a2">addIncomingCopyEdge</a>(edge);</div>
|
|
634
|
+
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">return</span> edge;</div>
|
|
635
|
+
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> }</div>
|
|
634
636
|
</div><!-- fragment -->
|
|
635
637
|
</div>
|
|
636
638
|
</div>
|
|
@@ -663,23 +665,23 @@ Additional Inherited Members</h2></td></tr>
|
|
|
663
665
|
<p>Add Load edge. </p>
|
|
664
666
|
<p>Add Load edge </p>
|
|
665
667
|
|
|
666
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
667
|
-
<div class="fragment"><div class="line"><a name="
|
|
668
|
-
<div class="line"><a name="
|
|
669
|
-
<div class="line"><a name="
|
|
670
|
-
<div class="line"><a name="
|
|
671
|
-
<div class="line"><a name="
|
|
672
|
-
<div class="line"><a name="
|
|
673
|
-
<div class="line"><a name="
|
|
674
|
-
<div class="line"><a name="
|
|
675
|
-
<div class="line"><a name="
|
|
676
|
-
<div class="line"><a name="
|
|
677
|
-
<div class="line"><a name="
|
|
678
|
-
<div class="line"><a name="
|
|
679
|
-
<div class="line"><a name="
|
|
680
|
-
<div class="line"><a name="
|
|
681
|
-
<div class="line"><a name="
|
|
682
|
-
<div class="line"><a name="
|
|
668
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00276">276</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
669
|
+
<div class="fragment"><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> {</div>
|
|
670
|
+
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* srcNode = <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(src);</div>
|
|
671
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dstNode = <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(dst);</div>
|
|
672
|
+
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a1bdeb9a06641d16b43391120812b40b2">ConstraintEdge::Load</a>))</div>
|
|
673
|
+
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
674
|
+
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  </div>
|
|
675
|
+
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <a class="code" href="classSVF_1_1LoadCGEdge.html">LoadCGEdge</a>* edge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1LoadCGEdge.html">LoadCGEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ConstraintGraph.html#ac246dc91562d4b1e168b7c39b2c2720f">edgeIndex</a>++);</div>
|
|
676
|
+
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  </div>
|
|
677
|
+
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordtype">bool</span> inserted = <a class="code" href="classSVF_1_1ConstraintGraph.html#a1cb9124b29720e7a5b39d83419f9cc17">LoadCGEdgeSet</a>.insert(edge).second;</div>
|
|
678
|
+
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  (void)inserted; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
679
|
+
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  assert(inserted && <span class="stringliteral">"new LoadCGEdge not added??"</span>);</div>
|
|
680
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  </div>
|
|
681
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  srcNode-><a class="code" href="classSVF_1_1ConstraintNode.html#aa95df9972daaf3a2f92480a5fdc5b3a1">addOutgoingLoadEdge</a>(edge);</div>
|
|
682
|
+
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  dstNode-><a class="code" href="classSVF_1_1ConstraintNode.html#a9d1bb95ad5549d7e6030fe07f8e070a2">addIncomingLoadEdge</a>(edge);</div>
|
|
683
|
+
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">return</span> edge;</div>
|
|
684
|
+
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> }</div>
|
|
683
685
|
</div><!-- fragment -->
|
|
684
686
|
</div>
|
|
685
687
|
</div>
|
|
@@ -707,10 +709,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
707
709
|
</table>
|
|
708
710
|
</div><div class="memdoc">
|
|
709
711
|
|
|
710
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
711
|
-
<div class="fragment"><div class="line"><a name="
|
|
712
|
-
<div class="line"><a name="
|
|
713
|
-
<div class="line"><a name="
|
|
712
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00366">366</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
713
|
+
<div class="fragment"><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  {</div>
|
|
714
|
+
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#af3406f1e191d9d6d9c33d23bdd2d564b">nodesToBeCollapsed</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(<span class="keywordtype">id</span>);</div>
|
|
715
|
+
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  }</div>
|
|
714
716
|
</div><!-- fragment -->
|
|
715
717
|
</div>
|
|
716
718
|
</div>
|
|
@@ -749,24 +751,24 @@ Additional Inherited Members</h2></td></tr>
|
|
|
749
751
|
<p>Add Gep edge. </p>
|
|
750
752
|
<p>Add Gep edge </p>
|
|
751
753
|
|
|
752
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
753
|
-
<div class="fragment"><div class="line"><a name="
|
|
754
|
-
<div class="line"><a name="
|
|
755
|
-
<div class="line"><a name="
|
|
756
|
-
<div class="line"><a name="
|
|
757
|
-
<div class="line"><a name="
|
|
758
|
-
<div class="line"><a name="
|
|
759
|
-
<div class="line"><a name="
|
|
760
|
-
<div class="line"><a name="
|
|
761
|
-
<div class="line"><a name="
|
|
762
|
-
<div class="line"><a name="
|
|
763
|
-
<div class="line"><a name="
|
|
764
|
-
<div class="line"><a name="
|
|
765
|
-
<div class="line"><a name="
|
|
766
|
-
<div class="line"><a name="
|
|
767
|
-
<div class="line"><a name="
|
|
768
|
-
<div class="line"><a name="
|
|
769
|
-
<div class="line"><a name="
|
|
754
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00233">233</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
755
|
+
<div class="fragment"><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> {</div>
|
|
756
|
+
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* srcNode = <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(src);</div>
|
|
757
|
+
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dstNode = <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(dst);</div>
|
|
758
|
+
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375acfd0a194af0da66162545f0089eb4baa">ConstraintEdge::NormalGep</a>))</div>
|
|
759
|
+
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
760
|
+
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  </div>
|
|
761
|
+
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>* edge =</div>
|
|
762
|
+
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keyword">new</span> <a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>(srcNode, dstNode, ap, <a class="code" href="classSVF_1_1ConstraintGraph.html#ac246dc91562d4b1e168b7c39b2c2720f">edgeIndex</a>++);</div>
|
|
763
|
+
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  </div>
|
|
764
|
+
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordtype">bool</span> inserted = <a class="code" href="classSVF_1_1ConstraintGraph.html#a1be3ebb84b3d334daf98f7e6f5b82256">directEdgeSet</a>.insert(edge).second;</div>
|
|
765
|
+
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  (void)inserted; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
766
|
+
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  assert(inserted && <span class="stringliteral">"new NormalGepCGEdge not added??"</span>);</div>
|
|
767
|
+
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  </div>
|
|
768
|
+
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  srcNode-><a class="code" href="classSVF_1_1ConstraintNode.html#abc56843c51c00a9018473f415f73e9f6">addOutgoingGepEdge</a>(edge);</div>
|
|
769
|
+
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  dstNode-><a class="code" href="classSVF_1_1ConstraintNode.html#aaf0b98573a980aea1151a837580a40a5">addIncomingGepEdge</a>(edge);</div>
|
|
770
|
+
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">return</span> edge;</div>
|
|
771
|
+
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> }</div>
|
|
770
772
|
</div><!-- fragment -->
|
|
771
773
|
</div>
|
|
772
774
|
</div>
|
|
@@ -799,23 +801,23 @@ Additional Inherited Members</h2></td></tr>
|
|
|
799
801
|
<p>Add Store edge. </p>
|
|
800
802
|
<p>Add Store edge </p>
|
|
801
803
|
|
|
802
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
803
|
-
<div class="fragment"><div class="line"><a name="
|
|
804
|
-
<div class="line"><a name="
|
|
805
|
-
<div class="line"><a name="
|
|
806
|
-
<div class="line"><a name="
|
|
807
|
-
<div class="line"><a name="
|
|
808
|
-
<div class="line"><a name="
|
|
809
|
-
<div class="line"><a name="
|
|
810
|
-
<div class="line"><a name="
|
|
811
|
-
<div class="line"><a name="
|
|
812
|
-
<div class="line"><a name="
|
|
813
|
-
<div class="line"><a name="
|
|
814
|
-
<div class="line"><a name="
|
|
815
|
-
<div class="line"><a name="
|
|
816
|
-
<div class="line"><a name="
|
|
817
|
-
<div class="line"><a name="
|
|
818
|
-
<div class="line"><a name="
|
|
804
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00297">297</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
805
|
+
<div class="fragment"><div class="line"><a name="l00298"></a><span class="lineno"> 298</span> {</div>
|
|
806
|
+
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* srcNode = <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(src);</div>
|
|
807
|
+
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dstNode = <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(dst);</div>
|
|
808
|
+
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a20d6a102ddc06257a822ffffcc5a3b47">ConstraintEdge::Store</a>))</div>
|
|
809
|
+
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
810
|
+
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  </div>
|
|
811
|
+
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <a class="code" href="classSVF_1_1StoreCGEdge.html">StoreCGEdge</a>* edge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1StoreCGEdge.html">StoreCGEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ConstraintGraph.html#ac246dc91562d4b1e168b7c39b2c2720f">edgeIndex</a>++);</div>
|
|
812
|
+
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  </div>
|
|
813
|
+
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordtype">bool</span> inserted = <a class="code" href="classSVF_1_1ConstraintGraph.html#a0f9d5eef25827ac1d380e5d8bd225025">StoreCGEdgeSet</a>.insert(edge).second;</div>
|
|
814
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  (void)inserted; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
815
|
+
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  assert(inserted && <span class="stringliteral">"new StoreCGEdge not added??"</span>);</div>
|
|
816
|
+
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  </div>
|
|
817
|
+
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  srcNode-><a class="code" href="classSVF_1_1ConstraintNode.html#a18a52c763aa946f06798dc5592f5c1e0">addOutgoingStoreEdge</a>(edge);</div>
|
|
818
|
+
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  dstNode-><a class="code" href="classSVF_1_1ConstraintNode.html#a202193059dd3122d969561080b82c504">addIncomingStoreEdge</a>(edge);</div>
|
|
819
|
+
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">return</span> edge;</div>
|
|
820
|
+
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> }</div>
|
|
819
821
|
</div><!-- fragment -->
|
|
820
822
|
</div>
|
|
821
823
|
</div>
|
|
@@ -846,23 +848,23 @@ Additional Inherited Members</h2></td></tr>
|
|
|
846
848
|
</div><div class="memdoc">
|
|
847
849
|
<p>Add variant gep edge </p>
|
|
848
850
|
|
|
849
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
850
|
-
<div class="fragment"><div class="line"><a name="
|
|
851
|
-
<div class="line"><a name="
|
|
852
|
-
<div class="line"><a name="
|
|
853
|
-
<div class="line"><a name="
|
|
854
|
-
<div class="line"><a name="
|
|
855
|
-
<div class="line"><a name="
|
|
856
|
-
<div class="line"><a name="
|
|
857
|
-
<div class="line"><a name="
|
|
858
|
-
<div class="line"><a name="
|
|
859
|
-
<div class="line"><a name="
|
|
860
|
-
<div class="line"><a name="
|
|
861
|
-
<div class="line"><a name="
|
|
862
|
-
<div class="line"><a name="
|
|
863
|
-
<div class="line"><a name="
|
|
864
|
-
<div class="line"><a name="
|
|
865
|
-
<div class="line"><a name="
|
|
851
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00255">255</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
852
|
+
<div class="fragment"><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> {</div>
|
|
853
|
+
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* srcNode = <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(src);</div>
|
|
854
|
+
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dstNode = <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(dst);</div>
|
|
855
|
+
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375ae5df3ce07dd670b48916f7b8ab33ae5a">ConstraintEdge::VariantGep</a>))</div>
|
|
856
|
+
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
857
|
+
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  </div>
|
|
858
|
+
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <a class="code" href="classSVF_1_1VariantGepCGEdge.html">VariantGepCGEdge</a>* edge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1VariantGepCGEdge.html">VariantGepCGEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ConstraintGraph.html#ac246dc91562d4b1e168b7c39b2c2720f">edgeIndex</a>++);</div>
|
|
859
|
+
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  </div>
|
|
860
|
+
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordtype">bool</span> inserted = <a class="code" href="classSVF_1_1ConstraintGraph.html#a1be3ebb84b3d334daf98f7e6f5b82256">directEdgeSet</a>.insert(edge).second;</div>
|
|
861
|
+
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  (void)inserted; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
862
|
+
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  assert(inserted && <span class="stringliteral">"new VariantGepCGEdge not added??"</span>);</div>
|
|
863
|
+
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  </div>
|
|
864
|
+
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  srcNode-><a class="code" href="classSVF_1_1ConstraintNode.html#abc56843c51c00a9018473f415f73e9f6">addOutgoingGepEdge</a>(edge);</div>
|
|
865
|
+
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  dstNode-><a class="code" href="classSVF_1_1ConstraintNode.html#aaf0b98573a980aea1151a837580a40a5">addIncomingGepEdge</a>(edge);</div>
|
|
866
|
+
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">return</span> edge;</div>
|
|
867
|
+
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> }</div>
|
|
866
868
|
</div><!-- fragment -->
|
|
867
869
|
</div>
|
|
868
870
|
</div>
|
|
@@ -992,7 +994,51 @@ Additional Inherited Members</h2></td></tr>
|
|
|
992
994
|
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="classSVF_1_1StoreStmt.html">StoreStmt</a>* edge = SVFUtil::cast<StoreStmt>(*iter);</div>
|
|
993
995
|
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a633666953f8d6675961981c4eab1adb0">addStoreCGEdge</a>(edge-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>(),edge-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>());</div>
|
|
994
996
|
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  }</div>
|
|
995
|
-
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> 
|
|
997
|
+
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  </div>
|
|
998
|
+
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a65c96cdd904e4240fbc7a044f89b91a1">clearSolitaries</a>();</div>
|
|
999
|
+
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> }</div>
|
|
1000
|
+
</div><!-- fragment -->
|
|
1001
|
+
</div>
|
|
1002
|
+
</div>
|
|
1003
|
+
<a id="a65c96cdd904e4240fbc7a044f89b91a1"></a>
|
|
1004
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a65c96cdd904e4240fbc7a044f89b91a1">◆ </a></span>clearSolitaries()</h2>
|
|
1005
|
+
|
|
1006
|
+
<div class="memitem">
|
|
1007
|
+
<div class="memproto">
|
|
1008
|
+
<table class="mlabels">
|
|
1009
|
+
<tr>
|
|
1010
|
+
<td class="mlabels-left">
|
|
1011
|
+
<table class="memname">
|
|
1012
|
+
<tr>
|
|
1013
|
+
<td class="memname">void ConstraintGraph::clearSolitaries </td>
|
|
1014
|
+
<td>(</td>
|
|
1015
|
+
<td class="paramname"></td><td>)</td>
|
|
1016
|
+
<td></td>
|
|
1017
|
+
</tr>
|
|
1018
|
+
</table>
|
|
1019
|
+
</td>
|
|
1020
|
+
<td class="mlabels-right">
|
|
1021
|
+
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
|
|
1022
|
+
</tr>
|
|
1023
|
+
</table>
|
|
1024
|
+
</div><div class="memdoc">
|
|
1025
|
+
<p>Remove nodes that are neither pointers nor connected with any edge </p>
|
|
1026
|
+
|
|
1027
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00149">149</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
1028
|
+
<div class="fragment"><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> {</div>
|
|
1029
|
+
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<ConstraintNode*></a> nodesToRemove;</div>
|
|
1030
|
+
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = this-><a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it != this-><a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); ++it)</div>
|
|
1031
|
+
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  {</div>
|
|
1032
|
+
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">if</span> (it->second->hasIncomingEdge() || it->second->hasOutgoingEdge())</div>
|
|
1033
|
+
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">continue</span>;</div>
|
|
1034
|
+
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1ConstraintGraph.html#aa8b09f64c6e4bbd081c6062a1a0e8948">pag</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(it->first)->isPointer())</div>
|
|
1035
|
+
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">continue</span>;</div>
|
|
1036
|
+
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  nodesToRemove.insert(it->second);</div>
|
|
1037
|
+
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  }</div>
|
|
1038
|
+
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  </div>
|
|
1039
|
+
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> node : nodesToRemove)</div>
|
|
1040
|
+
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9e21bc9b86080b4059f0907e9a7b33f3">removeConstraintNode</a>(node);</div>
|
|
1041
|
+
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div>
|
|
996
1042
|
</div><!-- fragment -->
|
|
997
1043
|
</div>
|
|
998
1044
|
</div>
|
|
@@ -1020,9 +1066,9 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1020
1066
|
</div><div class="memdoc">
|
|
1021
1067
|
<p>Memory has been cleaned up at <a class="el" href="classSVF_1_1GenericGraph.html">GenericGraph</a> </p>
|
|
1022
1068
|
|
|
1023
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
1024
|
-
<div class="fragment"><div class="line"><a name="
|
|
1025
|
-
<div class="line"><a name="
|
|
1069
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00168">168</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
1070
|
+
<div class="fragment"><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> {</div>
|
|
1071
|
+
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> }</div>
|
|
1026
1072
|
</div><!-- fragment -->
|
|
1027
1073
|
</div>
|
|
1028
1074
|
</div>
|
|
@@ -1045,10 +1091,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1045
1091
|
<p>Dump graph into dot file. </p>
|
|
1046
1092
|
<p>Dump constraint graph </p>
|
|
1047
1093
|
|
|
1048
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
1049
|
-
<div class="fragment"><div class="line"><a name="
|
|
1050
|
-
<div class="line"><a name="
|
|
1051
|
-
<div class="line"><a name="
|
|
1094
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00579">579</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
1095
|
+
<div class="fragment"><div class="line"><a name="l00580"></a><span class="lineno"> 580</span> {</div>
|
|
1096
|
+
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <a class="code" href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">GraphPrinter::WriteGraphToFile</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>(), <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>, <span class="keyword">this</span>);</div>
|
|
1097
|
+
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> }</div>
|
|
1052
1098
|
</div><!-- fragment -->
|
|
1053
1099
|
</div>
|
|
1054
1100
|
</div>
|
|
@@ -1078,10 +1124,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1078
1124
|
<p>Get <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> edge. </p>
|
|
1079
1125
|
<p>Get Address edges </p>
|
|
1080
1126
|
|
|
1081
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1082
|
-
<div class="fragment"><div class="line"><a name="
|
|
1083
|
-
<div class="line"><a name="
|
|
1084
|
-
<div class="line"><a name="
|
|
1127
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00196">196</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1128
|
+
<div class="fragment"><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  {</div>
|
|
1129
|
+
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#a5bbd6df25027d26911f5d8d6a10881dc">AddrCGEdgeSet</a>;</div>
|
|
1130
|
+
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  }</div>
|
|
1085
1131
|
</div><!-- fragment -->
|
|
1086
1132
|
</div>
|
|
1087
1133
|
</div>
|
|
@@ -1109,10 +1155,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1109
1155
|
</table>
|
|
1110
1156
|
</div><div class="memdoc">
|
|
1111
1157
|
|
|
1112
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1113
|
-
<div class="fragment"><div class="line"><a name="
|
|
1114
|
-
<div class="line"><a name="
|
|
1115
|
-
<div class="line"><a name="
|
|
1158
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00316">316</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1159
|
+
<div class="fragment"><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  {</div>
|
|
1160
|
+
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#aa8b09f64c6e4bbd081c6062a1a0e8948">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a7276e82b4648ed0e1b3d1b8b37b24089">getAllFieldsObjVars</a>(<span class="keywordtype">id</span>);</div>
|
|
1161
|
+
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  }</div>
|
|
1116
1162
|
</div><!-- fragment -->
|
|
1117
1163
|
</div>
|
|
1118
1164
|
</div>
|
|
@@ -1140,10 +1186,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1140
1186
|
</table>
|
|
1141
1187
|
</div><div class="memdoc">
|
|
1142
1188
|
|
|
1143
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1144
|
-
<div class="fragment"><div class="line"><a name="
|
|
1145
|
-
<div class="line"><a name="
|
|
1146
|
-
<div class="line"><a name="
|
|
1189
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00320">320</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1190
|
+
<div class="fragment"><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  {</div>
|
|
1191
|
+
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#aa8b09f64c6e4bbd081c6062a1a0e8948">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">getBaseObjVar</a>(<span class="keywordtype">id</span>);</div>
|
|
1192
|
+
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  }</div>
|
|
1147
1193
|
</div><!-- fragment -->
|
|
1148
1194
|
</div>
|
|
1149
1195
|
</div>
|
|
@@ -1170,10 +1216,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1170
1216
|
</table>
|
|
1171
1217
|
</div><div class="memdoc">
|
|
1172
1218
|
|
|
1173
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1174
|
-
<div class="fragment"><div class="line"><a name="
|
|
1175
|
-
<div class="line"><a name="
|
|
1176
|
-
<div class="line"><a name="
|
|
1219
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00308">308</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1220
|
+
<div class="fragment"><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  {</div>
|
|
1221
|
+
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#aa8b09f64c6e4bbd081c6062a1a0e8948">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a3ce34b9fcb651689bce44ab48fbcdff0">getBlackHoleNode</a>();</div>
|
|
1222
|
+
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  }</div>
|
|
1177
1223
|
</div><!-- fragment -->
|
|
1178
1224
|
</div>
|
|
1179
1225
|
</div>
|
|
@@ -1203,11 +1249,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1203
1249
|
|
|
1204
1250
|
<p>Get/add/remove constraint node. </p>
|
|
1205
1251
|
|
|
1206
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1207
|
-
<div class="fragment"><div class="line"><a name="
|
|
1208
|
-
<div class="line"><a name="
|
|
1209
|
-
<div class="line"><a name="
|
|
1210
|
-
<div class="line"><a name="
|
|
1252
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00109">109</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1253
|
+
<div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  {</div>
|
|
1254
|
+
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">sccRepNode</a>(<span class="keywordtype">id</span>);</div>
|
|
1255
|
+
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>);</div>
|
|
1256
|
+
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  }</div>
|
|
1211
1257
|
</div><!-- fragment -->
|
|
1212
1258
|
</div>
|
|
1213
1259
|
</div>
|
|
@@ -1236,10 +1282,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1236
1282
|
|
|
1237
1283
|
<p>Get Copy/call/ret/gep edges. </p>
|
|
1238
1284
|
|
|
1239
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1240
|
-
<div class="fragment"><div class="line"><a name="
|
|
1241
|
-
<div class="line"><a name="
|
|
1242
|
-
<div class="line"><a name="
|
|
1285
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00201">201</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1286
|
+
<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  {</div>
|
|
1287
|
+
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#a1be3ebb84b3d334daf98f7e6f5b82256">directEdgeSet</a>;</div>
|
|
1288
|
+
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  }</div>
|
|
1243
1289
|
</div><!-- fragment -->
|
|
1244
1290
|
</div>
|
|
1245
1291
|
</div>
|
|
@@ -1285,35 +1331,35 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1285
1331
|
|
|
1286
1332
|
<p>Get an edge via its src and dst nodes and kind. </p>
|
|
1287
1333
|
|
|
1288
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1289
|
-
<div class="fragment"><div class="line"><a name="
|
|
1290
|
-
<div class="line"><a name="
|
|
1291
|
-
<div class="line"><a name="
|
|
1292
|
-
<div class="line"><a name="
|
|
1293
|
-
<div class="line"><a name="
|
|
1294
|
-
<div class="line"><a name="
|
|
1295
|
-
<div class="line"><a name="
|
|
1296
|
-
<div class="line"><a name="
|
|
1297
|
-
<div class="line"><a name="
|
|
1298
|
-
<div class="line"><a name="
|
|
1299
|
-
<div class="line"><a name="
|
|
1300
|
-
<div class="line"><a name="
|
|
1301
|
-
<div class="line"><a name="
|
|
1302
|
-
<div class="line"><a name="
|
|
1303
|
-
<div class="line"><a name="
|
|
1304
|
-
<div class="line"><a name="
|
|
1305
|
-
<div class="line"><a name="
|
|
1306
|
-
<div class="line"><a name="
|
|
1307
|
-
<div class="line"><a name="
|
|
1308
|
-
<div class="line"><a name="
|
|
1309
|
-
<div class="line"><a name="
|
|
1310
|
-
<div class="line"><a name="
|
|
1311
|
-
<div class="line"><a name="
|
|
1312
|
-
<div class="line"><a name="
|
|
1313
|
-
<div class="line"><a name="
|
|
1314
|
-
<div class="line"><a name="
|
|
1315
|
-
<div class="line"><a name="
|
|
1316
|
-
<div class="line"><a name="
|
|
1334
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00148">148</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1335
|
+
<div class="fragment"><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  {</div>
|
|
1336
|
+
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  ConstraintEdge edge(src,dst,kind);</div>
|
|
1337
|
+
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">if</span>(kind == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a29b0aa3353f866ef1655ab6d4716feb9">ConstraintEdge::Copy</a> || kind == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375acfd0a194af0da66162545f0089eb4baa">ConstraintEdge::NormalGep</a> || kind == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375ae5df3ce07dd670b48916f7b8ab33ae5a">ConstraintEdge::VariantGep</a>)</div>
|
|
1338
|
+
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  {</div>
|
|
1339
|
+
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keyword">auto</span> eit = <a class="code" href="classSVF_1_1ConstraintGraph.html#a1be3ebb84b3d334daf98f7e6f5b82256">directEdgeSet</a>.find(&edge);</div>
|
|
1340
|
+
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">return</span> *eit;</div>
|
|
1341
|
+
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  }</div>
|
|
1342
|
+
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(kind == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375aed68bc43e8aae49e8590e140eb0ffaf3">ConstraintEdge::Addr</a>)</div>
|
|
1343
|
+
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  {</div>
|
|
1344
|
+
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keyword">auto</span> eit = <a class="code" href="classSVF_1_1ConstraintGraph.html#a5bbd6df25027d26911f5d8d6a10881dc">AddrCGEdgeSet</a>.find(&edge);</div>
|
|
1345
|
+
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">return</span> *eit;</div>
|
|
1346
|
+
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  }</div>
|
|
1347
|
+
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(kind == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a20d6a102ddc06257a822ffffcc5a3b47">ConstraintEdge::Store</a>)</div>
|
|
1348
|
+
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  {</div>
|
|
1349
|
+
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keyword">auto</span> eit = <a class="code" href="classSVF_1_1ConstraintGraph.html#a0f9d5eef25827ac1d380e5d8bd225025">StoreCGEdgeSet</a>.find(&edge);</div>
|
|
1350
|
+
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">return</span> *eit;</div>
|
|
1351
|
+
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  }</div>
|
|
1352
|
+
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(kind == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a1bdeb9a06641d16b43391120812b40b2">ConstraintEdge::Load</a>)</div>
|
|
1353
|
+
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  {</div>
|
|
1354
|
+
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keyword">auto</span> eit = <a class="code" href="classSVF_1_1ConstraintGraph.html#a1cb9124b29720e7a5b39d83419f9cc17">LoadCGEdgeSet</a>.find(&edge);</div>
|
|
1355
|
+
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">return</span> *eit;</div>
|
|
1356
|
+
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  }</div>
|
|
1357
|
+
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">else</span></div>
|
|
1358
|
+
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  {</div>
|
|
1359
|
+
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"no other kind!"</span>);</div>
|
|
1360
|
+
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
1361
|
+
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  }</div>
|
|
1362
|
+
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  }</div>
|
|
1317
1363
|
</div><!-- fragment -->
|
|
1318
1364
|
</div>
|
|
1319
1365
|
</div>
|
|
@@ -1344,12 +1390,12 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1344
1390
|
<p>Get a field-insensitive node of a memory object. </p>
|
|
1345
1391
|
<p>The fi obj in PAG must be either an existing node or merged to another rep node in ConsG</p>
|
|
1346
1392
|
|
|
1347
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1348
|
-
<div class="fragment"><div class="line"><a name="
|
|
1349
|
-
<div class="line"><a name="
|
|
1350
|
-
<div class="line"><a name="
|
|
1351
|
-
<div class="line"><a name="
|
|
1352
|
-
<div class="line"><a name="
|
|
1393
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00339">339</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1394
|
+
<div class="fragment"><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  {</div>
|
|
1395
|
+
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> fi = <a class="code" href="classSVF_1_1ConstraintGraph.html#aa8b09f64c6e4bbd081c6062a1a0e8948">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a2878e202045b7f2c817185e8bf95d354">getFIObjVar</a>(<span class="keywordtype">id</span>);</div>
|
|
1396
|
+
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  assert((<a class="code" href="classSVF_1_1ConstraintGraph.html#aad6c37476edfd9ae92dc8c0d004d782d">hasConstraintNode</a>(fi) || <a class="code" href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">sccRepNode</a>(fi) != fi) && <span class="stringliteral">"non-existing fi obj??"</span>);</div>
|
|
1397
|
+
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">return</span> fi;</div>
|
|
1398
|
+
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  }</div>
|
|
1353
1399
|
</div><!-- fragment -->
|
|
1354
1400
|
</div>
|
|
1355
1401
|
</div>
|
|
@@ -1390,13 +1436,13 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1390
1436
|
<p>Get a field of a memory object. </p>
|
|
1391
1437
|
<p>Create a node when it is (1) not exist on graph and (2) not merged</p>
|
|
1392
1438
|
|
|
1393
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1394
|
-
<div class="fragment"><div class="line"><a name="
|
|
1395
|
-
<div class="line"><a name="
|
|
1396
|
-
<div class="line"><a name="
|
|
1397
|
-
<div class="line"><a name="
|
|
1398
|
-
<div class="line"><a name="
|
|
1399
|
-
<div class="line"><a name="
|
|
1439
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00330">330</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1440
|
+
<div class="fragment"><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  {</div>
|
|
1441
|
+
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> gep = <a class="code" href="classSVF_1_1ConstraintGraph.html#aa8b09f64c6e4bbd081c6062a1a0e8948">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#ae18425df0631aefca7dd4b799f6f524a">getGepObjVar</a>(<span class="keywordtype">id</span>, apOffset);</div>
|
|
1442
|
+
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">sccRepNode</a>(gep)==gep && <a class="code" href="classSVF_1_1ConstraintGraph.html#aad6c37476edfd9ae92dc8c0d004d782d">hasConstraintNode</a>(gep)==<span class="keyword">false</span>)</div>
|
|
1443
|
+
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a5ea9c47d232f36b66d985f979f33293b">addConstraintNode</a>(<span class="keyword">new</span> ConstraintNode(gep),gep);</div>
|
|
1444
|
+
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keywordflow">return</span> gep;</div>
|
|
1445
|
+
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  }</div>
|
|
1400
1446
|
</div><!-- fragment -->
|
|
1401
1447
|
</div>
|
|
1402
1448
|
</div>
|
|
@@ -1425,10 +1471,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1425
1471
|
|
|
1426
1472
|
<p>Wrappers for invoking <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> methods. </p>
|
|
1427
1473
|
|
|
1428
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1429
|
-
<div class="fragment"><div class="line"><a name="
|
|
1430
|
-
<div class="line"><a name="
|
|
1431
|
-
<div class="line"><a name="
|
|
1474
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00304">304</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1475
|
+
<div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  {</div>
|
|
1476
|
+
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#aa8b09f64c6e4bbd081c6062a1a0e8948">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a2d2131128ceb3362b5dc89317cfd88a0">getIndirectCallsites</a>();</div>
|
|
1477
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  }</div>
|
|
1432
1478
|
</div><!-- fragment -->
|
|
1433
1479
|
</div>
|
|
1434
1480
|
</div>
|
|
@@ -1457,10 +1503,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1457
1503
|
|
|
1458
1504
|
<p>Get Load edges. </p>
|
|
1459
1505
|
|
|
1460
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1461
|
-
<div class="fragment"><div class="line"><a name="
|
|
1462
|
-
<div class="line"><a name="
|
|
1463
|
-
<div class="line"><a name="
|
|
1506
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00206">206</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1507
|
+
<div class="fragment"><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  {</div>
|
|
1508
|
+
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#a1cb9124b29720e7a5b39d83419f9cc17">LoadCGEdgeSet</a>;</div>
|
|
1509
|
+
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  }</div>
|
|
1464
1510
|
</div><!-- fragment -->
|
|
1465
1511
|
</div>
|
|
1466
1512
|
</div>
|
|
@@ -1487,10 +1533,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1487
1533
|
</table>
|
|
1488
1534
|
</div><div class="memdoc">
|
|
1489
1535
|
|
|
1490
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1491
|
-
<div class="fragment"><div class="line"><a name="
|
|
1492
|
-
<div class="line"><a name="
|
|
1493
|
-
<div class="line"><a name="
|
|
1536
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00370">370</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1537
|
+
<div class="fragment"><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  {</div>
|
|
1538
|
+
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#af3406f1e191d9d6d9c33d23bdd2d564b">nodesToBeCollapsed</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div>
|
|
1539
|
+
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  }</div>
|
|
1494
1540
|
</div><!-- fragment -->
|
|
1495
1541
|
</div>
|
|
1496
1542
|
</div>
|
|
@@ -1518,10 +1564,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1518
1564
|
</table>
|
|
1519
1565
|
</div><div class="memdoc">
|
|
1520
1566
|
|
|
1521
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1522
|
-
<div class="fragment"><div class="line"><a name="
|
|
1523
|
-
<div class="line"><a name="
|
|
1524
|
-
<div class="line"><a name="
|
|
1567
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00072">72</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1568
|
+
<div class="fragment"><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  {</div>
|
|
1569
|
+
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#aa8b09f64c6e4bbd081c6062a1a0e8948">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a65a4af3d6f0bfc11e31f020bb2966576">getPTASVFStmtSet</a>(kind);</div>
|
|
1570
|
+
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  }</div>
|
|
1525
1571
|
</div><!-- fragment -->
|
|
1526
1572
|
</div>
|
|
1527
1573
|
</div>
|
|
@@ -1549,10 +1595,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1549
1595
|
</table>
|
|
1550
1596
|
</div><div class="memdoc">
|
|
1551
1597
|
|
|
1552
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1553
|
-
<div class="fragment"><div class="line"><a name="
|
|
1554
|
-
<div class="line"><a name="
|
|
1555
|
-
<div class="line"><a name="
|
|
1598
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00264">264</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1599
|
+
<div class="fragment"><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  {</div>
|
|
1600
|
+
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#ab1b5ee9202bd9f5d738f9850b42a45d2">nodeToRepMap</a>[node];</div>
|
|
1601
|
+
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  }</div>
|
|
1556
1602
|
</div><!-- fragment -->
|
|
1557
1603
|
</div>
|
|
1558
1604
|
</div>
|
|
@@ -1580,10 +1626,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1580
1626
|
</table>
|
|
1581
1627
|
</div><div class="memdoc">
|
|
1582
1628
|
|
|
1583
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1584
|
-
<div class="fragment"><div class="line"><a name="
|
|
1585
|
-
<div class="line"><a name="
|
|
1586
|
-
<div class="line"><a name="
|
|
1629
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00084">84</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1630
|
+
<div class="fragment"><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div>
|
|
1631
|
+
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#aa8b09f64c6e4bbd081c6062a1a0e8948">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a96010999a4e5013beb1c37ef753ff910">getReturnNode</a>(value);</div>
|
|
1632
|
+
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  }</div>
|
|
1587
1633
|
</div><!-- fragment -->
|
|
1588
1634
|
</div>
|
|
1589
1635
|
</div>
|
|
@@ -1612,10 +1658,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1612
1658
|
|
|
1613
1659
|
<p>Get Store edges. </p>
|
|
1614
1660
|
|
|
1615
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1616
|
-
<div class="fragment"><div class="line"><a name="
|
|
1617
|
-
<div class="line"><a name="
|
|
1618
|
-
<div class="line"><a name="
|
|
1661
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00211">211</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1662
|
+
<div class="fragment"><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  {</div>
|
|
1663
|
+
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#a0f9d5eef25827ac1d380e5d8bd225025">StoreCGEdgeSet</a>;</div>
|
|
1664
|
+
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  }</div>
|
|
1619
1665
|
</div><!-- fragment -->
|
|
1620
1666
|
</div>
|
|
1621
1667
|
</div>
|
|
@@ -1643,10 +1689,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1643
1689
|
</table>
|
|
1644
1690
|
</div><div class="memdoc">
|
|
1645
1691
|
|
|
1646
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1647
|
-
<div class="fragment"><div class="line"><a name="
|
|
1648
|
-
<div class="line"><a name="
|
|
1649
|
-
<div class="line"><a name="
|
|
1692
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00260">260</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1693
|
+
<div class="fragment"><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  {</div>
|
|
1694
|
+
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#af91f1027cd5de591ae40865f691c5f60">nodeToSubsMap</a>[node];</div>
|
|
1695
|
+
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  }</div>
|
|
1650
1696
|
</div><!-- fragment -->
|
|
1651
1697
|
</div>
|
|
1652
1698
|
</div>
|
|
@@ -1676,10 +1722,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1676
1722
|
|
|
1677
1723
|
<p>Wrappers used internally, not expose to <a class="el" href="classSVF_1_1Andersen.html">Andersen</a> Pass. </p>
|
|
1678
1724
|
|
|
1679
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1680
|
-
<div class="fragment"><div class="line"><a name="
|
|
1681
|
-
<div class="line"><a name="
|
|
1682
|
-
<div class="line"><a name="
|
|
1725
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00079">79</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1726
|
+
<div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  {</div>
|
|
1727
|
+
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">sccRepNode</a>(<a class="code" href="classSVF_1_1ConstraintGraph.html#aa8b09f64c6e4bbd081c6062a1a0e8948">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(value));</div>
|
|
1728
|
+
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  }</div>
|
|
1683
1729
|
</div><!-- fragment -->
|
|
1684
1730
|
</div>
|
|
1685
1731
|
</div>
|
|
@@ -1707,10 +1753,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1707
1753
|
</table>
|
|
1708
1754
|
</div><div class="memdoc">
|
|
1709
1755
|
|
|
1710
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1711
|
-
<div class="fragment"><div class="line"><a name="
|
|
1712
|
-
<div class="line"><a name="
|
|
1713
|
-
<div class="line"><a name="
|
|
1756
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00089">89</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1757
|
+
<div class="fragment"><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div>
|
|
1758
|
+
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#aa8b09f64c6e4bbd081c6062a1a0e8948">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a8b10c318674a47035d617b3ade4f069b">getVarargNode</a>(value);</div>
|
|
1759
|
+
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  }</div>
|
|
1714
1760
|
</div><!-- fragment -->
|
|
1715
1761
|
</div>
|
|
1716
1762
|
</div>
|
|
@@ -1738,11 +1784,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1738
1784
|
</table>
|
|
1739
1785
|
</div><div class="memdoc">
|
|
1740
1786
|
|
|
1741
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1742
|
-
<div class="fragment"><div class="line"><a name="
|
|
1743
|
-
<div class="line"><a name="
|
|
1744
|
-
<div class="line"><a name="
|
|
1745
|
-
<div class="line"><a name="
|
|
1787
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00118">118</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1788
|
+
<div class="fragment"><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  {</div>
|
|
1789
|
+
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">sccRepNode</a>(<span class="keywordtype">id</span>);</div>
|
|
1790
|
+
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>);</div>
|
|
1791
|
+
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  }</div>
|
|
1746
1792
|
</div><!-- fragment -->
|
|
1747
1793
|
</div>
|
|
1748
1794
|
</div>
|
|
@@ -1786,22 +1832,22 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1786
1832
|
</table>
|
|
1787
1833
|
</div><div class="memdoc">
|
|
1788
1834
|
|
|
1789
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1790
|
-
<div class="fragment"><div class="line"><a name="
|
|
1791
|
-
<div class="line"><a name="
|
|
1792
|
-
<div class="line"><a name="
|
|
1793
|
-
<div class="line"><a name="
|
|
1794
|
-
<div class="line"><a name="
|
|
1795
|
-
<div class="line"><a name="
|
|
1796
|
-
<div class="line"><a name="
|
|
1797
|
-
<div class="line"><a name="
|
|
1798
|
-
<div class="line"><a name="
|
|
1799
|
-
<div class="line"><a name="
|
|
1800
|
-
<div class="line"><a name="
|
|
1801
|
-
<div class="line"><a name="
|
|
1802
|
-
<div class="line"><a name="
|
|
1803
|
-
<div class="line"><a name="
|
|
1804
|
-
<div class="line"><a name="
|
|
1835
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00130">130</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1836
|
+
<div class="fragment"><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  {</div>
|
|
1837
|
+
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  ConstraintEdge edge(src,dst,kind);</div>
|
|
1838
|
+
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">if</span>(kind == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a29b0aa3353f866ef1655ab6d4716feb9">ConstraintEdge::Copy</a> ||</div>
|
|
1839
|
+
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  kind == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375acfd0a194af0da66162545f0089eb4baa">ConstraintEdge::NormalGep</a> || kind == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375ae5df3ce07dd670b48916f7b8ab33ae5a">ConstraintEdge::VariantGep</a>)</div>
|
|
1840
|
+
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#a1be3ebb84b3d334daf98f7e6f5b82256">directEdgeSet</a>.find(&edge) != <a class="code" href="classSVF_1_1ConstraintGraph.html#a1be3ebb84b3d334daf98f7e6f5b82256">directEdgeSet</a>.end();</div>
|
|
1841
|
+
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(kind == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375aed68bc43e8aae49e8590e140eb0ffaf3">ConstraintEdge::Addr</a>)</div>
|
|
1842
|
+
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#a5bbd6df25027d26911f5d8d6a10881dc">AddrCGEdgeSet</a>.find(&edge) != <a class="code" href="classSVF_1_1ConstraintGraph.html#a5bbd6df25027d26911f5d8d6a10881dc">AddrCGEdgeSet</a>.end();</div>
|
|
1843
|
+
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(kind == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a20d6a102ddc06257a822ffffcc5a3b47">ConstraintEdge::Store</a>)</div>
|
|
1844
|
+
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#a0f9d5eef25827ac1d380e5d8bd225025">StoreCGEdgeSet</a>.find(&edge) != <a class="code" href="classSVF_1_1ConstraintGraph.html#a0f9d5eef25827ac1d380e5d8bd225025">StoreCGEdgeSet</a>.end();</div>
|
|
1845
|
+
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(kind == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a1bdeb9a06641d16b43391120812b40b2">ConstraintEdge::Load</a>)</div>
|
|
1846
|
+
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#a1cb9124b29720e7a5b39d83419f9cc17">LoadCGEdgeSet</a>.find(&edge) != <a class="code" href="classSVF_1_1ConstraintGraph.html#a1cb9124b29720e7a5b39d83419f9cc17">LoadCGEdgeSet</a>.end();</div>
|
|
1847
|
+
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">else</span></div>
|
|
1848
|
+
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"no other kind!"</span>);</div>
|
|
1849
|
+
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
1850
|
+
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  }</div>
|
|
1805
1851
|
</div><!-- fragment -->
|
|
1806
1852
|
</div>
|
|
1807
1853
|
</div>
|
|
@@ -1830,10 +1876,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1830
1876
|
|
|
1831
1877
|
<p>Add/get nodes to be collapsed. </p>
|
|
1832
1878
|
|
|
1833
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1834
|
-
<div class="fragment"><div class="line"><a name="
|
|
1835
|
-
<div class="line"><a name="
|
|
1836
|
-
<div class="line"><a name="
|
|
1879
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00362">362</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1880
|
+
<div class="fragment"><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  {</div>
|
|
1881
|
+
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">return</span> (!<a class="code" href="classSVF_1_1ConstraintGraph.html#af3406f1e191d9d6d9c33d23bdd2d564b">nodesToBeCollapsed</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>());</div>
|
|
1882
|
+
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  }</div>
|
|
1837
1883
|
</div><!-- fragment -->
|
|
1838
1884
|
</div>
|
|
1839
1885
|
</div>
|
|
@@ -1861,10 +1907,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1861
1907
|
</table>
|
|
1862
1908
|
</div><div class="memdoc">
|
|
1863
1909
|
|
|
1864
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1865
|
-
<div class="fragment"><div class="line"><a name="
|
|
1866
|
-
<div class="line"><a name="
|
|
1867
|
-
<div class="line"><a name="
|
|
1910
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00312">312</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1911
|
+
<div class="fragment"><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  {</div>
|
|
1912
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#aa8b09f64c6e4bbd081c6062a1a0e8948">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#ad9895f2d075eb402390e3b01ed68e001">isBlkObjOrConstantObj</a>(<span class="keywordtype">id</span>);</div>
|
|
1913
|
+
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  }</div>
|
|
1868
1914
|
</div><!-- fragment -->
|
|
1869
1915
|
</div>
|
|
1870
1916
|
</div>
|
|
@@ -1894,10 +1940,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1894
1940
|
|
|
1895
1941
|
<p>Check/Set PWC (positive weight cycle) flag. </p>
|
|
1896
1942
|
|
|
1897
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1898
|
-
<div class="fragment"><div class="line"><a name="
|
|
1899
|
-
<div class="line"><a name="
|
|
1900
|
-
<div class="line"><a name="
|
|
1943
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00350">350</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1944
|
+
<div class="fragment"><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  {</div>
|
|
1945
|
+
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(nodeId)-><a class="code" href="classSVF_1_1ConstraintNode.html#a0ffe4f1ca1a6f70466cc1c6b3b12c90d">isPWCNode</a>();</div>
|
|
1946
|
+
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  }</div>
|
|
1901
1947
|
</div><!-- fragment -->
|
|
1902
1948
|
</div>
|
|
1903
1949
|
</div>
|
|
@@ -1925,11 +1971,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1925
1971
|
</table>
|
|
1926
1972
|
</div><div class="memdoc">
|
|
1927
1973
|
|
|
1928
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1929
|
-
<div class="fragment"><div class="line"><a name="
|
|
1930
|
-
<div class="line"><a name="
|
|
1931
|
-
<div class="line"><a name="
|
|
1932
|
-
<div class="line"><a name="
|
|
1974
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00324">324</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
1975
|
+
<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  {</div>
|
|
1976
|
+
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keyword">const</span> MemObj* mem = <a class="code" href="classSVF_1_1ConstraintGraph.html#aa8b09f64c6e4bbd081c6062a1a0e8948">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">getBaseObj</a>(<span class="keywordtype">id</span>);</div>
|
|
1977
|
+
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">return</span> (mem->getMaxFieldOffsetLimit() == 1);</div>
|
|
1978
|
+
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  }</div>
|
|
1933
1979
|
</div><!-- fragment -->
|
|
1934
1980
|
</div>
|
|
1935
1981
|
</div>
|
|
@@ -1959,13 +2005,13 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1959
2005
|
|
|
1960
2006
|
<p>Check if a given edge is a <a class="el" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a> with 0 offset. </p>
|
|
1961
2007
|
|
|
1962
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
1963
|
-
<div class="fragment"><div class="line"><a name="
|
|
1964
|
-
<div class="line"><a name="
|
|
1965
|
-
<div class="line"><a name="
|
|
1966
|
-
<div class="line"><a name="
|
|
1967
|
-
<div class="line"><a name="
|
|
1968
|
-
<div class="line"><a name="
|
|
2008
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00294">294</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
2009
|
+
<div class="fragment"><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  {</div>
|
|
2010
|
+
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">if</span> (NormalGepCGEdge *normalGepCGEdge = SVFUtil::dyn_cast<NormalGepCGEdge>(edge))</div>
|
|
2011
|
+
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">if</span> (0 == normalGepCGEdge->getConstantFieldIdx())</div>
|
|
2012
|
+
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
2013
|
+
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
2014
|
+
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  }</div>
|
|
1969
2015
|
</div><!-- fragment -->
|
|
1970
2016
|
</div>
|
|
1971
2017
|
</div>
|
|
@@ -2004,12 +2050,12 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2004
2050
|
</div><div class="memdoc">
|
|
2005
2051
|
<p>Move incoming/outgoing direct edges of a sub node to its rep node Return TRUE if there's a gep edge inside this SCC (PWC). </p>
|
|
2006
2052
|
|
|
2007
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
2008
|
-
<div class="fragment"><div class="line"><a name="
|
|
2009
|
-
<div class="line"><a name="
|
|
2010
|
-
<div class="line"><a name="
|
|
2011
|
-
<div class="line"><a name="
|
|
2012
|
-
<div class="line"><a name="
|
|
2053
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00286">286</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
2054
|
+
<div class="fragment"><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  {</div>
|
|
2055
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordtype">bool</span> gepIn = <a class="code" href="classSVF_1_1ConstraintGraph.html#a081bf1238121eb52a0c9ad60f77ecbcd">moveInEdgesToRepNode</a>(node, rep);</div>
|
|
2056
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordtype">bool</span> gepOut = <a class="code" href="classSVF_1_1ConstraintGraph.html#aa436aac95be84d1946169f4984deae59">moveOutEdgesToRepNode</a>(node, rep);</div>
|
|
2057
|
+
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">return</span> (gepIn || gepOut);</div>
|
|
2058
|
+
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  }</div>
|
|
2013
2059
|
</div><!-- fragment -->
|
|
2014
2060
|
</div>
|
|
2015
2061
|
</div>
|
|
@@ -2042,58 +2088,58 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2042
2088
|
<p>Move incoming direct edges of a sub node which is outside SCC to its rep node Remove incoming direct edges of a sub node which is inside SCC from its rep node </p>
|
|
2043
2089
|
<p>only copy and gep edge can be removed</p>
|
|
2044
2090
|
|
|
2045
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2046
|
-
<div class="fragment"><div class="line"><a name="
|
|
2047
|
-
<div class="line"><a name="
|
|
2048
|
-
<div class="line"><a name="
|
|
2049
|
-
<div class="line"><a name="
|
|
2050
|
-
<div class="line"><a name="
|
|
2051
|
-
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  {</div>
|
|
2052
|
-
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* subInEdge = *it;</div>
|
|
2053
|
-
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">sccRepNode</a>(subInEdge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>()) != rep-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())</div>
|
|
2054
|
-
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  nonSccEdges.push_back(subInEdge);</div>
|
|
2055
|
-
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keywordflow">else</span></div>
|
|
2056
|
-
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  {</div>
|
|
2057
|
-
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  sccEdges.push_back(subInEdge);</div>
|
|
2058
|
-
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  }</div>
|
|
2059
|
-
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  }</div>
|
|
2060
|
-
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="comment">// if this edge is outside scc, then re-target edge dst to rep</span></div>
|
|
2061
|
-
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keywordflow">while</span>(!nonSccEdges.empty())</div>
|
|
2062
|
-
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  {</div>
|
|
2063
|
-
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* edge = nonSccEdges.back();</div>
|
|
2064
|
-
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  nonSccEdges.pop_back();</div>
|
|
2065
|
-
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a4db3484e3710c3f5cc86ec32dd643722">reTargetDstOfEdge</a>(edge,rep);</div>
|
|
2066
|
-
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  }</div>
|
|
2067
|
-
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  </div>
|
|
2068
|
-
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keywordtype">bool</span> criticalGepInsideSCC = <span class="keyword">false</span>;</div>
|
|
2069
|
-
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="comment">// if this edge is inside scc, then remove this edge and two end nodes</span></div>
|
|
2070
|
-
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <span class="keywordflow">while</span>(!sccEdges.empty())</div>
|
|
2091
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00462">462</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2092
|
+
<div class="fragment"><div class="line"><a name="l00463"></a><span class="lineno"> 463</span> {</div>
|
|
2093
|
+
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  std::vector<ConstraintEdge*> sccEdges;</div>
|
|
2094
|
+
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  std::vector<ConstraintEdge*> nonSccEdges;</div>
|
|
2095
|
+
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ConstraintNode.html#ab1868f04de44f6fe1e9ac14f3d4ee56b">ConstraintNode::const_iterator</a> it = node-><a class="code" href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">InEdgeBegin</a>(), eit = node-><a class="code" href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">InEdgeEnd</a>(); it != eit;</div>
|
|
2096
|
+
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  ++it)</div>
|
|
2071
2097
|
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  {</div>
|
|
2072
|
-
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>*
|
|
2073
|
-
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> 
|
|
2074
|
-
<div class="line"><a name="
|
|
2075
|
-
<div class="line"><a name="
|
|
2076
|
-
<div class="line"><a name="
|
|
2077
|
-
<div class="line"><a name="
|
|
2078
|
-
<div class="line"><a name="
|
|
2079
|
-
<div class="line"><a name="
|
|
2080
|
-
<div class="line"><a name="
|
|
2081
|
-
<div class="line"><a name="
|
|
2082
|
-
<div class="line"><a name="
|
|
2083
|
-
<div class="line"><a name="
|
|
2084
|
-
<div class="line"><a name="
|
|
2085
|
-
<div class="line"><a name="
|
|
2086
|
-
<div class="line"><a name="
|
|
2087
|
-
<div class="line"><a name="
|
|
2088
|
-
<div class="line"><a name="
|
|
2089
|
-
<div class="line"><a name="
|
|
2090
|
-
<div class="line"><a name="
|
|
2091
|
-
<div class="line"><a name="
|
|
2092
|
-
<div class="line"><a name="
|
|
2093
|
-
<div class="line"><a name="
|
|
2094
|
-
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> 
|
|
2095
|
-
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> 
|
|
2096
|
-
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> 
|
|
2098
|
+
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* subInEdge = *it;</div>
|
|
2099
|
+
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">sccRepNode</a>(subInEdge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>()) != rep-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())</div>
|
|
2100
|
+
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  nonSccEdges.push_back(subInEdge);</div>
|
|
2101
|
+
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <span class="keywordflow">else</span></div>
|
|
2102
|
+
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  {</div>
|
|
2103
|
+
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  sccEdges.push_back(subInEdge);</div>
|
|
2104
|
+
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  }</div>
|
|
2105
|
+
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  }</div>
|
|
2106
|
+
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="comment">// if this edge is outside scc, then re-target edge dst to rep</span></div>
|
|
2107
|
+
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="keywordflow">while</span>(!nonSccEdges.empty())</div>
|
|
2108
|
+
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  {</div>
|
|
2109
|
+
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* edge = nonSccEdges.back();</div>
|
|
2110
|
+
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  nonSccEdges.pop_back();</div>
|
|
2111
|
+
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a4db3484e3710c3f5cc86ec32dd643722">reTargetDstOfEdge</a>(edge,rep);</div>
|
|
2112
|
+
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  }</div>
|
|
2113
|
+
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  </div>
|
|
2114
|
+
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keywordtype">bool</span> criticalGepInsideSCC = <span class="keyword">false</span>;</div>
|
|
2115
|
+
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="comment">// if this edge is inside scc, then remove this edge and two end nodes</span></div>
|
|
2116
|
+
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <span class="keywordflow">while</span>(!sccEdges.empty())</div>
|
|
2117
|
+
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  {</div>
|
|
2118
|
+
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* edge = sccEdges.back();</div>
|
|
2119
|
+
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  sccEdges.pop_back();</div>
|
|
2120
|
+
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="keywordflow">if</span>(SVFUtil::isa<CopyCGEdge>(edge))</div>
|
|
2121
|
+
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(edge);</div>
|
|
2122
|
+
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<GepCGEdge>(edge))</div>
|
|
2123
|
+
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  {</div>
|
|
2124
|
+
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="comment">// If the GEP is critical (i.e. may have a non-zero offset),</span></div>
|
|
2125
|
+
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="comment">// then it brings impact on field-sensitivity.</span></div>
|
|
2126
|
+
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1ConstraintGraph.html#af790af4146197682dd4f9abfad1434f6">isZeroOffsettedGepCGEdge</a>(edge))</div>
|
|
2127
|
+
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  {</div>
|
|
2128
|
+
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  criticalGepInsideSCC = <span class="keyword">true</span>;</div>
|
|
2129
|
+
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  }</div>
|
|
2130
|
+
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(edge);</div>
|
|
2131
|
+
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  }</div>
|
|
2132
|
+
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<LoadCGEdge, StoreCGEdge>(edge))</div>
|
|
2133
|
+
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a4db3484e3710c3f5cc86ec32dd643722">reTargetDstOfEdge</a>(edge,rep);</div>
|
|
2134
|
+
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AddrCGEdge.html">AddrCGEdge</a>* addr = SVFUtil::dyn_cast<AddrCGEdge>(edge))</div>
|
|
2135
|
+
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  {</div>
|
|
2136
|
+
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#acc23df2db1fa7b8e0270d8a04f08f2ee">removeAddrEdge</a>(addr);</div>
|
|
2137
|
+
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  }</div>
|
|
2138
|
+
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordflow">else</span></div>
|
|
2139
|
+
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"no such edge"</span>);</div>
|
|
2140
|
+
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  }</div>
|
|
2141
|
+
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="keywordflow">return</span> criticalGepInsideSCC;</div>
|
|
2142
|
+
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> }</div>
|
|
2097
2143
|
</div><!-- fragment -->
|
|
2098
2144
|
</div>
|
|
2099
2145
|
</div>
|
|
@@ -2126,59 +2172,59 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2126
2172
|
<p>Move outgoing direct edges of a sub node which is outside SCC to its rep node Remove outgoing direct edges of a sub node which is inside SCC from its rep node </p>
|
|
2127
2173
|
<p>only copy and gep edge can be removed</p>
|
|
2128
2174
|
|
|
2129
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2130
|
-
<div class="fragment"><div class="line"><a name="
|
|
2131
|
-
<div class="line"><a name="
|
|
2132
|
-
<div class="line"><a name="
|
|
2133
|
-
<div class="line"><a name="
|
|
2134
|
-
<div class="line"><a name="
|
|
2135
|
-
<div class="line"><a name="
|
|
2136
|
-
<div class="line"><a name="
|
|
2137
|
-
<div class="line"><a name="
|
|
2138
|
-
<div class="line"><a name="
|
|
2139
|
-
<div class="line"><a name="
|
|
2140
|
-
<div class="line"><a name="
|
|
2141
|
-
<div class="line"><a name="
|
|
2142
|
-
<div class="line"><a name="
|
|
2143
|
-
<div class="line"><a name="
|
|
2144
|
-
<div class="line"><a name="
|
|
2145
|
-
<div class="line"><a name="
|
|
2146
|
-
<div class="line"><a name="
|
|
2147
|
-
<div class="line"><a name="
|
|
2148
|
-
<div class="line"><a name="
|
|
2149
|
-
<div class="line"><a name="
|
|
2150
|
-
<div class="line"><a name="
|
|
2151
|
-
<div class="line"><a name="
|
|
2152
|
-
<div class="line"><a name="
|
|
2153
|
-
<div class="line"><a name="
|
|
2154
|
-
<div class="line"><a name="
|
|
2155
|
-
<div class="line"><a name="
|
|
2156
|
-
<div class="line"><a name="
|
|
2157
|
-
<div class="line"><a name="
|
|
2158
|
-
<div class="line"><a name="
|
|
2159
|
-
<div class="line"><a name="
|
|
2160
|
-
<div class="line"><a name="
|
|
2161
|
-
<div class="line"><a name="
|
|
2162
|
-
<div class="line"><a name="
|
|
2163
|
-
<div class="line"><a name="
|
|
2164
|
-
<div class="line"><a name="
|
|
2165
|
-
<div class="line"><a name="
|
|
2166
|
-
<div class="line"><a name="
|
|
2167
|
-
<div class="line"><a name="
|
|
2168
|
-
<div class="line"><a name="
|
|
2169
|
-
<div class="line"><a name="
|
|
2170
|
-
<div class="line"><a name="
|
|
2171
|
-
<div class="line"><a name="
|
|
2172
|
-
<div class="line"><a name="
|
|
2173
|
-
<div class="line"><a name="
|
|
2174
|
-
<div class="line"><a name="
|
|
2175
|
-
<div class="line"><a name="
|
|
2176
|
-
<div class="line"><a name="
|
|
2177
|
-
<div class="line"><a name="
|
|
2178
|
-
<div class="line"><a name="
|
|
2179
|
-
<div class="line"><a name="
|
|
2180
|
-
<div class="line"><a name="
|
|
2181
|
-
<div class="line"><a name="
|
|
2175
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00520">520</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2176
|
+
<div class="fragment"><div class="line"><a name="l00521"></a><span class="lineno"> 521</span> {</div>
|
|
2177
|
+
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  </div>
|
|
2178
|
+
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  std::vector<ConstraintEdge*> sccEdges;</div>
|
|
2179
|
+
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  std::vector<ConstraintEdge*> nonSccEdges;</div>
|
|
2180
|
+
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  </div>
|
|
2181
|
+
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ConstraintNode.html#ab1868f04de44f6fe1e9ac14f3d4ee56b">ConstraintNode::const_iterator</a> it = node-><a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), eit = node-><a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); it != eit;</div>
|
|
2182
|
+
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  ++it)</div>
|
|
2183
|
+
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  {</div>
|
|
2184
|
+
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* subOutEdge = *it;</div>
|
|
2185
|
+
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">sccRepNode</a>(subOutEdge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>()) != rep-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())</div>
|
|
2186
|
+
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  nonSccEdges.push_back(subOutEdge);</div>
|
|
2187
|
+
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keywordflow">else</span></div>
|
|
2188
|
+
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  {</div>
|
|
2189
|
+
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  sccEdges.push_back(subOutEdge);</div>
|
|
2190
|
+
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  }</div>
|
|
2191
|
+
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  }</div>
|
|
2192
|
+
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="comment">// if this edge is outside scc, then re-target edge src to rep</span></div>
|
|
2193
|
+
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <span class="keywordflow">while</span>(!nonSccEdges.empty())</div>
|
|
2194
|
+
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  {</div>
|
|
2195
|
+
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* edge = nonSccEdges.back();</div>
|
|
2196
|
+
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  nonSccEdges.pop_back();</div>
|
|
2197
|
+
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#aaae56afed424f7cd59fddb3fcb2f7214">reTargetSrcOfEdge</a>(edge,rep);</div>
|
|
2198
|
+
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  }</div>
|
|
2199
|
+
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <span class="keywordtype">bool</span> criticalGepInsideSCC = <span class="keyword">false</span>;</div>
|
|
2200
|
+
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="comment">// if this edge is inside scc, then remove this edge and two end nodes</span></div>
|
|
2201
|
+
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  <span class="keywordflow">while</span>(!sccEdges.empty())</div>
|
|
2202
|
+
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  {</div>
|
|
2203
|
+
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* edge = sccEdges.back();</div>
|
|
2204
|
+
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  sccEdges.pop_back();</div>
|
|
2205
|
+
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <span class="keywordflow">if</span>(SVFUtil::isa<CopyCGEdge>(edge))</div>
|
|
2206
|
+
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(edge);</div>
|
|
2207
|
+
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<GepCGEdge>(edge))</div>
|
|
2208
|
+
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  {</div>
|
|
2209
|
+
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="comment">// If the GEP is critical (i.e. may have a non-zero offset),</span></div>
|
|
2210
|
+
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  <span class="comment">// then it brings impact on field-sensitivity.</span></div>
|
|
2211
|
+
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1ConstraintGraph.html#af790af4146197682dd4f9abfad1434f6">isZeroOffsettedGepCGEdge</a>(edge))</div>
|
|
2212
|
+
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  {</div>
|
|
2213
|
+
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  criticalGepInsideSCC = <span class="keyword">true</span>;</div>
|
|
2214
|
+
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  }</div>
|
|
2215
|
+
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(edge);</div>
|
|
2216
|
+
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  }</div>
|
|
2217
|
+
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<LoadCGEdge, StoreCGEdge>(edge))</div>
|
|
2218
|
+
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#aaae56afed424f7cd59fddb3fcb2f7214">reTargetSrcOfEdge</a>(edge,rep);</div>
|
|
2219
|
+
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AddrCGEdge.html">AddrCGEdge</a>* addr = SVFUtil::dyn_cast<AddrCGEdge>(edge))</div>
|
|
2220
|
+
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  {</div>
|
|
2221
|
+
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#acc23df2db1fa7b8e0270d8a04f08f2ee">removeAddrEdge</a>(addr);</div>
|
|
2222
|
+
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  }</div>
|
|
2223
|
+
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <span class="keywordflow">else</span></div>
|
|
2224
|
+
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"no such edge"</span>);</div>
|
|
2225
|
+
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  }</div>
|
|
2226
|
+
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keywordflow">return</span> criticalGepInsideSCC;</div>
|
|
2227
|
+
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> }</div>
|
|
2182
2228
|
</div><!-- fragment -->
|
|
2183
2229
|
</div>
|
|
2184
2230
|
</div>
|
|
@@ -2200,62 +2246,62 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2200
2246
|
<p>Print CG into terminal. </p>
|
|
2201
2247
|
<p>Print this constraint graph including its nodes and edges </p>
|
|
2202
2248
|
|
|
2203
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2204
|
-
<div class="fragment"><div class="line"><a name="
|
|
2205
|
-
<div class="line"><a name="
|
|
2206
|
-
<div class="line"><a name="
|
|
2207
|
-
<div class="line"><a name="
|
|
2208
|
-
<div class="line"><a name="
|
|
2209
|
-
<div class="line"><a name="
|
|
2210
|
-
<div class="line"><a name="
|
|
2211
|
-
<div class="line"><a name="
|
|
2212
|
-
<div class="line"><a name="
|
|
2213
|
-
<div class="line"><a name="
|
|
2214
|
-
<div class="line"><a name="
|
|
2215
|
-
<div class="line"><a name="
|
|
2216
|
-
<div class="line"><a name="
|
|
2217
|
-
<div class="line"><a name="
|
|
2218
|
-
<div class="line"><a name="
|
|
2219
|
-
<div class="line"><a name="
|
|
2220
|
-
<div class="line"><a name="
|
|
2221
|
-
<div class="line"><a name="
|
|
2222
|
-
<div class="line"><a name="
|
|
2223
|
-
<div class="line"><a name="
|
|
2224
|
-
<div class="line"><a name="
|
|
2225
|
-
<div class="line"><a name="
|
|
2226
|
-
<div class="line"><a name="
|
|
2227
|
-
<div class="line"><a name="
|
|
2228
|
-
<div class="line"><a name="
|
|
2229
|
-
<div class="line"><a name="
|
|
2230
|
-
<div class="line"><a name="
|
|
2231
|
-
<div class="line"><a name="
|
|
2232
|
-
<div class="line"><a name="
|
|
2233
|
-
<div class="line"><a name="
|
|
2234
|
-
<div class="line"><a name="
|
|
2235
|
-
<div class="line"><a name="
|
|
2236
|
-
<div class="line"><a name="
|
|
2237
|
-
<div class="line"><a name="
|
|
2238
|
-
<div class="line"><a name="
|
|
2239
|
-
<div class="line"><a name="
|
|
2240
|
-
<div class="line"><a name="
|
|
2241
|
-
<div class="line"><a name="
|
|
2242
|
-
<div class="line"><a name="
|
|
2243
|
-
<div class="line"><a name="
|
|
2244
|
-
<div class="line"><a name="
|
|
2245
|
-
<div class="line"><a name="
|
|
2246
|
-
<div class="line"><a name="
|
|
2247
|
-
<div class="line"><a name="
|
|
2248
|
-
<div class="line"><a name="
|
|
2249
|
-
<div class="line"><a name="
|
|
2250
|
-
<div class="line"><a name="
|
|
2251
|
-
<div class="line"><a name="
|
|
2252
|
-
<div class="line"><a name="
|
|
2253
|
-
<div class="line"><a name="
|
|
2254
|
-
<div class="line"><a name="
|
|
2255
|
-
<div class="line"><a name="
|
|
2256
|
-
<div class="line"><a name="
|
|
2257
|
-
<div class="line"><a name="
|
|
2258
|
-
<div class="line"><a name="
|
|
2249
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00587">587</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2250
|
+
<div class="fragment"><div class="line"><a name="l00588"></a><span class="lineno"> 588</span> {</div>
|
|
2251
|
+
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  </div>
|
|
2252
|
+
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"-----------------ConstraintGraph--------------------------------------\n"</span>;</div>
|
|
2253
|
+
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  </div>
|
|
2254
|
+
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html#ad155e1ed2473cc4f5f57128d282ac541">ConstraintEdge::ConstraintEdgeSetTy</a>& addrs = this-><a class="code" href="classSVF_1_1ConstraintGraph.html#adee52f15f5ff58dd455e419c2643f89b">getAddrCGEdges</a>();</div>
|
|
2255
|
+
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  <span class="keywordflow">for</span> (ConstraintEdge::ConstraintEdgeSetTy::iterator iter = addrs.begin(),</div>
|
|
2256
|
+
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  eiter = addrs.end(); iter != eiter; ++iter)</div>
|
|
2257
|
+
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  {</div>
|
|
2258
|
+
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Addr --> "</span> << (*iter)->getDstID()</div>
|
|
2259
|
+
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  << <span class="stringliteral">"\n"</span>;</div>
|
|
2260
|
+
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  }</div>
|
|
2261
|
+
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  </div>
|
|
2262
|
+
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html#ad155e1ed2473cc4f5f57128d282ac541">ConstraintEdge::ConstraintEdgeSetTy</a>& directs = this-><a class="code" href="classSVF_1_1ConstraintGraph.html#ad7196d5f05192d9468ee0ca93b6b66ee">getDirectCGEdges</a>();</div>
|
|
2263
|
+
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  <span class="keywordflow">for</span> (ConstraintEdge::ConstraintEdgeSetTy::iterator iter = directs.begin(),</div>
|
|
2264
|
+
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  eiter = directs.end(); iter != eiter; ++iter)</div>
|
|
2265
|
+
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  {</div>
|
|
2266
|
+
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CopyCGEdge.html">CopyCGEdge</a>* <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a> = SVFUtil::dyn_cast<CopyCGEdge>(*iter))</div>
|
|
2267
|
+
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  {</div>
|
|
2268
|
+
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>->getSrcID() << <span class="stringliteral">" -- Copy --> "</span> << <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>->getDstID()</div>
|
|
2269
|
+
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  << <span class="stringliteral">"\n"</span>;</div>
|
|
2270
|
+
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  }</div>
|
|
2271
|
+
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>* ngep = SVFUtil::dyn_cast<NormalGepCGEdge>(*iter))</div>
|
|
2272
|
+
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  {</div>
|
|
2273
|
+
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << ngep->getSrcID() << <span class="stringliteral">" -- NormalGep ("</span> << ngep->getConstantFieldIdx()</div>
|
|
2274
|
+
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  << <span class="stringliteral">") --> "</span> << ngep->getDstID() << <span class="stringliteral">"\n"</span>;</div>
|
|
2275
|
+
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  }</div>
|
|
2276
|
+
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1VariantGepCGEdge.html">VariantGepCGEdge</a>* <a class="code" href="PAGGrammar_8txt.html#a1181f56ceed612b4d77df931fa4dfaa9">vgep</a> = SVFUtil::dyn_cast<VariantGepCGEdge>(*iter))</div>
|
|
2277
|
+
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  {</div>
|
|
2278
|
+
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <a class="code" href="PAGGrammar_8txt.html#a1181f56ceed612b4d77df931fa4dfaa9">vgep</a>->getSrcID() << <span class="stringliteral">" -- VarintGep --> "</span></div>
|
|
2279
|
+
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  << <a class="code" href="PAGGrammar_8txt.html#a1181f56ceed612b4d77df931fa4dfaa9">vgep</a>->getDstID() << <span class="stringliteral">"\n"</span>;</div>
|
|
2280
|
+
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  }</div>
|
|
2281
|
+
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <span class="keywordflow">else</span></div>
|
|
2282
|
+
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"wrong constraint edge kind!"</span>);</div>
|
|
2283
|
+
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  }</div>
|
|
2284
|
+
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  </div>
|
|
2285
|
+
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html#ad155e1ed2473cc4f5f57128d282ac541">ConstraintEdge::ConstraintEdgeSetTy</a>& loads = this-><a class="code" href="classSVF_1_1ConstraintGraph.html#afb849d8f3425ff36497d062ecefd2cc1">getLoadCGEdges</a>();</div>
|
|
2286
|
+
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="keywordflow">for</span> (ConstraintEdge::ConstraintEdgeSetTy::iterator iter = loads.begin(),</div>
|
|
2287
|
+
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  eiter = loads.end(); iter != eiter; ++iter)</div>
|
|
2288
|
+
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  {</div>
|
|
2289
|
+
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Load --> "</span> << (*iter)->getDstID()</div>
|
|
2290
|
+
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  << <span class="stringliteral">"\n"</span>;</div>
|
|
2291
|
+
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  }</div>
|
|
2292
|
+
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  </div>
|
|
2293
|
+
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html#ad155e1ed2473cc4f5f57128d282ac541">ConstraintEdge::ConstraintEdgeSetTy</a>& stores = this-><a class="code" href="classSVF_1_1ConstraintGraph.html#a61ef90be6ccc01634e5440f22a0f746e">getStoreCGEdges</a>();</div>
|
|
2294
|
+
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  <span class="keywordflow">for</span> (ConstraintEdge::ConstraintEdgeSetTy::iterator iter = stores.begin(),</div>
|
|
2295
|
+
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  eiter = stores.end(); iter != eiter; ++iter)</div>
|
|
2296
|
+
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  {</div>
|
|
2297
|
+
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Store --> "</span> << (*iter)->getDstID()</div>
|
|
2298
|
+
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  << <span class="stringliteral">"\n"</span>;</div>
|
|
2299
|
+
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  }</div>
|
|
2300
|
+
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  </div>
|
|
2301
|
+
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>()</div>
|
|
2302
|
+
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  << <span class="stringliteral">"--------------------------------------------------------------\n"</span>;</div>
|
|
2303
|
+
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  </div>
|
|
2304
|
+
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> }</div>
|
|
2259
2305
|
</div><!-- fragment -->
|
|
2260
2306
|
</div>
|
|
2261
2307
|
</div>
|
|
@@ -2278,15 +2324,15 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2278
2324
|
<p>Remove addr edge from their src and dst edge sets. </p>
|
|
2279
2325
|
<p>Remove addr edge from their src and dst edge sets </p>
|
|
2280
2326
|
|
|
2281
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2282
|
-
<div class="fragment"><div class="line"><a name="
|
|
2283
|
-
<div class="line"><a name="
|
|
2284
|
-
<div class="line"><a name="
|
|
2285
|
-
<div class="line"><a name="
|
|
2286
|
-
<div class="line"><a name="
|
|
2287
|
-
<div class="line"><a name="
|
|
2288
|
-
<div class="line"><a name="
|
|
2289
|
-
<div class="line"><a name="
|
|
2327
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00408">408</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2328
|
+
<div class="fragment"><div class="line"><a name="l00409"></a><span class="lineno"> 409</span> {</div>
|
|
2329
|
+
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>())-><a class="code" href="classSVF_1_1ConstraintNode.html#abaf196bcce496fbdee6740c42ca9dd71">removeOutgoingAddrEdge</a>(edge);</div>
|
|
2330
|
+
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>())-><a class="code" href="classSVF_1_1ConstraintNode.html#a5a97f47f5a65550dce11341c6f8d9ae6">removeIncomingAddrEdge</a>(edge);</div>
|
|
2331
|
+
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> num = <a class="code" href="classSVF_1_1ConstraintGraph.html#a5bbd6df25027d26911f5d8d6a10881dc">AddrCGEdgeSet</a>.erase(edge);</div>
|
|
2332
|
+
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  (void)num; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
2333
|
+
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  assert(num && <span class="stringliteral">"edge not in the set, can not remove!!!"</span>);</div>
|
|
2334
|
+
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keyword">delete</span> edge;</div>
|
|
2335
|
+
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> }</div>
|
|
2290
2336
|
</div><!-- fragment -->
|
|
2291
2337
|
</div>
|
|
2292
2338
|
</div>
|
|
@@ -2314,10 +2360,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2314
2360
|
</table>
|
|
2315
2361
|
</div><div class="memdoc">
|
|
2316
2362
|
|
|
2317
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
2318
|
-
<div class="fragment"><div class="line"><a name="
|
|
2319
|
-
<div class="line"><a name="
|
|
2320
|
-
<div class="line"><a name="
|
|
2363
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00123">123</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
2364
|
+
<div class="fragment"><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div>
|
|
2365
|
+
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="classSVF_1_1GenericGraph.html#a1817b65e76052f11e36a67d6b9efd915">removeGNode</a>(node);</div>
|
|
2366
|
+
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  }</div>
|
|
2321
2367
|
</div><!-- fragment -->
|
|
2322
2368
|
</div>
|
|
2323
2369
|
</div>
|
|
@@ -2340,16 +2386,16 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2340
2386
|
<p>Remove direct edge from their src and dst edge sets. </p>
|
|
2341
2387
|
<p>Remove edges from their src and dst edge sets </p>
|
|
2342
2388
|
|
|
2343
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2344
|
-
<div class="fragment"><div class="line"><a name="
|
|
2345
|
-
<div class="line"><a name="
|
|
2346
|
-
<div class="line"><a name="
|
|
2347
|
-
<div class="line"><a name="
|
|
2348
|
-
<div class="line"><a name="
|
|
2349
|
-
<div class="line"><a name="
|
|
2350
|
-
<div class="line"><a name="
|
|
2351
|
-
<div class="line"><a name="
|
|
2352
|
-
<div class="line"><a name="
|
|
2389
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00447">447</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2390
|
+
<div class="fragment"><div class="line"><a name="l00448"></a><span class="lineno"> 448</span> {</div>
|
|
2391
|
+
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  </div>
|
|
2392
|
+
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>())-><a class="code" href="classSVF_1_1ConstraintNode.html#a73b8c0967cde518a2ea7dfea2a7dc32f">removeOutgoingDirectEdge</a>(edge);</div>
|
|
2393
|
+
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>())-><a class="code" href="classSVF_1_1ConstraintNode.html#a7946aea5584d124f6c83fd91ab497500">removeIncomingDirectEdge</a>(edge);</div>
|
|
2394
|
+
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> num = <a class="code" href="classSVF_1_1ConstraintGraph.html#a1be3ebb84b3d334daf98f7e6f5b82256">directEdgeSet</a>.erase(edge);</div>
|
|
2395
|
+
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  (void)num; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
2396
|
+
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  assert(num && <span class="stringliteral">"edge not in the set, can not remove!!!"</span>);</div>
|
|
2397
|
+
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keyword">delete</span> edge;</div>
|
|
2398
|
+
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> }</div>
|
|
2353
2399
|
</div><!-- fragment -->
|
|
2354
2400
|
</div>
|
|
2355
2401
|
</div>
|
|
@@ -2372,15 +2418,15 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2372
2418
|
<p>Remove load edge from their src and dst edge sets. </p>
|
|
2373
2419
|
<p>Remove load edge from their src and dst edge sets </p>
|
|
2374
2420
|
|
|
2375
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2376
|
-
<div class="fragment"><div class="line"><a name="
|
|
2377
|
-
<div class="line"><a name="
|
|
2378
|
-
<div class="line"><a name="
|
|
2379
|
-
<div class="line"><a name="
|
|
2380
|
-
<div class="line"><a name="
|
|
2381
|
-
<div class="line"><a name="
|
|
2382
|
-
<div class="line"><a name="
|
|
2383
|
-
<div class="line"><a name="
|
|
2421
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00421">421</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2422
|
+
<div class="fragment"><div class="line"><a name="l00422"></a><span class="lineno"> 422</span> {</div>
|
|
2423
|
+
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>())-><a class="code" href="classSVF_1_1ConstraintNode.html#a7d810ec9abc8817a938a557ac78dc8c0">removeOutgoingLoadEdge</a>(edge);</div>
|
|
2424
|
+
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>())-><a class="code" href="classSVF_1_1ConstraintNode.html#aa1f60c884d007524641d1a786410d41b">removeIncomingLoadEdge</a>(edge);</div>
|
|
2425
|
+
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> num = <a class="code" href="classSVF_1_1ConstraintGraph.html#a1cb9124b29720e7a5b39d83419f9cc17">LoadCGEdgeSet</a>.erase(edge);</div>
|
|
2426
|
+
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  (void)num; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
2427
|
+
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  assert(num && <span class="stringliteral">"edge not in the set, can not remove!!!"</span>);</div>
|
|
2428
|
+
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keyword">delete</span> edge;</div>
|
|
2429
|
+
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> }</div>
|
|
2384
2430
|
</div><!-- fragment -->
|
|
2385
2431
|
</div>
|
|
2386
2432
|
</div>
|
|
@@ -2403,15 +2449,15 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2403
2449
|
<p>Remove store edge from their src and dst edge sets. </p>
|
|
2404
2450
|
<p>Remove store edge from their src and dst edge sets </p>
|
|
2405
2451
|
|
|
2406
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2407
|
-
<div class="fragment"><div class="line"><a name="
|
|
2408
|
-
<div class="line"><a name="
|
|
2409
|
-
<div class="line"><a name="
|
|
2410
|
-
<div class="line"><a name="
|
|
2411
|
-
<div class="line"><a name="
|
|
2412
|
-
<div class="line"><a name="
|
|
2413
|
-
<div class="line"><a name="
|
|
2414
|
-
<div class="line"><a name="
|
|
2452
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00434">434</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2453
|
+
<div class="fragment"><div class="line"><a name="l00435"></a><span class="lineno"> 435</span> {</div>
|
|
2454
|
+
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>())-><a class="code" href="classSVF_1_1ConstraintNode.html#a24ef3eedb218283d106eceb8a73ca1b4">removeOutgoingStoreEdge</a>(edge);</div>
|
|
2455
|
+
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>())-><a class="code" href="classSVF_1_1ConstraintNode.html#a2d0e87fa3174562c97b519b2b144d8ea">removeIncomingStoreEdge</a>(edge);</div>
|
|
2456
|
+
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> num = <a class="code" href="classSVF_1_1ConstraintGraph.html#a0f9d5eef25827ac1d380e5d8bd225025">StoreCGEdgeSet</a>.erase(edge);</div>
|
|
2457
|
+
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  (void)num; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
2458
|
+
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  assert(num && <span class="stringliteral">"edge not in the set, can not remove!!!"</span>);</div>
|
|
2459
|
+
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="keyword">delete</span> edge;</div>
|
|
2460
|
+
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> }</div>
|
|
2415
2461
|
</div><!-- fragment -->
|
|
2416
2462
|
</div>
|
|
2417
2463
|
</div>
|
|
@@ -2439,10 +2485,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2439
2485
|
</table>
|
|
2440
2486
|
</div><div class="memdoc">
|
|
2441
2487
|
|
|
2442
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
2443
|
-
<div class="fragment"><div class="line"><a name="
|
|
2444
|
-
<div class="line"><a name="
|
|
2445
|
-
<div class="line"><a name="
|
|
2488
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00268">268</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
2489
|
+
<div class="fragment"><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  {</div>
|
|
2490
|
+
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#ab1b5ee9202bd9f5d738f9850b42a45d2">nodeToRepMap</a>.erase(node);</div>
|
|
2491
|
+
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  }</div>
|
|
2446
2492
|
</div><!-- fragment -->
|
|
2447
2493
|
</div>
|
|
2448
2494
|
</div>
|
|
@@ -2470,10 +2516,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2470
2516
|
</table>
|
|
2471
2517
|
</div><div class="memdoc">
|
|
2472
2518
|
|
|
2473
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
2474
|
-
<div class="fragment"><div class="line"><a name="
|
|
2475
|
-
<div class="line"><a name="
|
|
2476
|
-
<div class="line"><a name="
|
|
2519
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00256">256</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
2520
|
+
<div class="fragment"><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  {</div>
|
|
2521
|
+
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#af91f1027cd5de591ae40865f691c5f60">nodeToSubsMap</a>.erase(node);</div>
|
|
2522
|
+
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  }</div>
|
|
2477
2523
|
</div><!-- fragment -->
|
|
2478
2524
|
</div>
|
|
2479
2525
|
</div>
|
|
@@ -2508,43 +2554,43 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2508
2554
|
<p>Re-target dst node of an edge</p>
|
|
2509
2555
|
<p>(1) Remove edge from old dst target, (2) Change edge dst id and (3) Add modified edge into new dst </p>
|
|
2510
2556
|
|
|
2511
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2512
|
-
<div class="fragment"><div class="line"><a name="
|
|
2513
|
-
<div class="line"><a name="
|
|
2514
|
-
<div class="line"><a name="
|
|
2515
|
-
<div class="line"><a name="
|
|
2516
|
-
<div class="line"><a name="
|
|
2517
|
-
<div class="line"><a name="
|
|
2518
|
-
<div class="line"><a name="
|
|
2519
|
-
<div class="line"><a name="
|
|
2520
|
-
<div class="line"><a name="
|
|
2521
|
-
<div class="line"><a name="
|
|
2522
|
-
<div class="line"><a name="
|
|
2523
|
-
<div class="line"><a name="
|
|
2524
|
-
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  }</div>
|
|
2525
|
-
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CopyCGEdge.html">CopyCGEdge</a>* <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a> = SVFUtil::dyn_cast<CopyCGEdge>(edge))</div>
|
|
2526
|
-
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  {</div>
|
|
2527
|
-
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>);</div>
|
|
2528
|
-
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a60bb27100e8c264be2add004069d1758">addCopyCGEdge</a>(srcId,newDstNodeID);</div>
|
|
2529
|
-
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  }</div>
|
|
2530
|
-
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>* gep = SVFUtil::dyn_cast<NormalGepCGEdge>(edge))</div>
|
|
2531
|
-
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  {</div>
|
|
2532
|
-
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap = gep->getAccessPath();</div>
|
|
2533
|
-
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(gep);</div>
|
|
2534
|
-
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#ab0b4f708097d4b3d92b4513818fef68c">addNormalGepCGEdge</a>(srcId,newDstNodeID, ap);</div>
|
|
2535
|
-
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  }</div>
|
|
2536
|
-
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1VariantGepCGEdge.html">VariantGepCGEdge</a>* gep = SVFUtil::dyn_cast<VariantGepCGEdge>(edge))</div>
|
|
2537
|
-
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  {</div>
|
|
2538
|
-
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(gep);</div>
|
|
2539
|
-
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a6902cabb252b1eaadb3c8220b4581a2f">addVariantGepCGEdge</a>(srcId,newDstNodeID);</div>
|
|
2540
|
-
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  }</div>
|
|
2541
|
-
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AddrCGEdge.html">AddrCGEdge</a>* addr = SVFUtil::dyn_cast<AddrCGEdge>(edge))</div>
|
|
2542
|
-
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  {</div>
|
|
2543
|
-
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#acc23df2db1fa7b8e0270d8a04f08f2ee">removeAddrEdge</a>(addr);</div>
|
|
2557
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00323">323</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2558
|
+
<div class="fragment"><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> {</div>
|
|
2559
|
+
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> newDstNodeID = newDstNode-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
2560
|
+
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> srcId = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div>
|
|
2561
|
+
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1LoadCGEdge.html">LoadCGEdge</a>* load = SVFUtil::dyn_cast<LoadCGEdge>(edge))</div>
|
|
2562
|
+
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  {</div>
|
|
2563
|
+
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#aa4bca2422049413439cb0c3400f2ce28">removeLoadEdge</a>(load);</div>
|
|
2564
|
+
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a1e5a23fbd08cf4186775baffbd6a7934">addLoadCGEdge</a>(srcId,newDstNodeID);</div>
|
|
2565
|
+
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  }</div>
|
|
2566
|
+
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1StoreCGEdge.html">StoreCGEdge</a>* store = SVFUtil::dyn_cast<StoreCGEdge>(edge))</div>
|
|
2567
|
+
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  {</div>
|
|
2568
|
+
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#aad3d05c949c33a587b3ac6d627f5a0a2">removeStoreEdge</a>(store);</div>
|
|
2569
|
+
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a633666953f8d6675961981c4eab1adb0">addStoreCGEdge</a>(srcId,newDstNodeID);</div>
|
|
2544
2570
|
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  }</div>
|
|
2545
|
-
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">else</span
|
|
2546
|
-
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> 
|
|
2547
|
-
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> 
|
|
2571
|
+
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CopyCGEdge.html">CopyCGEdge</a>* <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a> = SVFUtil::dyn_cast<CopyCGEdge>(edge))</div>
|
|
2572
|
+
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  {</div>
|
|
2573
|
+
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>);</div>
|
|
2574
|
+
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a60bb27100e8c264be2add004069d1758">addCopyCGEdge</a>(srcId,newDstNodeID);</div>
|
|
2575
|
+
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  }</div>
|
|
2576
|
+
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>* gep = SVFUtil::dyn_cast<NormalGepCGEdge>(edge))</div>
|
|
2577
|
+
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  {</div>
|
|
2578
|
+
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap = gep->getAccessPath();</div>
|
|
2579
|
+
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(gep);</div>
|
|
2580
|
+
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#ab0b4f708097d4b3d92b4513818fef68c">addNormalGepCGEdge</a>(srcId,newDstNodeID, ap);</div>
|
|
2581
|
+
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  }</div>
|
|
2582
|
+
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1VariantGepCGEdge.html">VariantGepCGEdge</a>* gep = SVFUtil::dyn_cast<VariantGepCGEdge>(edge))</div>
|
|
2583
|
+
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  {</div>
|
|
2584
|
+
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(gep);</div>
|
|
2585
|
+
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a6902cabb252b1eaadb3c8220b4581a2f">addVariantGepCGEdge</a>(srcId,newDstNodeID);</div>
|
|
2586
|
+
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  }</div>
|
|
2587
|
+
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AddrCGEdge.html">AddrCGEdge</a>* addr = SVFUtil::dyn_cast<AddrCGEdge>(edge))</div>
|
|
2588
|
+
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  {</div>
|
|
2589
|
+
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#acc23df2db1fa7b8e0270d8a04f08f2ee">removeAddrEdge</a>(addr);</div>
|
|
2590
|
+
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  }</div>
|
|
2591
|
+
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">else</span></div>
|
|
2592
|
+
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"no other edge type!!"</span>);</div>
|
|
2593
|
+
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> }</div>
|
|
2548
2594
|
</div><!-- fragment -->
|
|
2549
2595
|
</div>
|
|
2550
2596
|
</div>
|
|
@@ -2577,43 +2623,43 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2577
2623
|
<p>Remove edge from old src target, change edge dst id and add modified edge into new src. </p>
|
|
2578
2624
|
<p>Re-target src node of an edge (1) Remove edge from old src target, (2) Change edge src id and (3) Add modified edge into new src </p>
|
|
2579
2625
|
|
|
2580
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2581
|
-
<div class="fragment"><div class="line"><a name="
|
|
2582
|
-
<div class="line"><a name="
|
|
2583
|
-
<div class="line"><a name="
|
|
2584
|
-
<div class="line"><a name="
|
|
2585
|
-
<div class="line"><a name="
|
|
2586
|
-
<div class="line"><a name="
|
|
2587
|
-
<div class="line"><a name="
|
|
2588
|
-
<div class="line"><a name="
|
|
2589
|
-
<div class="line"><a name="
|
|
2590
|
-
<div class="line"><a name="
|
|
2591
|
-
<div class="line"><a name="
|
|
2592
|
-
<div class="line"><a name="
|
|
2593
|
-
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  }</div>
|
|
2594
|
-
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CopyCGEdge.html">CopyCGEdge</a>* <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a> = SVFUtil::dyn_cast<CopyCGEdge>(edge))</div>
|
|
2595
|
-
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  {</div>
|
|
2596
|
-
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>);</div>
|
|
2597
|
-
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a60bb27100e8c264be2add004069d1758">addCopyCGEdge</a>(newSrcNodeID,dstId);</div>
|
|
2598
|
-
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  }</div>
|
|
2599
|
-
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>* gep = SVFUtil::dyn_cast<NormalGepCGEdge>(edge))</div>
|
|
2600
|
-
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  {</div>
|
|
2601
|
-
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap = gep->getAccessPath();</div>
|
|
2602
|
-
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(gep);</div>
|
|
2603
|
-
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#ab0b4f708097d4b3d92b4513818fef68c">addNormalGepCGEdge</a>(newSrcNodeID, dstId, ap);</div>
|
|
2604
|
-
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  }</div>
|
|
2605
|
-
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1VariantGepCGEdge.html">VariantGepCGEdge</a>* gep = SVFUtil::dyn_cast<VariantGepCGEdge>(edge))</div>
|
|
2606
|
-
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  {</div>
|
|
2607
|
-
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(gep);</div>
|
|
2608
|
-
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a6902cabb252b1eaadb3c8220b4581a2f">addVariantGepCGEdge</a>(newSrcNodeID,dstId);</div>
|
|
2609
|
-
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  }</div>
|
|
2610
|
-
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AddrCGEdge.html">AddrCGEdge</a>* addr = SVFUtil::dyn_cast<AddrCGEdge>(edge))</div>
|
|
2611
|
-
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  {</div>
|
|
2612
|
-
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#acc23df2db1fa7b8e0270d8a04f08f2ee">removeAddrEdge</a>(addr);</div>
|
|
2626
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00367">367</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2627
|
+
<div class="fragment"><div class="line"><a name="l00368"></a><span class="lineno"> 368</span> {</div>
|
|
2628
|
+
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> newSrcNodeID = newSrcNode-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
2629
|
+
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dstId = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div>
|
|
2630
|
+
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1LoadCGEdge.html">LoadCGEdge</a>* load = SVFUtil::dyn_cast<LoadCGEdge>(edge))</div>
|
|
2631
|
+
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  {</div>
|
|
2632
|
+
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#aa4bca2422049413439cb0c3400f2ce28">removeLoadEdge</a>(load);</div>
|
|
2633
|
+
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a1e5a23fbd08cf4186775baffbd6a7934">addLoadCGEdge</a>(newSrcNodeID,dstId);</div>
|
|
2634
|
+
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  }</div>
|
|
2635
|
+
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1StoreCGEdge.html">StoreCGEdge</a>* store = SVFUtil::dyn_cast<StoreCGEdge>(edge))</div>
|
|
2636
|
+
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  {</div>
|
|
2637
|
+
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#aad3d05c949c33a587b3ac6d627f5a0a2">removeStoreEdge</a>(store);</div>
|
|
2638
|
+
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a633666953f8d6675961981c4eab1adb0">addStoreCGEdge</a>(newSrcNodeID,dstId);</div>
|
|
2613
2639
|
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  }</div>
|
|
2614
|
-
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">else</span
|
|
2615
|
-
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> 
|
|
2616
|
-
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> 
|
|
2640
|
+
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CopyCGEdge.html">CopyCGEdge</a>* <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a> = SVFUtil::dyn_cast<CopyCGEdge>(edge))</div>
|
|
2641
|
+
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  {</div>
|
|
2642
|
+
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>);</div>
|
|
2643
|
+
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a60bb27100e8c264be2add004069d1758">addCopyCGEdge</a>(newSrcNodeID,dstId);</div>
|
|
2644
|
+
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  }</div>
|
|
2645
|
+
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>* gep = SVFUtil::dyn_cast<NormalGepCGEdge>(edge))</div>
|
|
2646
|
+
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  {</div>
|
|
2647
|
+
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap = gep->getAccessPath();</div>
|
|
2648
|
+
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(gep);</div>
|
|
2649
|
+
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#ab0b4f708097d4b3d92b4513818fef68c">addNormalGepCGEdge</a>(newSrcNodeID, dstId, ap);</div>
|
|
2650
|
+
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  }</div>
|
|
2651
|
+
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1VariantGepCGEdge.html">VariantGepCGEdge</a>* gep = SVFUtil::dyn_cast<VariantGepCGEdge>(edge))</div>
|
|
2652
|
+
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  {</div>
|
|
2653
|
+
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(gep);</div>
|
|
2654
|
+
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a6902cabb252b1eaadb3c8220b4581a2f">addVariantGepCGEdge</a>(newSrcNodeID,dstId);</div>
|
|
2655
|
+
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  }</div>
|
|
2656
|
+
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1AddrCGEdge.html">AddrCGEdge</a>* addr = SVFUtil::dyn_cast<AddrCGEdge>(edge))</div>
|
|
2657
|
+
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  {</div>
|
|
2658
|
+
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#acc23df2db1fa7b8e0270d8a04f08f2ee">removeAddrEdge</a>(addr);</div>
|
|
2659
|
+
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  }</div>
|
|
2660
|
+
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">else</span></div>
|
|
2661
|
+
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"no other edge type!!"</span>);</div>
|
|
2662
|
+
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div>
|
|
2617
2663
|
</div><!-- fragment -->
|
|
2618
2664
|
</div>
|
|
2619
2665
|
</div>
|
|
@@ -2643,14 +2689,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2643
2689
|
|
|
2644
2690
|
<p>SCC rep/sub nodes methods. </p>
|
|
2645
2691
|
|
|
2646
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
2647
|
-
<div class="fragment"><div class="line"><a name="
|
|
2648
|
-
<div class="line"><a name="
|
|
2649
|
-
<div class="line"><a name="
|
|
2650
|
-
<div class="line"><a name="
|
|
2651
|
-
<div class="line"><a name="
|
|
2652
|
-
<div class="line"><a name="
|
|
2653
|
-
<div class="line"><a name="
|
|
2692
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00235">235</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
2693
|
+
<div class="fragment"><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  {</div>
|
|
2694
|
+
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  NodeToRepMap::const_iterator it = <a class="code" href="classSVF_1_1ConstraintGraph.html#ab1b5ee9202bd9f5d738f9850b42a45d2">nodeToRepMap</a>.find(<span class="keywordtype">id</span>);</div>
|
|
2695
|
+
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">if</span>(it==<a class="code" href="classSVF_1_1ConstraintGraph.html#ab1b5ee9202bd9f5d738f9850b42a45d2">nodeToRepMap</a>.end())</div>
|
|
2696
|
+
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">return</span> id;</div>
|
|
2697
|
+
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">else</span></div>
|
|
2698
|
+
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">return</span> it->second;</div>
|
|
2699
|
+
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  }</div>
|
|
2654
2700
|
</div><!-- fragment -->
|
|
2655
2701
|
</div>
|
|
2656
2702
|
</div>
|
|
@@ -2678,11 +2724,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2678
2724
|
</table>
|
|
2679
2725
|
</div><div class="memdoc">
|
|
2680
2726
|
|
|
2681
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
2682
|
-
<div class="fragment"><div class="line"><a name="
|
|
2683
|
-
<div class="line"><a name="
|
|
2684
|
-
<div class="line"><a name="
|
|
2685
|
-
<div class="line"><a name="
|
|
2727
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00243">243</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
2728
|
+
<div class="fragment"><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  {</div>
|
|
2729
|
+
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#af91f1027cd5de591ae40865f691c5f60">nodeToSubsMap</a>[id].set(<span class="keywordtype">id</span>);</div>
|
|
2730
|
+
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ConstraintGraph.html#af91f1027cd5de591ae40865f691c5f60">nodeToSubsMap</a>[id];</div>
|
|
2731
|
+
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  }</div>
|
|
2686
2732
|
</div><!-- fragment -->
|
|
2687
2733
|
</div>
|
|
2688
2734
|
</div>
|
|
@@ -2710,10 +2756,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2710
2756
|
</table>
|
|
2711
2757
|
</div><div class="memdoc">
|
|
2712
2758
|
|
|
2713
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
2714
|
-
<div class="fragment"><div class="line"><a name="
|
|
2715
|
-
<div class="line"><a name="
|
|
2716
|
-
<div class="line"><a name="
|
|
2759
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00354">354</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
2760
|
+
<div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  {</div>
|
|
2761
|
+
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(nodeId)-><a class="code" href="classSVF_1_1ConstraintNode.html#ad8701df90d93c5dfed26cff8f0b2fbb3">setPWCNode</a>();</div>
|
|
2762
|
+
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  }</div>
|
|
2717
2763
|
</div><!-- fragment -->
|
|
2718
2764
|
</div>
|
|
2719
2765
|
</div>
|
|
@@ -2751,10 +2797,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2751
2797
|
</table>
|
|
2752
2798
|
</div><div class="memdoc">
|
|
2753
2799
|
|
|
2754
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
2755
|
-
<div class="fragment"><div class="line"><a name="
|
|
2756
|
-
<div class="line"><a name="
|
|
2757
|
-
<div class="line"><a name="
|
|
2800
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00248">248</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
2801
|
+
<div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  {</div>
|
|
2802
|
+
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#ab1b5ee9202bd9f5d738f9850b42a45d2">nodeToRepMap</a>[node] = rep;</div>
|
|
2803
|
+
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  }</div>
|
|
2758
2804
|
</div><!-- fragment -->
|
|
2759
2805
|
</div>
|
|
2760
2806
|
</div>
|
|
@@ -2792,10 +2838,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2792
2838
|
</table>
|
|
2793
2839
|
</div><div class="memdoc">
|
|
2794
2840
|
|
|
2795
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
2796
|
-
<div class="fragment"><div class="line"><a name="
|
|
2797
|
-
<div class="line"><a name="
|
|
2798
|
-
<div class="line"><a name="
|
|
2841
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00252">252</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
2842
|
+
<div class="fragment"><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  {</div>
|
|
2843
|
+
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#af91f1027cd5de591ae40865f691c5f60">nodeToSubsMap</a>[node] |= subs;</div>
|
|
2844
|
+
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  }</div>
|
|
2799
2845
|
</div><!-- fragment -->
|
|
2800
2846
|
</div>
|
|
2801
2847
|
</div>
|
|
@@ -2817,10 +2863,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2817
2863
|
<p>View graph from the debugger. </p>
|
|
2818
2864
|
<p>View dot graph of Constraint graph from debugger. </p>
|
|
2819
2865
|
|
|
2820
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2821
|
-
<div class="fragment"><div class="line"><a name="
|
|
2822
|
-
<div class="line"><a name="
|
|
2823
|
-
<div class="line"><a name="
|
|
2866
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00647">647</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2867
|
+
<div class="fragment"><div class="line"><a name="l00648"></a><span class="lineno"> 648</span> {</div>
|
|
2868
|
+
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  <a class="code" href="namespaceSVF.html#a4582a7d33a5631a5a38973f50035327e">SVF::ViewGraph</a>(<span class="keyword">this</span>, <span class="stringliteral">"Constraint Graph"</span>);</div>
|
|
2869
|
+
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> }</div>
|
|
2824
2870
|
</div><!-- fragment -->
|
|
2825
2871
|
</div>
|
|
2826
2872
|
</div>
|
|
@@ -3050,13 +3096,13 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3050
3096
|
<div class="ttc" id="aclassSVF_1_1ConstraintNode_html_a2d0e87fa3174562c97b519b2b144d8ea"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a2d0e87fa3174562c97b519b2b144d8ea">SVF::ConstraintNode::removeIncomingStoreEdge</a></div><div class="ttdeci">bool removeIncomingStoreEdge(StoreCGEdge *inEdge)</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00376">ConsGNode.h:376</a></div></div>
|
|
3051
3097
|
<div class="ttc" id="aclassSVF_1_1CopyStmt_html"><div class="ttname"><a href="classSVF_1_1CopyStmt.html">SVF::CopyStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00364">SVFStatements.h:364</a></div></div>
|
|
3052
3098
|
<div class="ttc" id="aclassSVF_1_1FIFOWorkList_html_a8fa72918fce7e9c0b2dc34b683a797c6"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">SVF::FIFOWorkList::pop</a></div><div class="ttdeci">Data pop()</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00200">WorkList.h:200</a></div></div>
|
|
3053
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a9fc73676ea133651604e2528fe1d8244"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">SVF::ConstraintGraph::removeDirectEdge</a></div><div class="ttdeci">void removeDirectEdge(ConstraintEdge *edge)</div><div class="ttdoc">Remove direct edge from their src and dst edge sets.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#
|
|
3099
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a9fc73676ea133651604e2528fe1d8244"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">SVF::ConstraintGraph::removeDirectEdge</a></div><div class="ttdeci">void removeDirectEdge(ConstraintEdge *edge)</div><div class="ttdoc">Remove direct edge from their src and dst edge sets.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00447">ConsG.cpp:447</a></div></div>
|
|
3054
3100
|
<div class="ttc" id="aclassSVF_1_1ConstraintEdge_html_ad155e1ed2473cc4f5f57128d282ac541"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html#ad155e1ed2473cc4f5f57128d282ac541">SVF::ConstraintEdge::ConstraintEdgeSetTy</a></div><div class="ttdeci">GenericNode< ConstraintNode, ConstraintEdge >::GEdgeSetTy ConstraintEdgeSetTy</div><div class="ttdoc">Constraint edge type.</div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00085">ConsGEdge.h:85</a></div></div>
|
|
3055
3101
|
<div class="ttc" id="aclassSVF_1_1IRGraph_html_a96010999a4e5013beb1c37ef753ff910"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a96010999a4e5013beb1c37ef753ff910">SVF::IRGraph::getReturnNode</a></div><div class="ttdeci">NodeID getReturnNode(const SVFFunction *func) const</div><div class="ttdoc">GetReturnNode - Return the unique node representing the return value of a function.</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00153">IRGraph.h:153</a></div></div>
|
|
3056
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a4db3484e3710c3f5cc86ec32dd643722"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a4db3484e3710c3f5cc86ec32dd643722">SVF::ConstraintGraph::reTargetDstOfEdge</a></div><div class="ttdeci">void reTargetDstOfEdge(ConstraintEdge *edge, ConstraintNode *newDstNode)</div><div class="ttdoc">Used for cycle elimination.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#
|
|
3102
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a4db3484e3710c3f5cc86ec32dd643722"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a4db3484e3710c3f5cc86ec32dd643722">SVF::ConstraintGraph::reTargetDstOfEdge</a></div><div class="ttdeci">void reTargetDstOfEdge(ConstraintEdge *edge, ConstraintNode *newDstNode)</div><div class="ttdoc">Used for cycle elimination.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00323">ConsG.cpp:323</a></div></div>
|
|
3057
3103
|
<div class="ttc" id="aclassSVF_1_1ConstraintEdge_html"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html">SVF::ConstraintEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00048">ConsGEdge.h:48</a></div></div>
|
|
3058
3104
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a2d2131128ceb3362b5dc89317cfd88a0"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2d2131128ceb3362b5dc89317cfd88a0">SVF::SVFIR::getIndirectCallsites</a></div><div class="ttdeci">const CallSiteToFunPtrMap & getIndirectCallsites() const</div><div class="ttdoc">Add/get indirect callsites.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00337">SVFIR.h:337</a></div></div>
|
|
3059
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_ab0b4f708097d4b3d92b4513818fef68c"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#ab0b4f708097d4b3d92b4513818fef68c">SVF::ConstraintGraph::addNormalGepCGEdge</a></div><div class="ttdeci">NormalGepCGEdge * addNormalGepCGEdge(NodeID src, NodeID dst, const AccessPath &ap)</div><div class="ttdoc">Add Gep edge.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#
|
|
3105
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_ab0b4f708097d4b3d92b4513818fef68c"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#ab0b4f708097d4b3d92b4513818fef68c">SVF::ConstraintGraph::addNormalGepCGEdge</a></div><div class="ttdeci">NormalGepCGEdge * addNormalGepCGEdge(NodeID src, NodeID dst, const AccessPath &ap)</div><div class="ttdoc">Add Gep edge.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00233">ConsG.cpp:233</a></div></div>
|
|
3060
3106
|
<div class="ttc" id="aclassSVF_1_1AddrStmt_html"><div class="ttname"><a href="classSVF_1_1AddrStmt.html">SVF::AddrStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00313">SVFStatements.h:313</a></div></div>
|
|
3061
3107
|
<div class="ttc" id="aclassSVF_1_1GepStmt_html_a0ddf180a0f7ba64fc8655687910e3788"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a0ddf180a0f7ba64fc8655687910e3788">SVF::GepStmt::isVariantFieldGep</a></div><div class="ttdeci">bool isVariantFieldGep() const</div><div class="ttdoc">Gep statement with a variant field index (pointer arithmetic) for struct field access.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00539">SVFStatements.h:539</a></div></div>
|
|
3062
3108
|
<div class="ttc" id="acJSON_8cpp_html_a009ef1d888ab6dbe77e6b42b0b39f1ae"><div class="ttname"><a href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a></div><div class="ttdeci">cJSON * p</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02559">cJSON.cpp:2559</a></div></div>
|
|
@@ -3065,14 +3111,15 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3065
3111
|
<div class="ttc" id="aclassSVF_1_1PhiStmt_html"><div class="ttname"><a href="classSVF_1_1PhiStmt.html">SVF::PhiStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00761">SVFStatements.h:761</a></div></div>
|
|
3066
3112
|
<div class="ttc" id="aclassSVF_1_1ConstraintNode_html_a9d1bb95ad5549d7e6030fe07f8e070a2"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a9d1bb95ad5549d7e6030fe07f8e070a2">SVF::ConstraintNode::addIncomingLoadEdge</a></div><div class="ttdeci">void addIncomingLoadEdge(LoadCGEdge *inEdge)</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00252">ConsGNode.h:252</a></div></div>
|
|
3067
3113
|
<div class="ttc" id="aclassSVF_1_1ConstraintNode_html_a2395948518a1befb7a3762bbad6adf9f"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a2395948518a1befb7a3762bbad6adf9f">SVF::ConstraintNode::addOutgoingCopyEdge</a></div><div class="ttdeci">void addOutgoingCopyEdge(CopyCGEdge *outEdge)</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00237">ConsGNode.h:237</a></div></div>
|
|
3068
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a60bb27100e8c264be2add004069d1758"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a60bb27100e8c264be2add004069d1758">SVF::ConstraintGraph::addCopyCGEdge</a></div><div class="ttdeci">CopyCGEdge * addCopyCGEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add Copy edge.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#
|
|
3114
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a60bb27100e8c264be2add004069d1758"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a60bb27100e8c264be2add004069d1758">SVF::ConstraintGraph::addCopyCGEdge</a></div><div class="ttdeci">CopyCGEdge * addCopyCGEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add Copy edge.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00210">ConsG.cpp:210</a></div></div>
|
|
3069
3115
|
<div class="ttc" id="aclassSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVF::SVFStmt::Call</a></div><div class="ttdeci">@ Call</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00067">SVFStatements.h:67</a></div></div>
|
|
3070
3116
|
<div class="ttc" id="aclassSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a0a9a0f650e864e89b7cbb3dc8c8aa197">SVF::SVFStmt::Addr</a></div><div class="ttdeci">@ Addr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00063">SVFStatements.h:63</a></div></div>
|
|
3071
3117
|
<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>
|
|
3072
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_adee52f15f5ff58dd455e419c2643f89b"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#adee52f15f5ff58dd455e419c2643f89b">SVF::ConstraintGraph::getAddrCGEdges</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy & getAddrCGEdges()</div><div class="ttdoc">Get SVFIR edge.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#
|
|
3118
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_adee52f15f5ff58dd455e419c2643f89b"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#adee52f15f5ff58dd455e419c2643f89b">SVF::ConstraintGraph::getAddrCGEdges</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy & getAddrCGEdges()</div><div class="ttdoc">Get SVFIR edge.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00196">ConsG.h:196</a></div></div>
|
|
3073
3119
|
<div class="ttc" id="aclassSVF_1_1IRGraph_html_a43514023a4f4d0c32f536f51443b0efc"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">SVF::IRGraph::getValueNode</a></div><div class="ttdeci">NodeID getValueNode(const SVFValue *V)</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00138">IRGraph.h:138</a></div></div>
|
|
3120
|
+
<div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00097">SVFType.h:97</a></div></div>
|
|
3074
3121
|
<div class="ttc" id="aclassSVF_1_1ConstraintEdge_html_a663af27955ba0c545f34fa1f076b7375acfd0a194af0da66162545f0089eb4baa"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375acfd0a194af0da66162545f0089eb4baa">SVF::ConstraintEdge::NormalGep</a></div><div class="ttdeci">@ NormalGep</div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00056">ConsGEdge.h:56</a></div></div>
|
|
3075
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_acc23df2db1fa7b8e0270d8a04f08f2ee"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#acc23df2db1fa7b8e0270d8a04f08f2ee">SVF::ConstraintGraph::removeAddrEdge</a></div><div class="ttdeci">void removeAddrEdge(AddrCGEdge *edge)</div><div class="ttdoc">Remove addr edge from their src and dst edge sets.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#
|
|
3122
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_acc23df2db1fa7b8e0270d8a04f08f2ee"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#acc23df2db1fa7b8e0270d8a04f08f2ee">SVF::ConstraintGraph::removeAddrEdge</a></div><div class="ttdeci">void removeAddrEdge(AddrCGEdge *edge)</div><div class="ttdoc">Remove addr edge from their src and dst edge sets.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00408">ConsG.cpp:408</a></div></div>
|
|
3076
3123
|
<div class="ttc" id="aclassSVF_1_1ConstraintNode_html_a18a52c763aa946f06798dc5592f5c1e0"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a18a52c763aa946f06798dc5592f5c1e0">SVF::ConstraintNode::addOutgoingStoreEdge</a></div><div class="ttdeci">bool addOutgoingStoreEdge(StoreCGEdge *outEdge)</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00284">ConsGNode.h:284</a></div></div>
|
|
3077
3124
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a65a4af3d6f0bfc11e31f020bb2966576"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a65a4af3d6f0bfc11e31f020bb2966576">SVF::SVFIR::getPTASVFStmtSet</a></div><div class="ttdeci">SVFStmt::SVFStmtSetTy & getPTASVFStmtSet(SVFStmt::PEDGEK kind)</div><div class="ttdoc">Get PTA edges set according to its kind.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00193">SVFIR.h:193</a></div></div>
|
|
3078
3125
|
<div class="ttc" id="aclassSVF_1_1SelectStmt_html"><div class="ttname"><a href="classSVF_1_1SelectStmt.html">SVF::SelectStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00829">SVFStatements.h:829</a></div></div>
|
|
@@ -3081,14 +3128,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3081
3128
|
<div class="ttc" id="acJSON_8h_html_a25d22ecc7e656d2c59332072684e8766"><div class="ttname"><a href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a></div><div class="ttdeci">const char *const name</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00264">cJSON.h:264</a></div></div>
|
|
3082
3129
|
<div class="ttc" id="aclassSVF_1_1NormalGepCGEdge_html"><div class="ttname"><a href="classSVF_1_1NormalGepCGEdge.html">SVF::NormalGepCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00265">ConsGEdge.h:265</a></div></div>
|
|
3083
3130
|
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_af3406f1e191d9d6d9c33d23bdd2d564b"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#af3406f1e191d9d6d9c33d23bdd2d564b">SVF::ConstraintGraph::nodesToBeCollapsed</a></div><div class="ttdeci">WorkList nodesToBeCollapsed</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00058">ConsG.h:58</a></div></div>
|
|
3084
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a39b973543acdcdc5493832cc9d0f586f"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">SVF::ConstraintGraph::sccRepNode</a></div><div class="ttdeci">NodeID sccRepNode(NodeID id) const</div><div class="ttdoc">SCC rep/sub nodes methods.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#
|
|
3131
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a39b973543acdcdc5493832cc9d0f586f"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">SVF::ConstraintGraph::sccRepNode</a></div><div class="ttdeci">NodeID sccRepNode(NodeID id) const</div><div class="ttdoc">SCC rep/sub nodes methods.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00235">ConsG.h:235</a></div></div>
|
|
3085
3132
|
<div class="ttc" id="aclassSVF_1_1SVFStmt_html_a8cd7b6c6fd8b030b1421d95a086359f4"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVF::SVFStmt::SVFStmtSetTy</a></div><div class="ttdeci">GenericNode< SVFVar, SVFStmt >::GEdgeSetTy SVFStmtSetTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00217">SVFStatements.h:217</a></div></div>
|
|
3086
3133
|
<div class="ttc" id="aclassSVF_1_1ConstraintEdge_html_a663af27955ba0c545f34fa1f076b7375a29b0aa3353f866ef1655ab6d4716feb9"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a29b0aa3353f866ef1655ab6d4716feb9">SVF::ConstraintEdge::Copy</a></div><div class="ttdeci">@ Copy</div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00056">ConsGEdge.h:56</a></div></div>
|
|
3087
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a61ef90be6ccc01634e5440f22a0f746e"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a61ef90be6ccc01634e5440f22a0f746e">SVF::ConstraintGraph::getStoreCGEdges</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy & getStoreCGEdges()</div><div class="ttdoc">Get Store edges.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#
|
|
3134
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a61ef90be6ccc01634e5440f22a0f746e"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a61ef90be6ccc01634e5440f22a0f746e">SVF::ConstraintGraph::getStoreCGEdges</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy & getStoreCGEdges()</div><div class="ttdoc">Get Store edges.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00211">ConsG.h:211</a></div></div>
|
|
3088
3135
|
<div class="ttc" id="aclassSVF_1_1CallPE_html"><div class="ttname"><a href="classSVF_1_1CallPE.html">SVF::CallPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00558">SVFStatements.h:558</a></div></div>
|
|
3089
3136
|
<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>
|
|
3090
3137
|
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_aa8b09f64c6e4bbd081c6062a1a0e8948"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aa8b09f64c6e4bbd081c6062a1a0e8948">SVF::ConstraintGraph::pag</a></div><div class="ttdeci">SVFIR * pag</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00055">ConsG.h:55</a></div></div>
|
|
3091
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_aa4bca2422049413439cb0c3400f2ce28"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aa4bca2422049413439cb0c3400f2ce28">SVF::ConstraintGraph::removeLoadEdge</a></div><div class="ttdeci">void removeLoadEdge(LoadCGEdge *edge)</div><div class="ttdoc">Remove load edge from their src and dst edge sets.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#
|
|
3138
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_aa4bca2422049413439cb0c3400f2ce28"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aa4bca2422049413439cb0c3400f2ce28">SVF::ConstraintGraph::removeLoadEdge</a></div><div class="ttdeci">void removeLoadEdge(LoadCGEdge *edge)</div><div class="ttdoc">Remove load edge from their src and dst edge sets.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00421">ConsG.cpp:421</a></div></div>
|
|
3092
3139
|
<div class="ttc" id="aclassSVF_1_1GenericEdge_html_ad9edb45e74ae675d9da82f5acf02d56e"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">SVF::GenericEdge::getDstID</a></div><div class="ttdeci">NodeID getDstID() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00085">GenericGraph.h:85</a></div></div>
|
|
3093
3140
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a0a8831a5429005ff9d71adbd6bf3994f"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">SVF::GenericGraph< ConstraintNode, ConstraintEdge >::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>
|
|
3094
3141
|
<div class="ttc" id="anamespaceSVF_html_a4582a7d33a5631a5a38973f50035327e"><div class="ttname"><a href="namespaceSVF.html#a4582a7d33a5631a5a38973f50035327e">SVF::ViewGraph</a></div><div class="ttdeci">void ViewGraph(const GraphType &G, const std::string &name, bool ShortNames=false, GraphProgram::Name Program=GraphProgram::DOT)</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00371">GraphWriter.h:371</a></div></div>
|
|
@@ -3096,9 +3143,9 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3096
3143
|
<div class="ttc" id="aclassSVF_1_1AssignStmt_html_a4cec89489e82c60c287cae3327f3f01d"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">SVF::AssignStmt::getRHSVarID</a></div><div class="ttdeci">NodeID getRHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00298">SVFStatements.h:298</a></div></div>
|
|
3097
3144
|
<div class="ttc" id="aclassSVF_1_1CopyCGEdge_html"><div class="ttname"><a href="classSVF_1_1CopyCGEdge.html">SVF::CopyCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00124">ConsGEdge.h:124</a></div></div>
|
|
3098
3145
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a1817b65e76052f11e36a67d6b9efd915"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a1817b65e76052f11e36a67d6b9efd915">SVF::GenericGraph< ConstraintNode, ConstraintEdge >::removeGNode</a></div><div class="ttdeci">void removeGNode(NodeType *node)</div><div class="ttdoc">Delete a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00421">GenericGraph.h:421</a></div></div>
|
|
3099
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_af790af4146197682dd4f9abfad1434f6"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#af790af4146197682dd4f9abfad1434f6">SVF::ConstraintGraph::isZeroOffsettedGepCGEdge</a></div><div class="ttdeci">bool isZeroOffsettedGepCGEdge(ConstraintEdge *edge) const</div><div class="ttdoc">Check if a given edge is a NormalGepCGEdge with 0 offset.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#
|
|
3146
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_af790af4146197682dd4f9abfad1434f6"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#af790af4146197682dd4f9abfad1434f6">SVF::ConstraintGraph::isZeroOffsettedGepCGEdge</a></div><div class="ttdeci">bool isZeroOffsettedGepCGEdge(ConstraintEdge *edge) const</div><div class="ttdoc">Check if a given edge is a NormalGepCGEdge with 0 offset.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00294">ConsG.h:294</a></div></div>
|
|
3100
3147
|
<div class="ttc" id="aclassSVF_1_1TDJoinPE_html"><div class="ttname"><a href="classSVF_1_1TDJoinPE.html">SVF::TDJoinPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01238">SVFStatements.h:1238</a></div></div>
|
|
3101
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_afb849d8f3425ff36497d062ecefd2cc1"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#afb849d8f3425ff36497d062ecefd2cc1">SVF::ConstraintGraph::getLoadCGEdges</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy & getLoadCGEdges()</div><div class="ttdoc">Get Load edges.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#
|
|
3148
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_afb849d8f3425ff36497d062ecefd2cc1"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#afb849d8f3425ff36497d062ecefd2cc1">SVF::ConstraintGraph::getLoadCGEdges</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy & getLoadCGEdges()</div><div class="ttdoc">Get Load edges.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00206">ConsG.h:206</a></div></div>
|
|
3102
3149
|
<div class="ttc" id="aclassSVF_1_1GenericEdge_html_ae6792506a0150a9400d635eceab7f9e7"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::GenericEdge::getSrcID</a></div><div class="ttdeci">NodeID getSrcID() const</div><div class="ttdoc">get methods of the components</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00081">GenericGraph.h:81</a></div></div>
|
|
3103
3150
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a77a6bb9335aa12d29825af1b5ea07e08"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">SVF::SVFIR::getBaseObjVar</a></div><div class="ttdeci">NodeID getBaseObjVar(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00443">SVFIR.h:443</a></div></div>
|
|
3104
3151
|
<div class="ttc" id="aclassSVF_1_1StoreStmt_html"><div class="ttname"><a href="classSVF_1_1StoreStmt.html">SVF::StoreStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00400">SVFStatements.h:400</a></div></div>
|
|
@@ -3107,19 +3154,21 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3107
3154
|
<div class="ttc" id="aclassSVF_1_1ConstraintNode_html_a73b8c0967cde518a2ea7dfea2a7dc32f"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a73b8c0967cde518a2ea7dfea2a7dc32f">SVF::ConstraintNode::removeOutgoingDirectEdge</a></div><div class="ttdeci">bool removeOutgoingDirectEdge(ConstraintEdge *outEdge)</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00323">ConsGNode.h:323</a></div></div>
|
|
3108
3155
|
<div class="ttc" id="aPAGGrammar_8txt_html_a1181f56ceed612b4d77df931fa4dfaa9"><div class="ttname"><a href="PAGGrammar_8txt.html#a1181f56ceed612b4d77df931fa4dfaa9">vgep</a></div><div class="ttdeci">copy vgep</div><div class="ttdef"><b>Definition:</b> <a href="PAGGrammar_8txt_source.html#l00009">PAGGrammar.txt:9</a></div></div>
|
|
3109
3156
|
<div class="ttc" id="aclassSVF_1_1AccessPath_html"><div class="ttname"><a href="classSVF_1_1AccessPath.html">SVF::AccessPath</a></div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00052">AccessPath.h:52</a></div></div>
|
|
3110
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a26722666cc8f2fce61bed73f086a0e87"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">SVF::ConstraintGraph::getConstraintNode</a></div><div class="ttdeci">ConstraintNode * getConstraintNode(NodeID id) const</div><div class="ttdoc">Get/add/remove constraint node.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#
|
|
3157
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a26722666cc8f2fce61bed73f086a0e87"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">SVF::ConstraintGraph::getConstraintNode</a></div><div class="ttdeci">ConstraintNode * getConstraintNode(NodeID id) const</div><div class="ttdoc">Get/add/remove constraint node.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00109">ConsG.h:109</a></div></div>
|
|
3111
3158
|
<div class="ttc" id="aclassSVF_1_1GepStmt_html_a6c74f234a6b40bc5292bb14874c2e600"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">SVF::GepStmt::getAccessPath</a></div><div class="ttdeci">const AccessPath & getAccessPath() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00504">SVFStatements.h:504</a></div></div>
|
|
3112
3159
|
<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>
|
|
3113
3160
|
<div class="ttc" id="aclassSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">SVF::SVFStmt::ThreadJoin</a></div><div class="ttdeci">@ ThreadJoin</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00077">SVFStatements.h:77</a></div></div>
|
|
3114
3161
|
<div class="ttc" id="aclassSVF_1_1ConstraintEdge_html_a663af27955ba0c545f34fa1f076b7375ae5df3ce07dd670b48916f7b8ab33ae5a"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375ae5df3ce07dd670b48916f7b8ab33ae5a">SVF::ConstraintEdge::VariantGep</a></div><div class="ttdeci">@ VariantGep</div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00056">ConsGEdge.h:56</a></div></div>
|
|
3115
3162
|
<div class="ttc" id="aclassSVF_1_1LoadCGEdge_html"><div class="ttname"><a href="classSVF_1_1LoadCGEdge.html">SVF::LoadCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00191">ConsGEdge.h:191</a></div></div>
|
|
3116
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_aaae56afed424f7cd59fddb3fcb2f7214"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aaae56afed424f7cd59fddb3fcb2f7214">SVF::ConstraintGraph::reTargetSrcOfEdge</a></div><div class="ttdeci">void reTargetSrcOfEdge(ConstraintEdge *edge, ConstraintNode *newSrcNode)</div><div class="ttdoc">Remove edge from old src target, change edge dst id and add modified edge into new src.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#
|
|
3163
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_aaae56afed424f7cd59fddb3fcb2f7214"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aaae56afed424f7cd59fddb3fcb2f7214">SVF::ConstraintGraph::reTargetSrcOfEdge</a></div><div class="ttdeci">void reTargetSrcOfEdge(ConstraintEdge *edge, ConstraintNode *newSrcNode)</div><div class="ttdoc">Remove edge from old src target, change edge dst id and add modified edge into new src.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00367">ConsG.cpp:367</a></div></div>
|
|
3117
3164
|
<div class="ttc" id="aclassSVF_1_1ConstraintNode_html_a24ef3eedb218283d106eceb8a73ca1b4"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a24ef3eedb218283d106eceb8a73ca1b4">SVF::ConstraintNode::removeOutgoingStoreEdge</a></div><div class="ttdeci">bool removeOutgoingStoreEdge(StoreCGEdge *outEdge)</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00367">ConsGNode.h:367</a></div></div>
|
|
3118
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_aad3d05c949c33a587b3ac6d627f5a0a2"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aad3d05c949c33a587b3ac6d627f5a0a2">SVF::ConstraintGraph::removeStoreEdge</a></div><div class="ttdeci">void removeStoreEdge(StoreCGEdge *edge)</div><div class="ttdoc">Remove store edge from their src and dst edge sets.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#
|
|
3165
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_aad3d05c949c33a587b3ac6d627f5a0a2"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aad3d05c949c33a587b3ac6d627f5a0a2">SVF::ConstraintGraph::removeStoreEdge</a></div><div class="ttdeci">void removeStoreEdge(StoreCGEdge *edge)</div><div class="ttdoc">Remove store edge from their src and dst edge sets.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00434">ConsG.cpp:434</a></div></div>
|
|
3166
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a65c96cdd904e4240fbc7a044f89b91a1"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a65c96cdd904e4240fbc7a044f89b91a1">SVF::ConstraintGraph::clearSolitaries</a></div><div class="ttdeci">void clearSolitaries()</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00149">ConsG.cpp:149</a></div></div>
|
|
3119
3167
|
<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>
|
|
3120
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a56cfcc39637cf5208f65297a63dde266"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a56cfcc39637cf5208f65297a63dde266">SVF::ConstraintGraph::addAddrCGEdge</a></div><div class="ttdeci">AddrCGEdge * addAddrCGEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add a SVFIR edge into Edge map.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#
|
|
3168
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a56cfcc39637cf5208f65297a63dde266"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a56cfcc39637cf5208f65297a63dde266">SVF::ConstraintGraph::addAddrCGEdge</a></div><div class="ttdeci">AddrCGEdge * addAddrCGEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add a SVFIR edge into Edge map.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00190">ConsG.cpp:190</a></div></div>
|
|
3169
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a9e21bc9b86080b4059f0907e9a7b33f3"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a9e21bc9b86080b4059f0907e9a7b33f3">SVF::ConstraintGraph::removeConstraintNode</a></div><div class="ttdeci">void removeConstraintNode(ConstraintNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00123">ConsG.h:123</a></div></div>
|
|
3121
3170
|
<div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_a0441f2646fed28830439c41a0704ed4b"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a0441f2646fed28830439c41a0704ed4b">SVF::MultiOpndStmt::getOpndVars</a></div><div class="ttdeci">const OPVars & getOpndVars() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00742">SVFStatements.h:742</a></div></div>
|
|
3122
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a6902cabb252b1eaadb3c8220b4581a2f"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a6902cabb252b1eaadb3c8220b4581a2f">SVF::ConstraintGraph::addVariantGepCGEdge</a></div><div class="ttdeci">VariantGepCGEdge * addVariantGepCGEdge(NodeID src, NodeID dst)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#
|
|
3171
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a6902cabb252b1eaadb3c8220b4581a2f"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a6902cabb252b1eaadb3c8220b4581a2f">SVF::ConstraintGraph::addVariantGepCGEdge</a></div><div class="ttdeci">VariantGepCGEdge * addVariantGepCGEdge(NodeID src, NodeID dst)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00255">ConsG.cpp:255</a></div></div>
|
|
3123
3172
|
<div class="ttc" id="aclassSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9ad3469cdfb64f05163b5310b731b221da"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad3469cdfb64f05163b5310b731b221da">SVF::SVFStmt::Copy</a></div><div class="ttdeci">@ Copy</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00064">SVFStatements.h:64</a></div></div>
|
|
3124
3173
|
<div class="ttc" id="aclassSVF_1_1ConstraintNode_html_a202193059dd3122d969561080b82c504"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a202193059dd3122d969561080b82c504">SVF::ConstraintNode::addIncomingStoreEdge</a></div><div class="ttdeci">void addIncomingStoreEdge(StoreCGEdge *inEdge)</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00257">ConsGNode.h:257</a></div></div>
|
|
3125
3174
|
<div class="ttc" id="aclassSVF_1_1IRGraph_html_a3ce34b9fcb651689bce44ab48fbcdff0"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a3ce34b9fcb651689bce44ab48fbcdff0">SVF::IRGraph::getBlackHoleNode</a></div><div class="ttdeci">NodeID getBlackHoleNode() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00162">IRGraph.h:162</a></div></div>
|
|
@@ -3132,38 +3181,38 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3132
3181
|
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a1973126243ff619033a78a3782944278"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a1973126243ff619033a78a3782944278">SVF::ConstraintGraph::buildCG</a></div><div class="ttdeci">void buildCG()</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00040">ConsG.cpp:40</a></div></div>
|
|
3133
3182
|
<div class="ttc" id="aclassSVF_1_1ConstraintEdge_html_a663af27955ba0c545f34fa1f076b7375a1bdeb9a06641d16b43391120812b40b2"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a1bdeb9a06641d16b43391120812b40b2">SVF::ConstraintEdge::Load</a></div><div class="ttdeci">@ Load</div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00056">ConsGEdge.h:56</a></div></div>
|
|
3134
3183
|
<div class="ttc" id="aclassSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9ad9397ec243a61992dc2b5681bea587fa"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad9397ec243a61992dc2b5681bea587fa">SVF::SVFStmt::Select</a></div><div class="ttdeci">@ Select</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00071">SVFStatements.h:71</a></div></div>
|
|
3135
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_ad7196d5f05192d9468ee0ca93b6b66ee"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#ad7196d5f05192d9468ee0ca93b6b66ee">SVF::ConstraintGraph::getDirectCGEdges</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy & getDirectCGEdges()</div><div class="ttdoc">Get Copy/call/ret/gep edges.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#
|
|
3184
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_ad7196d5f05192d9468ee0ca93b6b66ee"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#ad7196d5f05192d9468ee0ca93b6b66ee">SVF::ConstraintGraph::getDirectCGEdges</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy & getDirectCGEdges()</div><div class="ttdoc">Get Copy/call/ret/gep edges.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00201">ConsG.h:201</a></div></div>
|
|
3136
3185
|
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_ab1b5ee9202bd9f5d738f9850b42a45d2"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#ab1b5ee9202bd9f5d738f9850b42a45d2">SVF::ConstraintGraph::nodeToRepMap</a></div><div class="ttdeci">NodeToRepMap nodeToRepMap</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00056">ConsG.h:56</a></div></div>
|
|
3137
3186
|
<div class="ttc" id="aclassSVF_1_1ConstraintNode_html_aa95df9972daaf3a2f92480a5fdc5b3a1"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#aa95df9972daaf3a2f92480a5fdc5b3a1">SVF::ConstraintNode::addOutgoingLoadEdge</a></div><div class="ttdeci">bool addOutgoingLoadEdge(LoadCGEdge *outEdge)</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00276">ConsGNode.h:276</a></div></div>
|
|
3138
3187
|
<div class="ttc" id="aclassSVF_1_1ConstraintNode_html_aeff08dd512d0a97fb14069b37386e9fe"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#aeff08dd512d0a97fb14069b37386e9fe">SVF::ConstraintNode::addIncomingAddrEdge</a></div><div class="ttdeci">void addIncomingAddrEdge(AddrCGEdge *inEdge)</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00247">ConsGNode.h:247</a></div></div>
|
|
3139
|
-
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph
|
|
3188
|
+
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00406">GenericGraph.h:406</a></div></div>
|
|
3140
3189
|
<div class="ttc" id="aclassSVF_1_1GepStmt_html"><div class="ttname"><a href="classSVF_1_1GepStmt.html">SVF::GepStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00474">SVFStatements.h:474</a></div></div>
|
|
3141
3190
|
<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>
|
|
3142
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a633666953f8d6675961981c4eab1adb0"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a633666953f8d6675961981c4eab1adb0">SVF::ConstraintGraph::addStoreCGEdge</a></div><div class="ttdeci">StoreCGEdge * addStoreCGEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add Store edge.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#
|
|
3191
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a633666953f8d6675961981c4eab1adb0"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a633666953f8d6675961981c4eab1adb0">SVF::ConstraintGraph::addStoreCGEdge</a></div><div class="ttdeci">StoreCGEdge * addStoreCGEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add Store edge.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00297">ConsG.cpp:297</a></div></div>
|
|
3143
3192
|
<div class="ttc" id="aclassSVF_1_1ConstraintNode_html_a7d810ec9abc8817a938a557ac78dc8c0"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a7d810ec9abc8817a938a557ac78dc8c0">SVF::ConstraintNode::removeOutgoingLoadEdge</a></div><div class="ttdeci">bool removeOutgoingLoadEdge(LoadCGEdge *outEdge)</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00349">ConsGNode.h:349</a></div></div>
|
|
3144
3193
|
<div class="ttc" id="aclassSVF_1_1IRGraph_html_a8b10c318674a47035d617b3ade4f069b"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a8b10c318674a47035d617b3ade4f069b">SVF::IRGraph::getVarargNode</a></div><div class="ttdeci">NodeID getVarargNode(const SVFFunction *func) const</div><div class="ttdoc">getVarargNode - Return the unique node representing the variadic argument of a variadic function.</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00158">IRGraph.h:158</a></div></div>
|
|
3145
3194
|
<div class="ttc" id="aclassSVF_1_1ConstraintNode_html"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html">SVF::ConstraintNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00040">ConsGNode.h:40</a></div></div>
|
|
3146
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a5f57823a4918f6c6bfee9c18beddda51"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">SVF::ConstraintGraph::hasEdge</a></div><div class="ttdeci">bool hasEdge(ConstraintNode *src, ConstraintNode *dst, ConstraintEdge::ConstraintEdgeK kind)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#
|
|
3195
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a5f57823a4918f6c6bfee9c18beddda51"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">SVF::ConstraintGraph::hasEdge</a></div><div class="ttdeci">bool hasEdge(ConstraintNode *src, ConstraintNode *dst, ConstraintEdge::ConstraintEdgeK kind)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00130">ConsG.h:130</a></div></div>
|
|
3147
3196
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00380">GenericGraph.h:380</a></div></div>
|
|
3148
3197
|
<div class="ttc" id="aclassSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVF::SVFStmt::ThreadFork</a></div><div class="ttdeci">@ ThreadFork</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00076">SVFStatements.h:76</a></div></div>
|
|
3149
3198
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
|
|
3150
3199
|
<div class="ttc" id="aclassSVF_1_1ConstraintNode_html_ab1868f04de44f6fe1e9ac14f3d4ee56b"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#ab1868f04de44f6fe1e9ac14f3d4ee56b">SVF::ConstraintNode::const_iterator</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00045">ConsGNode.h:45</a></div></div>
|
|
3151
3200
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a6885064afa211958af7b73f0233284e5"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">SVF::GenericGraph< ConstraintNode, ConstraintEdge >::hasGNode</a></div><div class="ttdeci">bool hasGNode(NodeID id) const</div><div class="ttdoc">Has a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00414">GenericGraph.h:414</a></div></div>
|
|
3152
3201
|
<div class="ttc" id="aclassSVF_1_1StoreCGEdge_html"><div class="ttname"><a href="classSVF_1_1StoreCGEdge.html">SVF::StoreCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00157">ConsGEdge.h:157</a></div></div>
|
|
3153
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a1e5a23fbd08cf4186775baffbd6a7934"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a1e5a23fbd08cf4186775baffbd6a7934">SVF::ConstraintGraph::addLoadCGEdge</a></div><div class="ttdeci">LoadCGEdge * addLoadCGEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add Load edge.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#
|
|
3202
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a1e5a23fbd08cf4186775baffbd6a7934"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a1e5a23fbd08cf4186775baffbd6a7934">SVF::ConstraintGraph::addLoadCGEdge</a></div><div class="ttdeci">LoadCGEdge * addLoadCGEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add Load edge.</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00276">ConsG.cpp:276</a></div></div>
|
|
3154
3203
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_ae18425df0631aefca7dd4b799f6f524a"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ae18425df0631aefca7dd4b799f6f524a">SVF::SVFIR::getGepObjVar</a></div><div class="ttdeci">NodeID getGepObjVar(const MemObj *obj, const APOffset &ap)</div><div class="ttdoc">Get a field SVFIR Object node according to base mem obj and offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00422">SVFIR.cpp:422</a></div></div>
|
|
3155
3204
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph< SVFVar, SVFStmt >::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00359">GenericGraph.h:359</a></div></div>
|
|
3156
3205
|
<div class="ttc" id="aclassSVF_1_1AddrCGEdge_html"><div class="ttname"><a href="classSVF_1_1AddrCGEdge.html">SVF::AddrCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00093">ConsGEdge.h:93</a></div></div>
|
|
3157
3206
|
<div class="ttc" id="aclassSVF_1_1GraphPrinter_html_a014217fb0d05c8f2a2f1a6c5b19d3e10"><div class="ttname"><a href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">SVF::GraphPrinter::WriteGraphToFile</a></div><div class="ttdeci">static void WriteGraphToFile(SVF::OutStream &O, const std::string &GraphName, const GraphType &GT, bool simple=false)</div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00056">GraphPrinter.h:56</a></div></div>
|
|
3158
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_aa436aac95be84d1946169f4984deae59"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aa436aac95be84d1946169f4984deae59">SVF::ConstraintGraph::moveOutEdgesToRepNode</a></div><div class="ttdeci">bool moveOutEdgesToRepNode(ConstraintNode *node, ConstraintNode *rep)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#
|
|
3207
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_aa436aac95be84d1946169f4984deae59"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aa436aac95be84d1946169f4984deae59">SVF::ConstraintGraph::moveOutEdgesToRepNode</a></div><div class="ttdeci">bool moveOutEdgesToRepNode(ConstraintNode *node, ConstraintNode *rep)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00520">ConsG.cpp:520</a></div></div>
|
|
3159
3208
|
<div class="ttc" id="acJSON_8cpp_html_a7669ee67a0563250c1efaa24d130e1ac"><div class="ttname"><a href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a></div><div class="ttdeci">copy</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00414">cJSON.cpp:414</a></div></div>
|
|
3160
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a4dd7feb1ed62883dd35ced962ba6b59e"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a4dd7feb1ed62883dd35ced962ba6b59e">SVF::ConstraintGraph::getPAGEdgeSet</a></div><div class="ttdeci">SVFStmt::SVFStmtSetTy & getPAGEdgeSet(SVFStmt::PEDGEK kind)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#
|
|
3209
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a4dd7feb1ed62883dd35ced962ba6b59e"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a4dd7feb1ed62883dd35ced962ba6b59e">SVF::ConstraintGraph::getPAGEdgeSet</a></div><div class="ttdeci">SVFStmt::SVFStmtSetTy & getPAGEdgeSet(SVFStmt::PEDGEK kind)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00072">ConsG.h:72</a></div></div>
|
|
3161
3210
|
<div class="ttc" id="aclassSVF_1_1TDForkPE_html"><div class="ttname"><a href="classSVF_1_1TDForkPE.html">SVF::TDForkPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01197">SVFStatements.h:1197</a></div></div>
|
|
3162
3211
|
<div class="ttc" id="aclassSVF_1_1ConstraintEdge_html_a663af27955ba0c545f34fa1f076b7375aed68bc43e8aae49e8590e140eb0ffaf3"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375aed68bc43e8aae49e8590e140eb0ffaf3">SVF::ConstraintEdge::Addr</a></div><div class="ttdeci">@ Addr</div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00056">ConsGEdge.h:56</a></div></div>
|
|
3163
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_aad6c37476edfd9ae92dc8c0d004d782d"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aad6c37476edfd9ae92dc8c0d004d782d">SVF::ConstraintGraph::hasConstraintNode</a></div><div class="ttdeci">bool hasConstraintNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#
|
|
3212
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_aad6c37476edfd9ae92dc8c0d004d782d"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aad6c37476edfd9ae92dc8c0d004d782d">SVF::ConstraintGraph::hasConstraintNode</a></div><div class="ttdeci">bool hasConstraintNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00118">ConsG.h:118</a></div></div>
|
|
3164
3213
|
<div class="ttc" id="aclassSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00302">SVFStatements.h:302</a></div></div>
|
|
3165
3214
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a7276e82b4648ed0e1b3d1b8b37b24089"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a7276e82b4648ed0e1b3d1b8b37b24089">SVF::SVFIR::getAllFieldsObjVars</a></div><div class="ttdeci">NodeBS & getAllFieldsObjVars(const MemObj *obj)</div><div class="ttdoc">Get all fields of an object.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00477">SVFIR.cpp:477</a></div></div>
|
|
3166
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a081bf1238121eb52a0c9ad60f77ecbcd"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a081bf1238121eb52a0c9ad60f77ecbcd">SVF::ConstraintGraph::moveInEdgesToRepNode</a></div><div class="ttdeci">bool moveInEdgesToRepNode(ConstraintNode *node, ConstraintNode *rep)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#
|
|
3215
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a081bf1238121eb52a0c9ad60f77ecbcd"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a081bf1238121eb52a0c9ad60f77ecbcd">SVF::ConstraintGraph::moveInEdgesToRepNode</a></div><div class="ttdeci">bool moveInEdgesToRepNode(ConstraintNode *node, ConstraintNode *rep)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00462">ConsG.cpp:462</a></div></div>
|
|
3167
3216
|
<div class="ttc" id="aclassSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">SVF::SVFStmt::Store</a></div><div class="ttdeci">@ Store</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00065">SVFStatements.h:65</a></div></div>
|
|
3168
3217
|
<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>
|
|
3169
3218
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_ad9895f2d075eb402390e3b01ed68e001"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ad9895f2d075eb402390e3b01ed68e001">SVF::SVFIR::isBlkObjOrConstantObj</a></div><div class="ttdeci">bool isBlkObjOrConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00422">SVFIR.h:422</a></div></div>
|
|
@@ -3182,9 +3231,9 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3182
3231
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_af76a55c3b8255a81a566bdce35ffc749"><div class="ttname"><a href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">SVF::SVFIR::getBaseObj</a></div><div class="ttdeci">const MemObj * getBaseObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00447">SVFIR.h:447</a></div></div>
|
|
3183
3232
|
<div class="ttc" id="aclassSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">SVF::SVFStmt::Load</a></div><div class="ttdeci">@ Load</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00066">SVFStatements.h:66</a></div></div>
|
|
3184
3233
|
<div class="ttc" id="aclassSVF_1_1VariantGepCGEdge_html"><div class="ttname"><a href="classSVF_1_1VariantGepCGEdge.html">SVF::VariantGepCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00319">ConsGEdge.h:319</a></div></div>
|
|
3185
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a5ea9c47d232f36b66d985f979f33293b"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a5ea9c47d232f36b66d985f979f33293b">SVF::ConstraintGraph::addConstraintNode</a></div><div class="ttdeci">void addConstraintNode(ConstraintNode *node, NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#
|
|
3234
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a5ea9c47d232f36b66d985f979f33293b"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a5ea9c47d232f36b66d985f979f33293b">SVF::ConstraintGraph::addConstraintNode</a></div><div class="ttdeci">void addConstraintNode(ConstraintNode *node, NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00114">ConsG.h:114</a></div></div>
|
|
3186
3235
|
<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>
|
|
3187
|
-
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a77ba38543b1ee164f1ae95589d5dbc44"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a77ba38543b1ee164f1ae95589d5dbc44">SVF::ConstraintGraph::destroy</a></div><div class="ttdeci">void destroy()</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#
|
|
3236
|
+
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a77ba38543b1ee164f1ae95589d5dbc44"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a77ba38543b1ee164f1ae95589d5dbc44">SVF::ConstraintGraph::destroy</a></div><div class="ttdeci">void destroy()</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00168">ConsG.cpp:168</a></div></div>
|
|
3188
3237
|
<div class="ttc" id="aclassSVF_1_1ConstraintNode_html_ad54cc825bb7f5642671e75b90b2633a2"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#ad54cc825bb7f5642671e75b90b2633a2">SVF::ConstraintNode::addIncomingCopyEdge</a></div><div class="ttdeci">void addIncomingCopyEdge(CopyCGEdge *inEdge)</div><div class="ttdoc">Add constraint graph edges.</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00227">ConsGNode.h:227</a></div></div>
|
|
3189
3238
|
<!-- start footer part -->
|
|
3190
3239
|
<hr class="footer"/><address class="footer"><small>
|