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
|
@@ -172,7 +172,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
172
172
|
</table>
|
|
173
173
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
174
174
|
<div class="textblock">
|
|
175
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
175
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00725">725</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
176
176
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
177
177
|
<a id="a94e74890f433758f3a38238f59400a3f"></a>
|
|
178
178
|
<h2 class="memtitle"><span class="permalink"><a href="#a94e74890f433758f3a38238f59400a3f">◆ </a></span>NodeType</h2>
|
|
@@ -186,7 +186,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
186
186
|
</table>
|
|
187
187
|
</div><div class="memdoc">
|
|
188
188
|
|
|
189
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
189
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00728">728</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
190
190
|
|
|
191
191
|
</div>
|
|
192
192
|
</div>
|
|
@@ -215,11 +215,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
215
215
|
</table>
|
|
216
216
|
</div><div class="memdoc">
|
|
217
217
|
|
|
218
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
219
|
-
<div class="fragment"><div class="line"><a name="
|
|
220
|
-
<div class="line"><a name="
|
|
221
|
-
<div class="line"><a name="
|
|
222
|
-
<div class="line"><a name="
|
|
218
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00729">729</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
219
|
+
<div class="fragment"><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  :</div>
|
|
220
|
+
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  <a class="code" href="structSVF_1_1DOTGraphTraits.html">DOTGraphTraits<SVFIR*></a>(<a class="code" href="structSVF_1_1DefaultDOTGraphTraits.html#acc82bc6228128e5bb98a6b00d6dc5f77">isSimple</a>)</div>
|
|
221
|
+
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  {</div>
|
|
222
|
+
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  }</div>
|
|
223
223
|
</div><!-- fragment -->
|
|
224
224
|
</div>
|
|
225
225
|
</div>
|
|
@@ -266,37 +266,37 @@ template<class EdgeIter > </div>
|
|
|
266
266
|
</table>
|
|
267
267
|
</div><div class="memdoc">
|
|
268
268
|
|
|
269
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
270
|
-
<div class="fragment"><div class="line"><a name="
|
|
271
|
-
<div class="line"><a name="
|
|
272
|
-
<div class="line"><a name="
|
|
273
|
-
<div class="line"><a name="
|
|
274
|
-
<div class="line"><a name="
|
|
275
|
-
<div class="line"><a name="
|
|
276
|
-
<div class="line"><a name="
|
|
277
|
-
<div class="line"><a name="
|
|
278
|
-
<div class="line"><a name="
|
|
279
|
-
<div class="line"><a name="
|
|
280
|
-
<div class="line"><a name="
|
|
281
|
-
<div class="line"><a name="
|
|
282
|
-
<div class="line"><a name="
|
|
283
|
-
<div class="line"><a name="
|
|
284
|
-
<div class="line"><a name="
|
|
285
|
-
<div class="line"><a name="
|
|
286
|
-
<div class="line"><a name="
|
|
287
|
-
<div class="line"><a name="
|
|
288
|
-
<div class="line"><a name="
|
|
289
|
-
<div class="line"><a name="
|
|
290
|
-
<div class="line"><a name="
|
|
291
|
-
<div class="line"><a name="
|
|
292
|
-
<div class="line"><a name="
|
|
293
|
-
<div class="line"><a name="
|
|
294
|
-
<div class="line"><a name="
|
|
295
|
-
<div class="line"><a name="
|
|
296
|
-
<div class="line"><a name="
|
|
297
|
-
<div class="line"><a name="
|
|
298
|
-
<div class="line"><a name="
|
|
299
|
-
<div class="line"><a name="
|
|
269
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00820">820</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
270
|
+
<div class="fragment"><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  {</div>
|
|
271
|
+
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* edge = *(EI.getCurrent());</div>
|
|
272
|
+
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  assert(edge && <span class="stringliteral">"No edge found!!"</span>);</div>
|
|
273
|
+
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375aed68bc43e8aae49e8590e140eb0ffaf3">ConstraintEdge::Addr</a>)</div>
|
|
274
|
+
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  {</div>
|
|
275
|
+
<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>  <span class="keywordflow">return</span> <span class="stringliteral">"color=green"</span>;</div>
|
|
276
|
+
<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  }</div>
|
|
277
|
+
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a29b0aa3353f866ef1655ab6d4716feb9">ConstraintEdge::Copy</a>)</div>
|
|
278
|
+
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  {</div>
|
|
279
|
+
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  <span class="keywordflow">return</span> <span class="stringliteral">"color=black"</span>;</div>
|
|
280
|
+
<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  }</div>
|
|
281
|
+
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375acfd0a194af0da66162545f0089eb4baa">ConstraintEdge::NormalGep</a></div>
|
|
282
|
+
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  || edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375ae5df3ce07dd670b48916f7b8ab33ae5a">ConstraintEdge::VariantGep</a>)</div>
|
|
283
|
+
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  {</div>
|
|
284
|
+
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  <span class="keywordflow">return</span> <span class="stringliteral">"color=purple"</span>;</div>
|
|
285
|
+
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  }</div>
|
|
286
|
+
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a20d6a102ddc06257a822ffffcc5a3b47">ConstraintEdge::Store</a>)</div>
|
|
287
|
+
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  {</div>
|
|
288
|
+
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <span class="keywordflow">return</span> <span class="stringliteral">"color=blue"</span>;</div>
|
|
289
|
+
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  }</div>
|
|
290
|
+
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a1bdeb9a06641d16b43391120812b40b2">ConstraintEdge::Load</a>)</div>
|
|
291
|
+
<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  {</div>
|
|
292
|
+
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  <span class="keywordflow">return</span> <span class="stringliteral">"color=red"</span>;</div>
|
|
293
|
+
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  }</div>
|
|
294
|
+
<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <span class="keywordflow">else</span></div>
|
|
295
|
+
<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  {</div>
|
|
296
|
+
<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  assert(0 && <span class="stringliteral">"No such kind edge!!"</span>);</div>
|
|
297
|
+
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  }</div>
|
|
298
|
+
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div>
|
|
299
|
+
<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  }</div>
|
|
300
300
|
</div><!-- fragment -->
|
|
301
301
|
</div>
|
|
302
302
|
</div>
|
|
@@ -336,10 +336,10 @@ template<class EdgeIter > </div>
|
|
|
336
336
|
</table>
|
|
337
337
|
</div><div class="memdoc">
|
|
338
338
|
|
|
339
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
340
|
-
<div class="fragment"><div class="line"><a name="
|
|
341
|
-
<div class="line"><a name="
|
|
342
|
-
<div class="line"><a name="
|
|
339
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00853">853</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
340
|
+
<div class="fragment"><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  {</div>
|
|
341
|
+
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div>
|
|
342
|
+
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  }</div>
|
|
343
343
|
</div><!-- fragment -->
|
|
344
344
|
</div>
|
|
345
345
|
</div>
|
|
@@ -369,10 +369,10 @@ template<class EdgeIter > </div>
|
|
|
369
369
|
|
|
370
370
|
<p>Return name of the graph. </p>
|
|
371
371
|
|
|
372
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
373
|
-
<div class="fragment"><div class="line"><a name="
|
|
374
|
-
<div class="line"><a name="
|
|
375
|
-
<div class="line"><a name="
|
|
372
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00735">735</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
373
|
+
<div class="fragment"><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  {</div>
|
|
374
|
+
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  <span class="keywordflow">return</span> <span class="stringliteral">"ConstraintG"</span>;</div>
|
|
375
|
+
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  }</div>
|
|
376
376
|
</div><!-- fragment -->
|
|
377
377
|
</div>
|
|
378
378
|
</div>
|
|
@@ -410,43 +410,43 @@ template<class EdgeIter > </div>
|
|
|
410
410
|
</table>
|
|
411
411
|
</div><div class="memdoc">
|
|
412
412
|
|
|
413
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
414
|
-
<div class="fragment"><div class="line"><a name="
|
|
415
|
-
<div class="line"><a name="
|
|
416
|
-
<div class="line"><a name="
|
|
417
|
-
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  {</div>
|
|
418
|
-
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="keywordflow">if</span>(SVFUtil::isa<GepValVar>(node))</div>
|
|
419
|
-
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=hexagon"</span>;</div>
|
|
420
|
-
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<DummyValVar>(node))</div>
|
|
421
|
-
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=diamond"</span>;</div>
|
|
422
|
-
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <span class="keywordflow">else</span></div>
|
|
423
|
-
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=box"</span>;</div>
|
|
424
|
-
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  }</div>
|
|
425
|
-
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<ObjVar>(node))</div>
|
|
426
|
-
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  {</div>
|
|
427
|
-
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  <span class="keywordflow">if</span>(SVFUtil::isa<GepObjVar>(node))</div>
|
|
428
|
-
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=doubleoctagon"</span>;</div>
|
|
429
|
-
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<FIObjVar>(node))</div>
|
|
430
|
-
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=box3d"</span>;</div>
|
|
431
|
-
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<DummyObjVar>(node))</div>
|
|
432
|
-
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=tab"</span>;</div>
|
|
433
|
-
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  <span class="keywordflow">else</span></div>
|
|
434
|
-
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=component"</span>;</div>
|
|
435
|
-
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  }</div>
|
|
436
|
-
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<RetPN>(node))</div>
|
|
413
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00781">781</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
414
|
+
<div class="fragment"><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  {</div>
|
|
415
|
+
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>->getId());</div>
|
|
416
|
+
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  <span class="keywordflow">if</span> (SVFUtil::isa<ValVar>(node))</div>
|
|
437
417
|
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  {</div>
|
|
438
|
-
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <span class="keywordflow">
|
|
439
|
-
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> 
|
|
440
|
-
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> 
|
|
441
|
-
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> 
|
|
442
|
-
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="keywordflow">
|
|
443
|
-
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> 
|
|
444
|
-
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> 
|
|
445
|
-
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> 
|
|
446
|
-
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> 
|
|
447
|
-
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> 
|
|
448
|
-
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> 
|
|
449
|
-
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> 
|
|
418
|
+
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <span class="keywordflow">if</span>(SVFUtil::isa<GepValVar>(node))</div>
|
|
419
|
+
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=hexagon"</span>;</div>
|
|
420
|
+
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<DummyValVar>(node))</div>
|
|
421
|
+
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=diamond"</span>;</div>
|
|
422
|
+
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="keywordflow">else</span></div>
|
|
423
|
+
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=box"</span>;</div>
|
|
424
|
+
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  }</div>
|
|
425
|
+
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<ObjVar>(node))</div>
|
|
426
|
+
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  {</div>
|
|
427
|
+
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <span class="keywordflow">if</span>(SVFUtil::isa<GepObjVar>(node))</div>
|
|
428
|
+
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=doubleoctagon"</span>;</div>
|
|
429
|
+
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<FIObjVar>(node))</div>
|
|
430
|
+
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=box3d"</span>;</div>
|
|
431
|
+
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<DummyObjVar>(node))</div>
|
|
432
|
+
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=tab"</span>;</div>
|
|
433
|
+
<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <span class="keywordflow">else</span></div>
|
|
434
|
+
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=component"</span>;</div>
|
|
435
|
+
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  }</div>
|
|
436
|
+
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<RetPN>(node))</div>
|
|
437
|
+
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  {</div>
|
|
438
|
+
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=Mrecord"</span>;</div>
|
|
439
|
+
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  }</div>
|
|
440
|
+
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<VarArgPN>(node))</div>
|
|
441
|
+
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  {</div>
|
|
442
|
+
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=octagon"</span>;</div>
|
|
443
|
+
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  }</div>
|
|
444
|
+
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  <span class="keywordflow">else</span></div>
|
|
445
|
+
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  {</div>
|
|
446
|
+
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  assert(0 && <span class="stringliteral">"no such kind!!"</span>);</div>
|
|
447
|
+
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  }</div>
|
|
448
|
+
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div>
|
|
449
|
+
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  }</div>
|
|
450
450
|
</div><!-- fragment -->
|
|
451
451
|
</div>
|
|
452
452
|
</div>
|
|
@@ -485,38 +485,38 @@ template<class EdgeIter > </div>
|
|
|
485
485
|
</div><div class="memdoc">
|
|
486
486
|
<p>Return label of a <a class="el" href="classSVF_1_1VFG.html">VFG</a> node with two display mode Either you can choose to display the name of the value or the whole instruction </p>
|
|
487
487
|
|
|
488
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
489
|
-
<div class="fragment"><div class="line"><a name="
|
|
490
|
-
<div class="line"><a name="
|
|
491
|
-
<div class="line"><a name="
|
|
492
|
-
<div class="line"><a name="
|
|
493
|
-
<div class="line"><a name="
|
|
494
|
-
<div class="line"><a name="
|
|
495
|
-
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  </div>
|
|
496
|
-
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  <span class="keywordflow">if</span> (briefDisplay)</div>
|
|
497
|
-
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  {</div>
|
|
498
|
-
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="keywordflow">if</span> (SVFUtil::isa<ValVar>(node))</div>
|
|
499
|
-
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  {</div>
|
|
500
|
-
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  <span class="keywordflow">if</span> (nameDisplay)</div>
|
|
501
|
-
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  rawstr << node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() << <span class="stringliteral">":"</span> << node-><a class="code" href="classSVF_1_1SVFVar.html#a54b2a5ed3ed21e54eaf04182f0338333">getValueName</a>();</div>
|
|
502
|
-
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <span class="keywordflow">else</span></div>
|
|
503
|
-
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  rawstr << node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
504
|
-
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  }</div>
|
|
505
|
-
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  <span class="keywordflow">else</span></div>
|
|
506
|
-
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  rawstr << node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
507
|
-
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  }</div>
|
|
508
|
-
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  <span class="keywordflow">else</span></div>
|
|
509
|
-
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  {</div>
|
|
510
|
-
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  <span class="comment">// print the whole value</span></div>
|
|
511
|
-
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <span class="keywordflow">if</span> (!SVFUtil::isa<DummyValVar>(node) && !SVFUtil::isa<DummyObjVar>(node))</div>
|
|
512
|
-
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  rawstr << node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() << <span class="stringliteral">":"</span> << node-><a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-><a class="code" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">toString</a>();</div>
|
|
513
|
-
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  <span class="keywordflow">else</span></div>
|
|
514
|
-
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  rawstr << node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() << <span class="stringliteral">":"</span>;</div>
|
|
488
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00748">748</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
489
|
+
<div class="fragment"><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  {</div>
|
|
490
|
+
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>()-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>->getId());</div>
|
|
491
|
+
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <span class="keywordtype">bool</span> briefDisplay = <a class="code" href="classSVF_1_1Options.html#a25a3db9daa81a127a8dad86888adea6c">Options::BriefConsCGDotGraph</a>();</div>
|
|
492
|
+
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  <span class="keywordtype">bool</span> nameDisplay = <span class="keyword">true</span>;</div>
|
|
493
|
+
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
494
|
+
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  std::stringstream rawstr(str);</div>
|
|
515
495
|
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  </div>
|
|
516
|
-
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> 
|
|
517
|
-
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> 
|
|
518
|
-
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> 
|
|
519
|
-
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> 
|
|
496
|
+
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  <span class="keywordflow">if</span> (briefDisplay)</div>
|
|
497
|
+
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  {</div>
|
|
498
|
+
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  <span class="keywordflow">if</span> (SVFUtil::isa<ValVar>(node))</div>
|
|
499
|
+
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  {</div>
|
|
500
|
+
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="keywordflow">if</span> (nameDisplay)</div>
|
|
501
|
+
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  rawstr << node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() << <span class="stringliteral">":"</span> << node-><a class="code" href="classSVF_1_1SVFVar.html#a54b2a5ed3ed21e54eaf04182f0338333">getValueName</a>();</div>
|
|
502
|
+
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="keywordflow">else</span></div>
|
|
503
|
+
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  rawstr << node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
504
|
+
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  }</div>
|
|
505
|
+
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  <span class="keywordflow">else</span></div>
|
|
506
|
+
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  rawstr << node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
507
|
+
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  }</div>
|
|
508
|
+
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  <span class="keywordflow">else</span></div>
|
|
509
|
+
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  {</div>
|
|
510
|
+
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <span class="comment">// print the whole value</span></div>
|
|
511
|
+
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">if</span> (!SVFUtil::isa<DummyValVar>(node) && !SVFUtil::isa<DummyObjVar>(node))</div>
|
|
512
|
+
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  rawstr << node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() << <span class="stringliteral">":"</span> << node-><a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-><a class="code" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">toString</a>();</div>
|
|
513
|
+
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  <span class="keywordflow">else</span></div>
|
|
514
|
+
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  rawstr << node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() << <span class="stringliteral">":"</span>;</div>
|
|
515
|
+
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  </div>
|
|
516
|
+
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  }</div>
|
|
517
|
+
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  </div>
|
|
518
|
+
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <span class="keywordflow">return</span> rawstr.str();</div>
|
|
519
|
+
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  }</div>
|
|
520
520
|
</div><!-- fragment -->
|
|
521
521
|
</div>
|
|
522
522
|
</div>
|
|
@@ -554,11 +554,11 @@ template<class EdgeIter > </div>
|
|
|
554
554
|
</table>
|
|
555
555
|
</div><div class="memdoc">
|
|
556
556
|
|
|
557
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
558
|
-
<div class="fragment"><div class="line"><a name="
|
|
559
|
-
<div class="line"><a name="
|
|
560
|
-
<div class="line"><a name="
|
|
561
|
-
<div class="line"><a name="
|
|
557
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00740">740</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
558
|
+
<div class="fragment"><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  {</div>
|
|
559
|
+
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#adee65a3773fbb98532538c938230e1d3">Options::ShowHiddenNode</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
560
|
+
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="keywordflow">else</span> <span class="keywordflow">return</span> (<a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>->getInEdges().empty() && <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>->getOutEdges().empty());</div>
|
|
561
|
+
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  }</div>
|
|
562
562
|
</div><!-- fragment -->
|
|
563
563
|
</div>
|
|
564
564
|
</div>
|
|
@@ -95,7 +95,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
95
95
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
96
96
|
<div class="textblock"><p><a class="el" href="structSVF_1_1Inverse.html">Inverse</a> <a class="el" href="structSVF_1_1GenericGraphTraits.html">GenericGraphTraits</a> specializations for Value flow node, it is used for inverse traversal. </p>
|
|
97
97
|
|
|
98
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
98
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00399">399</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
99
99
|
</div><hr/>The documentation for this struct was generated from the following file:<ul>
|
|
100
100
|
<li>/home/runner/work/SVF/SVF/svf/include/Graphs/<a class="el" href="ConsG_8h_source.html">ConsG.h</a></li>
|
|
101
101
|
</ul>
|
package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.html
CHANGED
|
@@ -94,7 +94,7 @@ Public Types</h2></td></tr>
|
|
|
94
94
|
</table>
|
|
95
95
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
96
96
|
<div class="textblock">
|
|
97
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
97
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00403">403</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
98
98
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
99
99
|
<a id="a5cb946aa10005bc7605528bd09006090"></a>
|
|
100
100
|
<h2 class="memtitle"><span class="permalink"><a href="#a5cb946aa10005bc7605528bd09006090">◆ </a></span>NodeRef</h2>
|
|
@@ -108,7 +108,7 @@ Public Types</h2></td></tr>
|
|
|
108
108
|
</table>
|
|
109
109
|
</div><div class="memdoc">
|
|
110
110
|
|
|
111
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
111
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00405">405</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
112
112
|
|
|
113
113
|
</div>
|
|
114
114
|
</div>
|
package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.html
CHANGED
|
@@ -91,7 +91,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
91
91
|
</table>
|
|
92
92
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
93
93
|
<div class="textblock">
|
|
94
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#
|
|
94
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8h_source.html#l00393">393</a> of file <a class="el" href="ConsG_8h_source.html">ConsG.h</a>.</p>
|
|
95
95
|
</div><hr/>The documentation for this struct was generated from the following file:<ul>
|
|
96
96
|
<li>/home/runner/work/SVF/SVF/svf/include/Graphs/<a class="el" href="ConsG_8h_source.html">ConsG.h</a></li>
|
|
97
97
|
</ul>
|
package/build.sh
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svf-tools",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.855",
|
|
4
4
|
"description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -75,18 +75,6 @@ public:
|
|
|
75
75
|
|
|
76
76
|
void getNumOfOOBQuery();
|
|
77
77
|
|
|
78
|
-
inline void setMemUsageBefore(u32_t vmrss, u32_t vmsize)
|
|
79
|
-
{
|
|
80
|
-
_vmrssUsageBefore = vmrss;
|
|
81
|
-
_vmsizeUsageBefore = vmsize;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
inline void setMemUsageAfter(u32_t vmrss, u32_t vmsize)
|
|
85
|
-
{
|
|
86
|
-
_vmrssUsageAfter = vmrss;
|
|
87
|
-
_vmsizeUsageAfter = vmsize;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
78
|
private:
|
|
91
79
|
FlowDDA* flowDDA;
|
|
92
80
|
ContextDDA* contextDDA;
|
|
@@ -110,11 +98,6 @@ private:
|
|
|
110
98
|
u32_t _NumOfConstantPtr;
|
|
111
99
|
u32_t _NumOfBlackholePtr;
|
|
112
100
|
|
|
113
|
-
u32_t _vmrssUsageBefore;
|
|
114
|
-
u32_t _vmrssUsageAfter;
|
|
115
|
-
u32_t _vmsizeUsageBefore;
|
|
116
|
-
u32_t _vmsizeUsageAfter;
|
|
117
|
-
|
|
118
101
|
double _AvgNumOfDPMAtSVFGNode;
|
|
119
102
|
u32_t _MaxNumOfDPMAtSVFGNode;
|
|
120
103
|
|
|
@@ -53,11 +53,29 @@ public:
|
|
|
53
53
|
|
|
54
54
|
NodeBS localVarInRecursion;
|
|
55
55
|
|
|
56
|
+
inline void setMemUsageBefore(u32_t vmrss, u32_t vmsize)
|
|
57
|
+
{
|
|
58
|
+
_vmrssUsageBefore = vmrss;
|
|
59
|
+
_vmsizeUsageBefore = vmsize;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
inline void setMemUsageAfter(u32_t vmrss, u32_t vmsize)
|
|
63
|
+
{
|
|
64
|
+
_vmrssUsageAfter = vmrss;
|
|
65
|
+
_vmsizeUsageAfter = vmsize;
|
|
66
|
+
}
|
|
67
|
+
|
|
56
68
|
void performStat() override;
|
|
57
69
|
|
|
58
70
|
void callgraphStat() override;
|
|
59
|
-
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
protected:
|
|
60
74
|
PointerAnalysis* pta;
|
|
75
|
+
u32_t _vmrssUsageBefore;
|
|
76
|
+
u32_t _vmrssUsageAfter;
|
|
77
|
+
u32_t _vmsizeUsageBefore;
|
|
78
|
+
u32_t _vmsizeUsageAfter;
|
|
61
79
|
};
|
|
62
80
|
|
|
63
81
|
} // End namespace SVF
|
package/svf/lib/DDA/DDAStat.cpp
CHANGED
package/svf/lib/Graphs/ConsG.cpp
CHANGED
|
@@ -139,8 +139,28 @@ void ConstraintGraph::buildCG()
|
|
|
139
139
|
StoreStmt* edge = SVFUtil::cast<StoreStmt>(*iter);
|
|
140
140
|
addStoreCGEdge(edge->getRHSVarID(),edge->getLHSVarID());
|
|
141
141
|
}
|
|
142
|
+
|
|
143
|
+
clearSolitaries();
|
|
142
144
|
}
|
|
143
145
|
|
|
146
|
+
/*!
|
|
147
|
+
* Remove nodes that are neither pointers nor connected with any edge
|
|
148
|
+
*/
|
|
149
|
+
void ConstraintGraph::clearSolitaries()
|
|
150
|
+
{
|
|
151
|
+
Set<ConstraintNode*> nodesToRemove;
|
|
152
|
+
for (auto it = this->begin(); it != this->end(); ++it)
|
|
153
|
+
{
|
|
154
|
+
if (it->second->hasIncomingEdge() || it->second->hasOutgoingEdge())
|
|
155
|
+
continue;
|
|
156
|
+
if (pag->getGNode(it->first)->isPointer())
|
|
157
|
+
continue;
|
|
158
|
+
nodesToRemove.insert(it->second);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
for (auto node : nodesToRemove)
|
|
162
|
+
removeConstraintNode(node);
|
|
163
|
+
}
|
|
144
164
|
|
|
145
165
|
/*!
|
|
146
166
|
* Memory has been cleaned up at GenericGraph
|