svf-tools 1.0.901 → 1.0.902
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/AbstractExecution_8cpp_source.html +10 -10
- package/SVF-doxygen/html/AbstractExecution_8h_source.html +2 -2
- package/SVF-doxygen/html/Andersen_8h_source.html +1 -1
- package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +2 -2
- 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 +760 -757
- package/SVF-doxygen/html/ConsG_8h_source.html +19 -19
- package/SVF-doxygen/html/ContextDDA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/FlowDDA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +3 -3
- package/SVF-doxygen/html/ICFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/ICFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/IRGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/MSSAMuChi_8h_source.html +2 -2
- package/SVF-doxygen/html/MemRegion_8cpp_source.html +2 -2
- package/SVF-doxygen/html/MemRegion_8h_source.html +2 -2
- package/SVF-doxygen/html/MemSSA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/MemSSA_8h_source.html +2 -2
- package/SVF-doxygen/html/PAGBuilderFromFile_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +14 -14
- package/SVF-doxygen/html/SVFFileSystem_8h_source.html +14 -14
- package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +60 -60
- package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +9 -9
- package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +216 -206
- package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +14 -14
- package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +35 -35
- package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +800 -804
- package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +59 -59
- package/SVF-doxygen/html/SVFIR_8cpp_source.html +20 -20
- package/SVF-doxygen/html/SVFIR_8h_source.html +197 -197
- package/SVF-doxygen/html/SVFStatements_8cpp_source.html +20 -20
- package/SVF-doxygen/html/SVFStatements_8h_source.html +1001 -953
- package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +7 -7
- package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +2 -2
- package/SVF-doxygen/html/Steensgaard_8h_source.html +1 -1
- package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +485 -483
- package/SVF-doxygen/html/SymbolTableBuilder_8h_source.html +14 -14
- package/SVF-doxygen/html/VFGNode_8h_source.html +10 -10
- package/SVF-doxygen/html/VFG_8cpp_source.html +16 -16
- package/SVF-doxygen/html/VFG_8h_source.html +13 -13
- package/SVF-doxygen/html/ae_8cpp_source.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AbstractExecution.html +15 -15
- package/SVF-doxygen/html/classSVF_1_1AddrCGEdge.html +11 -11
- package/SVF-doxygen/html/classSVF_1_1Andersen.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +68 -68
- package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +51 -51
- package/SVF-doxygen/html/classSVF_1_1BranchVFGNode.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1CSC.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1CallPE.html +35 -35
- package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +97 -97
- package/SVF-doxygen/html/classSVF_1_1ConstraintGraph.html +514 -511
- package/SVF-doxygen/html/classSVF_1_1ConstraintNode.html +28 -28
- package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1CopyStmt-members.html +8 -2
- package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +238 -35
- package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1GepStmt.html +56 -56
- package/SVF-doxygen/html/classSVF_1_1ICFG.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +19 -19
- package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1MemSSA.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1MultiOpndStmt.html +48 -48
- package/SVF-doxygen/html/classSVF_1_1PAGBuilderFromFile.html +15 -15
- package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +46 -46
- package/SVF-doxygen/html/classSVF_1_1RetPE.html +35 -35
- package/SVF-doxygen/html/classSVF_1_1SVFG.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFIR.html +137 -136
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +51 -51
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +197 -187
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +770 -775
- package/SVF-doxygen/html/classSVF_1_1SVFIRReader.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +38 -38
- package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +17 -17
- package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +466 -464
- package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +22 -22
- package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +21 -21
- package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +44 -44
- package/SVF-doxygen/html/classSVF_1_1VFG.html +16 -16
- package/SVF-doxygen/html/functions_func_i.html +28 -10
- package/SVF-doxygen/html/functions_i.html +30 -12
- package/SVF-doxygen/html/functions_l.html +3 -3
- package/SVF-doxygen/html/functions_p.html +15 -11
- package/SVF-doxygen/html/functions_r.html +1 -1
- package/SVF-doxygen/html/functions_s.html +7 -7
- package/SVF-doxygen/html/functions_t.html +3 -3
- package/SVF-doxygen/html/functions_v.html +6 -6
- package/SVF-doxygen/html/functions_w.html +7 -13
- package/SVF-doxygen/html/namespaceSVF.html +1 -1
- package/SVF-doxygen/html/search/all_10.js +326 -326
- package/SVF-doxygen/html/search/all_11.js +226 -226
- package/SVF-doxygen/html/search/all_12.js +574 -574
- package/SVF-doxygen/html/search/all_13.js +208 -208
- package/SVF-doxygen/html/search/all_14.js +73 -73
- package/SVF-doxygen/html/search/all_15.js +176 -176
- package/SVF-doxygen/html/search/all_16.js +77 -77
- 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 +27 -27
- package/SVF-doxygen/html/search/all_1a.js +179 -179
- package/SVF-doxygen/html/search/all_9.js +308 -302
- 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 +204 -204
- package/SVF-doxygen/html/search/all_e.js +209 -209
- package/SVF-doxygen/html/search/all_f.js +122 -122
- package/SVF-doxygen/html/search/classes_0.js +28 -28
- package/SVF-doxygen/html/search/classes_1.js +11 -11
- package/SVF-doxygen/html/search/classes_10.js +74 -74
- package/SVF-doxygen/html/search/classes_11.js +14 -14
- 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 +19 -19
- package/SVF-doxygen/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/search/classes_2.js +73 -73
- package/SVF-doxygen/html/search/classes_3.js +35 -35
- package/SVF-doxygen/html/search/classes_4.js +8 -8
- package/SVF-doxygen/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/search/classes_6.js +98 -98
- package/SVF-doxygen/html/search/classes_7.js +38 -38
- package/SVF-doxygen/html/search/classes_8.js +59 -59
- 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 +19 -19
- 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 +3 -3
- package/SVF-doxygen/html/search/defines_10.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 +3 -3
- 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 +4 -4
- package/SVF-doxygen/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/search/defines_e.js +8 -8
- package/SVF-doxygen/html/search/defines_f.js +4 -4
- package/SVF-doxygen/html/search/enums_0.js +4 -4
- 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 +9 -9
- package/SVF-doxygen/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/search/enums_4.js +4 -4
- 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 +15 -15
- package/SVF-doxygen/html/search/enumvalues_1.js +16 -16
- package/SVF-doxygen/html/search/enumvalues_10.js +36 -36
- package/SVF-doxygen/html/search/enumvalues_11.js +5 -5
- 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 +4 -4
- package/SVF-doxygen/html/search/enumvalues_2.js +37 -37
- 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 +50 -50
- 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 +24 -24
- package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_a.js +17 -17
- 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 +19 -19
- package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_f.js +49 -49
- package/SVF-doxygen/html/search/files_0.js +16 -16
- package/SVF-doxygen/html/search/files_1.js +9 -9
- 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 +53 -53
- 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 +10 -10
- package/SVF-doxygen/html/search/files_7.js +17 -17
- 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 +4 -4
- 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 +368 -368
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +140 -140
- package/SVF-doxygen/html/search/functions_12.js +299 -299
- package/SVF-doxygen/html/search/functions_13.js +73 -73
- package/SVF-doxygen/html/search/functions_14.js +41 -41
- package/SVF-doxygen/html/search/functions_15.js +72 -72
- package/SVF-doxygen/html/search/functions_16.js +38 -38
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +179 -179
- package/SVF-doxygen/html/search/functions_2.js +94 -94
- package/SVF-doxygen/html/search/functions_3.js +261 -261
- package/SVF-doxygen/html/search/functions_4.js +85 -85
- package/SVF-doxygen/html/search/functions_5.js +57 -57
- package/SVF-doxygen/html/search/functions_6.js +65 -65
- package/SVF-doxygen/html/search/functions_7.js +872 -872
- package/SVF-doxygen/html/search/functions_8.js +162 -162
- package/SVF-doxygen/html/search/functions_9.js +446 -440
- 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 +82 -82
- package/SVF-doxygen/html/search/functions_e.js +36 -36
- package/SVF-doxygen/html/search/functions_f.js +58 -58
- 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 +4 -4
- package/SVF-doxygen/html/search/related_1.js +2 -2
- package/SVF-doxygen/html/search/related_2.js +2 -2
- package/SVF-doxygen/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/search/related_7.js +5 -5
- 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 +27 -27
- package/SVF-doxygen/html/search/typedefs_10.js +65 -65
- package/SVF-doxygen/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/search/typedefs_12.js +13 -13
- package/SVF-doxygen/html/search/typedefs_13.js +40 -40
- package/SVF-doxygen/html/search/typedefs_14.js +11 -11
- package/SVF-doxygen/html/search/typedefs_2.js +125 -125
- 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 +42 -42
- package/SVF-doxygen/html/search/typedefs_6.js +54 -54
- package/SVF-doxygen/html/search/typedefs_7.js +47 -47
- 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 +15 -15
- 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 +177 -177
- package/SVF-doxygen/html/search/variables_1.js +77 -77
- package/SVF-doxygen/html/search/variables_10.js +98 -98
- package/SVF-doxygen/html/search/variables_11.js +46 -46
- package/SVF-doxygen/html/search/variables_12.js +93 -93
- package/SVF-doxygen/html/search/variables_13.js +76 -76
- 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 +11 -11
- package/SVF-doxygen/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/search/variables_18.js +17 -17
- package/SVF-doxygen/html/search/variables_2.js +40 -40
- package/SVF-doxygen/html/search/variables_3.js +143 -143
- package/SVF-doxygen/html/search/variables_4.js +51 -51
- package/SVF-doxygen/html/search/variables_5.js +39 -39
- 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 +8 -8
- package/SVF-doxygen/html/search/variables_9.js +79 -79
- 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 +57 -57
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +31 -31
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +120 -120
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/svf-ex_8cpp.html +14 -14
- package/SVF-doxygen/html/svf-ex_8cpp_source.html +14 -14
- package/package.json +1 -1
- package/svf/include/SVFIR/SVFIR.h +2 -1
- package/svf/include/SVFIR/SVFStatements.h +45 -3
- package/svf/lib/AE/Svfexe/SVFIR2ItvExeState.cpp +8 -0
- package/svf/lib/Graphs/ConsG.cpp +2 -1
- package/svf-llvm/lib/SVFIRBuilder.cpp +10 -14
- package/svf-llvm/lib/SymbolTableBuilder.cpp +2 -0
|
@@ -526,22 +526,22 @@ Additional Inherited Members</h2></td></tr>
|
|
|
526
526
|
<p>Add Address edge</p>
|
|
527
527
|
<p>Add an address edge </p>
|
|
528
528
|
|
|
529
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
530
|
-
<div class="fragment"><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="
|
|
543
|
-
<div class="line"><a name="
|
|
544
|
-
<div class="line"><a name="
|
|
529
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00191">191</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
530
|
+
<div class="fragment"><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> {</div>
|
|
531
|
+
<div class="line"><a name="l00193"></a><span class="lineno"> 193</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="l00194"></a><span class="lineno"> 194</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="l00195"></a><span class="lineno"> 195</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="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
535
|
+
<div class="line"><a name="l00197"></a><span class="lineno"> 197</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="l00198"></a><span class="lineno"> 198</span>  </div>
|
|
537
|
+
<div class="line"><a name="l00199"></a><span class="lineno"> 199</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="l00200"></a><span class="lineno"> 200</span>  (void)inserted; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
539
|
+
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  assert(inserted && <span class="stringliteral">"new AddrCGEdge not added??"</span>);</div>
|
|
540
|
+
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  </div>
|
|
541
|
+
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  srcNode-><a class="code" href="classSVF_1_1ConstraintNode.html#af129941c522dbc1b0fe94f84eea0d97a">addOutgoingAddrEdge</a>(edge);</div>
|
|
542
|
+
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  dstNode-><a class="code" href="classSVF_1_1ConstraintNode.html#aeff08dd512d0a97fb14069b37386e9fe">addIncomingAddrEdge</a>(edge);</div>
|
|
543
|
+
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">return</span> edge;</div>
|
|
544
|
+
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> }</div>
|
|
545
545
|
</div><!-- fragment -->
|
|
546
546
|
</div>
|
|
547
547
|
</div>
|
|
@@ -615,24 +615,24 @@ Additional Inherited Members</h2></td></tr>
|
|
|
615
615
|
<p>Add Copy edge. </p>
|
|
616
616
|
<p>Add Copy edge </p>
|
|
617
617
|
|
|
618
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
619
|
-
<div class="fragment"><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="
|
|
634
|
-
<div class="line"><a name="
|
|
635
|
-
<div class="line"><a name="
|
|
618
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00211">211</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
619
|
+
<div class="fragment"><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> {</div>
|
|
620
|
+
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  </div>
|
|
621
|
+
<div class="line"><a name="l00214"></a><span class="lineno"> 214</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="l00215"></a><span class="lineno"> 215</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="l00216"></a><span class="lineno"> 216</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="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
625
|
+
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  </div>
|
|
626
|
+
<div class="line"><a name="l00219"></a><span class="lineno"> 219</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="l00220"></a><span class="lineno"> 220</span>  </div>
|
|
628
|
+
<div class="line"><a name="l00221"></a><span class="lineno"> 221</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="l00222"></a><span class="lineno"> 222</span>  (void)inserted; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
630
|
+
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  assert(inserted && <span class="stringliteral">"new CopyCGEdge not added??"</span>);</div>
|
|
631
|
+
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  </div>
|
|
632
|
+
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  srcNode-><a class="code" href="classSVF_1_1ConstraintNode.html#a2395948518a1befb7a3762bbad6adf9f">addOutgoingCopyEdge</a>(edge);</div>
|
|
633
|
+
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  dstNode-><a class="code" href="classSVF_1_1ConstraintNode.html#ad54cc825bb7f5642671e75b90b2633a2">addIncomingCopyEdge</a>(edge);</div>
|
|
634
|
+
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">return</span> edge;</div>
|
|
635
|
+
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> }</div>
|
|
636
636
|
</div><!-- fragment -->
|
|
637
637
|
</div>
|
|
638
638
|
</div>
|
|
@@ -665,23 +665,23 @@ Additional Inherited Members</h2></td></tr>
|
|
|
665
665
|
<p>Add Load edge. </p>
|
|
666
666
|
<p>Add Load edge </p>
|
|
667
667
|
|
|
668
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
669
|
-
<div class="fragment"><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="
|
|
683
|
-
<div class="line"><a name="
|
|
684
|
-
<div class="line"><a name="
|
|
668
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00277">277</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
669
|
+
<div class="fragment"><div class="line"><a name="l00278"></a><span class="lineno"> 278</span> {</div>
|
|
670
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</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="l00280"></a><span class="lineno"> 280</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="l00281"></a><span class="lineno"> 281</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="l00282"></a><span class="lineno"> 282</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
674
|
+
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  </div>
|
|
675
|
+
<div class="line"><a name="l00284"></a><span class="lineno"> 284</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="l00285"></a><span class="lineno"> 285</span>  </div>
|
|
677
|
+
<div class="line"><a name="l00286"></a><span class="lineno"> 286</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="l00287"></a><span class="lineno"> 287</span>  (void)inserted; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
679
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  assert(inserted && <span class="stringliteral">"new LoadCGEdge not added??"</span>);</div>
|
|
680
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  </div>
|
|
681
|
+
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  srcNode-><a class="code" href="classSVF_1_1ConstraintNode.html#aa95df9972daaf3a2f92480a5fdc5b3a1">addOutgoingLoadEdge</a>(edge);</div>
|
|
682
|
+
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  dstNode-><a class="code" href="classSVF_1_1ConstraintNode.html#a9d1bb95ad5549d7e6030fe07f8e070a2">addIncomingLoadEdge</a>(edge);</div>
|
|
683
|
+
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">return</span> edge;</div>
|
|
684
|
+
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> }</div>
|
|
685
685
|
</div><!-- fragment -->
|
|
686
686
|
</div>
|
|
687
687
|
</div>
|
|
@@ -751,24 +751,24 @@ Additional Inherited Members</h2></td></tr>
|
|
|
751
751
|
<p>Add Gep edge. </p>
|
|
752
752
|
<p>Add Gep edge </p>
|
|
753
753
|
|
|
754
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
755
|
-
<div class="fragment"><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="
|
|
770
|
-
<div class="line"><a name="
|
|
771
|
-
<div class="line"><a name="
|
|
754
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00234">234</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
755
|
+
<div class="fragment"><div class="line"><a name="l00235"></a><span class="lineno"> 235</span> {</div>
|
|
756
|
+
<div class="line"><a name="l00236"></a><span class="lineno"> 236</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="l00237"></a><span class="lineno"> 237</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="l00238"></a><span class="lineno"> 238</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="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
760
|
+
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  </div>
|
|
761
|
+
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>* edge =</div>
|
|
762
|
+
<div class="line"><a name="l00242"></a><span class="lineno"> 242</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="l00243"></a><span class="lineno"> 243</span>  </div>
|
|
764
|
+
<div class="line"><a name="l00244"></a><span class="lineno"> 244</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="l00245"></a><span class="lineno"> 245</span>  (void)inserted; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
766
|
+
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  assert(inserted && <span class="stringliteral">"new NormalGepCGEdge not added??"</span>);</div>
|
|
767
|
+
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  </div>
|
|
768
|
+
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  srcNode-><a class="code" href="classSVF_1_1ConstraintNode.html#abc56843c51c00a9018473f415f73e9f6">addOutgoingGepEdge</a>(edge);</div>
|
|
769
|
+
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  dstNode-><a class="code" href="classSVF_1_1ConstraintNode.html#aaf0b98573a980aea1151a837580a40a5">addIncomingGepEdge</a>(edge);</div>
|
|
770
|
+
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">return</span> edge;</div>
|
|
771
|
+
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> }</div>
|
|
772
772
|
</div><!-- fragment -->
|
|
773
773
|
</div>
|
|
774
774
|
</div>
|
|
@@ -801,23 +801,23 @@ Additional Inherited Members</h2></td></tr>
|
|
|
801
801
|
<p>Add Store edge. </p>
|
|
802
802
|
<p>Add Store edge </p>
|
|
803
803
|
|
|
804
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
805
|
-
<div class="fragment"><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="
|
|
819
|
-
<div class="line"><a name="
|
|
820
|
-
<div class="line"><a name="
|
|
804
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00298">298</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
805
|
+
<div class="fragment"><div class="line"><a name="l00299"></a><span class="lineno"> 299</span> {</div>
|
|
806
|
+
<div class="line"><a name="l00300"></a><span class="lineno"> 300</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="l00301"></a><span class="lineno"> 301</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="l00302"></a><span class="lineno"> 302</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="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
810
|
+
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  </div>
|
|
811
|
+
<div class="line"><a name="l00305"></a><span class="lineno"> 305</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="l00306"></a><span class="lineno"> 306</span>  </div>
|
|
813
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</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="l00308"></a><span class="lineno"> 308</span>  (void)inserted; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
815
|
+
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  assert(inserted && <span class="stringliteral">"new StoreCGEdge not added??"</span>);</div>
|
|
816
|
+
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  </div>
|
|
817
|
+
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  srcNode-><a class="code" href="classSVF_1_1ConstraintNode.html#a18a52c763aa946f06798dc5592f5c1e0">addOutgoingStoreEdge</a>(edge);</div>
|
|
818
|
+
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  dstNode-><a class="code" href="classSVF_1_1ConstraintNode.html#a202193059dd3122d969561080b82c504">addIncomingStoreEdge</a>(edge);</div>
|
|
819
|
+
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">return</span> edge;</div>
|
|
820
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> }</div>
|
|
821
821
|
</div><!-- fragment -->
|
|
822
822
|
</div>
|
|
823
823
|
</div>
|
|
@@ -848,23 +848,23 @@ Additional Inherited Members</h2></td></tr>
|
|
|
848
848
|
</div><div class="memdoc">
|
|
849
849
|
<p>Add variant gep edge </p>
|
|
850
850
|
|
|
851
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
852
|
-
<div class="fragment"><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="
|
|
866
|
-
<div class="line"><a name="
|
|
867
|
-
<div class="line"><a name="
|
|
851
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00256">256</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
852
|
+
<div class="fragment"><div class="line"><a name="l00257"></a><span class="lineno"> 257</span> {</div>
|
|
853
|
+
<div class="line"><a name="l00258"></a><span class="lineno"> 258</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="l00259"></a><span class="lineno"> 259</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="l00260"></a><span class="lineno"> 260</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="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
857
|
+
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  </div>
|
|
858
|
+
<div class="line"><a name="l00263"></a><span class="lineno"> 263</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="l00264"></a><span class="lineno"> 264</span>  </div>
|
|
860
|
+
<div class="line"><a name="l00265"></a><span class="lineno"> 265</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="l00266"></a><span class="lineno"> 266</span>  (void)inserted; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
862
|
+
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  assert(inserted && <span class="stringliteral">"new VariantGepCGEdge not added??"</span>);</div>
|
|
863
|
+
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  </div>
|
|
864
|
+
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  srcNode-><a class="code" href="classSVF_1_1ConstraintNode.html#abc56843c51c00a9018473f415f73e9f6">addOutgoingGepEdge</a>(edge);</div>
|
|
865
|
+
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  dstNode-><a class="code" href="classSVF_1_1ConstraintNode.html#aaf0b98573a980aea1151a837580a40a5">addIncomingGepEdge</a>(edge);</div>
|
|
866
|
+
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">return</span> edge;</div>
|
|
867
|
+
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> }</div>
|
|
868
868
|
</div><!-- fragment -->
|
|
869
869
|
</div>
|
|
870
870
|
</div>
|
|
@@ -915,88 +915,89 @@ Additional Inherited Members</h2></td></tr>
|
|
|
915
915
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  copys.end(); iter != eiter; ++iter)</div>
|
|
916
916
|
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  {</div>
|
|
917
917
|
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CopyStmt.html">CopyStmt</a>* edge = SVFUtil::cast<CopyStmt>(*iter);</div>
|
|
918
|
-
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <
|
|
919
|
-
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> 
|
|
920
|
-
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> 
|
|
921
|
-
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> 
|
|
922
|
-
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <
|
|
923
|
-
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> 
|
|
924
|
-
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> 
|
|
925
|
-
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> 
|
|
926
|
-
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="
|
|
927
|
-
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> 
|
|
928
|
-
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> 
|
|
929
|
-
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> 
|
|
930
|
-
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> 
|
|
931
|
-
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <
|
|
932
|
-
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> 
|
|
933
|
-
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> 
|
|
934
|
-
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> 
|
|
935
|
-
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="
|
|
936
|
-
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> 
|
|
937
|
-
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> 
|
|
938
|
-
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> 
|
|
939
|
-
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> 
|
|
940
|
-
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <
|
|
941
|
-
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> 
|
|
942
|
-
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> 
|
|
943
|
-
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> 
|
|
944
|
-
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <
|
|
945
|
-
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> 
|
|
946
|
-
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> 
|
|
947
|
-
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> 
|
|
948
|
-
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <
|
|
949
|
-
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> 
|
|
950
|
-
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> 
|
|
951
|
-
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> 
|
|
952
|
-
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <
|
|
953
|
-
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> 
|
|
954
|
-
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> 
|
|
955
|
-
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> 
|
|
956
|
-
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <
|
|
957
|
-
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> 
|
|
958
|
-
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> 
|
|
959
|
-
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> 
|
|
960
|
-
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <
|
|
961
|
-
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> 
|
|
962
|
-
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> 
|
|
963
|
-
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> 
|
|
964
|
-
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <
|
|
965
|
-
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> 
|
|
966
|
-
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> 
|
|
967
|
-
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> 
|
|
968
|
-
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <
|
|
969
|
-
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> 
|
|
970
|
-
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> 
|
|
971
|
-
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> 
|
|
972
|
-
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <
|
|
973
|
-
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> 
|
|
974
|
-
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> 
|
|
975
|
-
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> 
|
|
976
|
-
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <
|
|
977
|
-
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> 
|
|
978
|
-
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> 
|
|
979
|
-
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> 
|
|
980
|
-
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> 
|
|
981
|
-
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> 
|
|
982
|
-
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> 
|
|
983
|
-
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <
|
|
984
|
-
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> 
|
|
985
|
-
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> 
|
|
986
|
-
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> 
|
|
987
|
-
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="
|
|
988
|
-
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> 
|
|
989
|
-
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> 
|
|
990
|
-
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> 
|
|
991
|
-
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <
|
|
992
|
-
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> 
|
|
993
|
-
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> 
|
|
994
|
-
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> 
|
|
995
|
-
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <a class="code" href="
|
|
996
|
-
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> 
|
|
997
|
-
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> 
|
|
998
|
-
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> 
|
|
999
|
-
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> 
|
|
918
|
+
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">if</span>(edge-><a class="code" href="classSVF_1_1CopyStmt.html#a8d6022251e0206d91bb7118fb98934aa">isBitCast</a>() || edge-><a class="code" href="classSVF_1_1CopyStmt.html#ac05a1827caf102cb00c4605ba2ccd807">isValueCopy</a>())</div>
|
|
919
|
+
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a60bb27100e8c264be2add004069d1758">addCopyCGEdge</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>
|
|
920
|
+
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  }</div>
|
|
921
|
+
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  </div>
|
|
922
|
+
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a>& phis = <a class="code" href="classSVF_1_1ConstraintGraph.html#a4dd7feb1ed62883dd35ced962ba6b59e">getPAGEdgeSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9">SVFStmt::Phi</a>);</div>
|
|
923
|
+
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">for</span> (SVFStmt::SVFStmtSetTy::iterator iter = phis.begin(), eiter =</div>
|
|
924
|
+
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  phis.end(); iter != eiter; ++iter)</div>
|
|
925
|
+
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  {</div>
|
|
926
|
+
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PhiStmt.html">PhiStmt</a>* edge = SVFUtil::cast<PhiStmt>(*iter);</div>
|
|
927
|
+
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <span class="keyword">auto</span> opVar : edge-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a0441f2646fed28830439c41a0704ed4b">getOpndVars</a>())</div>
|
|
928
|
+
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a60bb27100e8c264be2add004069d1758">addCopyCGEdge</a>(opVar->getId(),edge-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>());</div>
|
|
929
|
+
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  }</div>
|
|
930
|
+
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  </div>
|
|
931
|
+
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a>& selects = <a class="code" href="classSVF_1_1ConstraintGraph.html#a4dd7feb1ed62883dd35ced962ba6b59e">getPAGEdgeSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad9397ec243a61992dc2b5681bea587fa">SVFStmt::Select</a>);</div>
|
|
932
|
+
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">for</span> (SVFStmt::SVFStmtSetTy::iterator iter = selects.begin(), eiter =</div>
|
|
933
|
+
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  selects.end(); iter != eiter; ++iter)</div>
|
|
934
|
+
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  {</div>
|
|
935
|
+
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SelectStmt.html">SelectStmt</a>* edge = SVFUtil::cast<SelectStmt>(*iter);</div>
|
|
936
|
+
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <span class="keyword">auto</span> opVar : edge-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a0441f2646fed28830439c41a0704ed4b">getOpndVars</a>())</div>
|
|
937
|
+
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a60bb27100e8c264be2add004069d1758">addCopyCGEdge</a>(opVar->getId(),edge-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>());</div>
|
|
938
|
+
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  }</div>
|
|
939
|
+
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  </div>
|
|
940
|
+
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a>& calls = <a class="code" href="classSVF_1_1ConstraintGraph.html#a4dd7feb1ed62883dd35ced962ba6b59e">getPAGEdgeSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVFStmt::Call</a>);</div>
|
|
941
|
+
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">for</span> (SVFStmt::SVFStmtSetTy::iterator iter = calls.begin(), eiter =</div>
|
|
942
|
+
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  calls.end(); iter != eiter; ++iter)</div>
|
|
943
|
+
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  {</div>
|
|
944
|
+
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallPE.html">CallPE</a>* edge = SVFUtil::cast<CallPE>(*iter);</div>
|
|
945
|
+
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a60bb27100e8c264be2add004069d1758">addCopyCGEdge</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>
|
|
946
|
+
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  }</div>
|
|
947
|
+
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  </div>
|
|
948
|
+
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a>& rets = <a class="code" href="classSVF_1_1ConstraintGraph.html#a4dd7feb1ed62883dd35ced962ba6b59e">getPAGEdgeSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a8d269a45adf13e69468f0357222ab2af">SVFStmt::Ret</a>);</div>
|
|
949
|
+
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">for</span> (SVFStmt::SVFStmtSetTy::iterator iter = rets.begin(), eiter =</div>
|
|
950
|
+
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  rets.end(); iter != eiter; ++iter)</div>
|
|
951
|
+
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  {</div>
|
|
952
|
+
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1RetPE.html">RetPE</a>* edge = SVFUtil::cast<RetPE>(*iter);</div>
|
|
953
|
+
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a60bb27100e8c264be2add004069d1758">addCopyCGEdge</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>
|
|
954
|
+
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  }</div>
|
|
955
|
+
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  </div>
|
|
956
|
+
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a>& tdfks = <a class="code" href="classSVF_1_1ConstraintGraph.html#a4dd7feb1ed62883dd35ced962ba6b59e">getPAGEdgeSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVFStmt::ThreadFork</a>);</div>
|
|
957
|
+
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">for</span> (SVFStmt::SVFStmtSetTy::iterator iter = tdfks.begin(), eiter =</div>
|
|
958
|
+
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  tdfks.end(); iter != eiter; ++iter)</div>
|
|
959
|
+
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  {</div>
|
|
960
|
+
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1TDForkPE.html">TDForkPE</a>* edge = SVFUtil::cast<TDForkPE>(*iter);</div>
|
|
961
|
+
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a60bb27100e8c264be2add004069d1758">addCopyCGEdge</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>
|
|
962
|
+
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  }</div>
|
|
963
|
+
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  </div>
|
|
964
|
+
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a>& tdjns = <a class="code" href="classSVF_1_1ConstraintGraph.html#a4dd7feb1ed62883dd35ced962ba6b59e">getPAGEdgeSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">SVFStmt::ThreadJoin</a>);</div>
|
|
965
|
+
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">for</span> (SVFStmt::SVFStmtSetTy::iterator iter = tdjns.begin(), eiter =</div>
|
|
966
|
+
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  tdjns.end(); iter != eiter; ++iter)</div>
|
|
967
|
+
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  {</div>
|
|
968
|
+
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1TDJoinPE.html">TDJoinPE</a>* edge = SVFUtil::cast<TDJoinPE>(*iter);</div>
|
|
969
|
+
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a60bb27100e8c264be2add004069d1758">addCopyCGEdge</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>
|
|
970
|
+
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div>
|
|
971
|
+
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  </div>
|
|
972
|
+
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a>& ngeps = <a class="code" href="classSVF_1_1ConstraintGraph.html#a4dd7feb1ed62883dd35ced962ba6b59e">getPAGEdgeSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a20d960c19118d1ed319e0dbea94405e8">SVFStmt::Gep</a>);</div>
|
|
973
|
+
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">for</span> (SVFStmt::SVFStmtSetTy::iterator iter = ngeps.begin(), eiter =</div>
|
|
974
|
+
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  ngeps.end(); iter != eiter; ++iter)</div>
|
|
975
|
+
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  {</div>
|
|
976
|
+
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <a class="code" href="classSVF_1_1GepStmt.html">GepStmt</a>* edge = SVFUtil::cast<GepStmt>(*iter);</div>
|
|
977
|
+
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">if</span>(edge-><a class="code" href="classSVF_1_1GepStmt.html#a0ddf180a0f7ba64fc8655687910e3788">isVariantFieldGep</a>())</div>
|
|
978
|
+
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a6902cabb252b1eaadb3c8220b4581a2f">addVariantGepCGEdge</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>
|
|
979
|
+
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">else</span></div>
|
|
980
|
+
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#ab0b4f708097d4b3d92b4513818fef68c">addNormalGepCGEdge</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>(),edge-><a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>());</div>
|
|
981
|
+
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  }</div>
|
|
982
|
+
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  </div>
|
|
983
|
+
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a>& loads = <a class="code" href="classSVF_1_1ConstraintGraph.html#a4dd7feb1ed62883dd35ced962ba6b59e">getPAGEdgeSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">SVFStmt::Load</a>);</div>
|
|
984
|
+
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">for</span> (SVFStmt::SVFStmtSetTy::iterator iter = loads.begin(), eiter =</div>
|
|
985
|
+
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  loads.end(); iter != eiter; ++iter)</div>
|
|
986
|
+
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  {</div>
|
|
987
|
+
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="classSVF_1_1LoadStmt.html">LoadStmt</a>* edge = SVFUtil::cast<LoadStmt>(*iter);</div>
|
|
988
|
+
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a1e5a23fbd08cf4186775baffbd6a7934">addLoadCGEdge</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>
|
|
989
|
+
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  }</div>
|
|
990
|
+
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  </div>
|
|
991
|
+
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a>& stores = <a class="code" href="classSVF_1_1ConstraintGraph.html#a4dd7feb1ed62883dd35ced962ba6b59e">getPAGEdgeSet</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">SVFStmt::Store</a>);</div>
|
|
992
|
+
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">for</span> (SVFStmt::SVFStmtSetTy::iterator iter = stores.begin(), eiter =</div>
|
|
993
|
+
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  stores.end(); iter != eiter; ++iter)</div>
|
|
994
|
+
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  {</div>
|
|
995
|
+
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <a class="code" href="classSVF_1_1StoreStmt.html">StoreStmt</a>* edge = SVFUtil::cast<StoreStmt>(*iter);</div>
|
|
996
|
+
<div class="line"><a name="l00141"></a><span class="lineno"> 141</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>
|
|
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>  </div>
|
|
999
|
+
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a65c96cdd904e4240fbc7a044f89b91a1">clearSolitaries</a>();</div>
|
|
1000
|
+
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> }</div>
|
|
1000
1001
|
</div><!-- fragment -->
|
|
1001
1002
|
</div>
|
|
1002
1003
|
</div>
|
|
@@ -1024,21 +1025,21 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1024
1025
|
</div><div class="memdoc">
|
|
1025
1026
|
<p>Remove nodes that are neither pointers nor connected with any edge </p>
|
|
1026
1027
|
|
|
1027
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
1028
|
-
<div class="fragment"><div class="line"><a name="
|
|
1029
|
-
<div class="line"><a name="
|
|
1030
|
-
<div class="line"><a name="
|
|
1031
|
-
<div class="line"><a name="
|
|
1032
|
-
<div class="line"><a name="
|
|
1033
|
-
<div class="line"><a name="
|
|
1034
|
-
<div class="line"><a name="
|
|
1035
|
-
<div class="line"><a name="
|
|
1036
|
-
<div class="line"><a name="
|
|
1037
|
-
<div class="line"><a name="
|
|
1038
|
-
<div class="line"><a name="
|
|
1039
|
-
<div class="line"><a name="
|
|
1040
|
-
<div class="line"><a name="
|
|
1041
|
-
<div class="line"><a name="
|
|
1028
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00150">150</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
1029
|
+
<div class="fragment"><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> {</div>
|
|
1030
|
+
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<ConstraintNode*></a> nodesToRemove;</div>
|
|
1031
|
+
<div class="line"><a name="l00153"></a><span class="lineno"> 153</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>
|
|
1032
|
+
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  {</div>
|
|
1033
|
+
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">if</span> (it->second->hasIncomingEdge() || it->second->hasOutgoingEdge())</div>
|
|
1034
|
+
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">continue</span>;</div>
|
|
1035
|
+
<div class="line"><a name="l00157"></a><span class="lineno"> 157</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>
|
|
1036
|
+
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">continue</span>;</div>
|
|
1037
|
+
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  nodesToRemove.insert(it->second);</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>  </div>
|
|
1040
|
+
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> node : nodesToRemove)</div>
|
|
1041
|
+
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9e21bc9b86080b4059f0907e9a7b33f3">removeConstraintNode</a>(node);</div>
|
|
1042
|
+
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> }</div>
|
|
1042
1043
|
</div><!-- fragment -->
|
|
1043
1044
|
</div>
|
|
1044
1045
|
</div>
|
|
@@ -1066,9 +1067,9 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1066
1067
|
</div><div class="memdoc">
|
|
1067
1068
|
<p>Memory has been cleaned up at <a class="el" href="classSVF_1_1GenericGraph.html">GenericGraph</a> </p>
|
|
1068
1069
|
|
|
1069
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
1070
|
-
<div class="fragment"><div class="line"><a name="
|
|
1071
|
-
<div class="line"><a name="
|
|
1070
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00169">169</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
1071
|
+
<div class="fragment"><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> {</div>
|
|
1072
|
+
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> }</div>
|
|
1072
1073
|
</div><!-- fragment -->
|
|
1073
1074
|
</div>
|
|
1074
1075
|
</div>
|
|
@@ -1091,10 +1092,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1091
1092
|
<p>Dump graph into dot file. </p>
|
|
1092
1093
|
<p>Dump constraint graph </p>
|
|
1093
1094
|
|
|
1094
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
1095
|
-
<div class="fragment"><div class="line"><a name="
|
|
1096
|
-
<div class="line"><a name="
|
|
1097
|
-
<div class="line"><a name="
|
|
1095
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00580">580</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
1096
|
+
<div class="fragment"><div class="line"><a name="l00581"></a><span class="lineno"> 581</span> {</div>
|
|
1097
|
+
<div class="line"><a name="l00582"></a><span class="lineno"> 582</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>
|
|
1098
|
+
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> }</div>
|
|
1098
1099
|
</div><!-- fragment -->
|
|
1099
1100
|
</div>
|
|
1100
1101
|
</div>
|
|
@@ -2088,58 +2089,58 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2088
2089
|
<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>
|
|
2089
2090
|
<p>only copy and gep edge can be removed</p>
|
|
2090
2091
|
|
|
2091
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2092
|
-
<div class="fragment"><div class="line"><a name="
|
|
2093
|
-
<div class="line"><a name="
|
|
2094
|
-
<div class="line"><a name="
|
|
2095
|
-
<div class="line"><a name="
|
|
2096
|
-
<div class="line"><a name="
|
|
2097
|
-
<div class="line"><a name="
|
|
2098
|
-
<div class="line"><a name="
|
|
2099
|
-
<div class="line"><a name="
|
|
2100
|
-
<div class="line"><a name="
|
|
2101
|
-
<div class="line"><a name="
|
|
2102
|
-
<div class="line"><a name="
|
|
2103
|
-
<div class="line"><a name="
|
|
2104
|
-
<div class="line"><a name="
|
|
2105
|
-
<div class="line"><a name="
|
|
2106
|
-
<div class="line"><a name="
|
|
2107
|
-
<div class="line"><a name="
|
|
2108
|
-
<div class="line"><a name="
|
|
2109
|
-
<div class="line"><a name="
|
|
2110
|
-
<div class="line"><a name="
|
|
2111
|
-
<div class="line"><a name="
|
|
2112
|
-
<div class="line"><a name="
|
|
2113
|
-
<div class="line"><a name="
|
|
2114
|
-
<div class="line"><a name="
|
|
2115
|
-
<div class="line"><a name="
|
|
2116
|
-
<div class="line"><a name="
|
|
2117
|
-
<div class="line"><a name="
|
|
2118
|
-
<div class="line"><a name="
|
|
2119
|
-
<div class="line"><a name="
|
|
2120
|
-
<div class="line"><a name="
|
|
2121
|
-
<div class="line"><a name="
|
|
2122
|
-
<div class="line"><a name="
|
|
2123
|
-
<div class="line"><a name="
|
|
2124
|
-
<div class="line"><a name="
|
|
2125
|
-
<div class="line"><a name="
|
|
2126
|
-
<div class="line"><a name="
|
|
2127
|
-
<div class="line"><a name="
|
|
2128
|
-
<div class="line"><a name="
|
|
2129
|
-
<div class="line"><a name="
|
|
2130
|
-
<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="
|
|
2092
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00463">463</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2093
|
+
<div class="fragment"><div class="line"><a name="l00464"></a><span class="lineno"> 464</span> {</div>
|
|
2094
|
+
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  std::vector<ConstraintEdge*> sccEdges;</div>
|
|
2095
|
+
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  std::vector<ConstraintEdge*> nonSccEdges;</div>
|
|
2096
|
+
<div class="line"><a name="l00467"></a><span class="lineno"> 467</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>
|
|
2097
|
+
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  ++it)</div>
|
|
2098
|
+
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  {</div>
|
|
2099
|
+
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* subInEdge = *it;</div>
|
|
2100
|
+
<div class="line"><a name="l00471"></a><span class="lineno"> 471</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>
|
|
2101
|
+
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  nonSccEdges.push_back(subInEdge);</div>
|
|
2102
|
+
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keywordflow">else</span></div>
|
|
2103
|
+
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  {</div>
|
|
2104
|
+
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  sccEdges.push_back(subInEdge);</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>  }</div>
|
|
2107
|
+
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="comment">// if this edge is outside scc, then re-target edge dst to rep</span></div>
|
|
2108
|
+
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="keywordflow">while</span>(!nonSccEdges.empty())</div>
|
|
2109
|
+
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  {</div>
|
|
2110
|
+
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* edge = nonSccEdges.back();</div>
|
|
2111
|
+
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  nonSccEdges.pop_back();</div>
|
|
2112
|
+
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a4db3484e3710c3f5cc86ec32dd643722">reTargetDstOfEdge</a>(edge,rep);</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>  </div>
|
|
2115
|
+
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="keywordtype">bool</span> criticalGepInsideSCC = <span class="keyword">false</span>;</div>
|
|
2116
|
+
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <span class="comment">// if this edge is inside scc, then remove this edge and two end nodes</span></div>
|
|
2117
|
+
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">while</span>(!sccEdges.empty())</div>
|
|
2118
|
+
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  {</div>
|
|
2119
|
+
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* edge = sccEdges.back();</div>
|
|
2120
|
+
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  sccEdges.pop_back();</div>
|
|
2121
|
+
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordflow">if</span>(SVFUtil::isa<CopyCGEdge>(edge))</div>
|
|
2122
|
+
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(edge);</div>
|
|
2123
|
+
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<GepCGEdge>(edge))</div>
|
|
2124
|
+
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  {</div>
|
|
2125
|
+
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="comment">// If the GEP is critical (i.e. may have a non-zero offset),</span></div>
|
|
2126
|
+
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="comment">// then it brings impact on field-sensitivity.</span></div>
|
|
2127
|
+
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1ConstraintGraph.html#af790af4146197682dd4f9abfad1434f6">isZeroOffsettedGepCGEdge</a>(edge))</div>
|
|
2128
|
+
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  {</div>
|
|
2129
|
+
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  criticalGepInsideSCC = <span class="keyword">true</span>;</div>
|
|
2130
|
+
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  }</div>
|
|
2131
|
+
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(edge);</div>
|
|
2132
|
+
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  }</div>
|
|
2133
|
+
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<LoadCGEdge, StoreCGEdge>(edge))</div>
|
|
2134
|
+
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a4db3484e3710c3f5cc86ec32dd643722">reTargetDstOfEdge</a>(edge,rep);</div>
|
|
2135
|
+
<div class="line"><a name="l00507"></a><span class="lineno"> 507</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>
|
|
2136
|
+
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  {</div>
|
|
2137
|
+
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#acc23df2db1fa7b8e0270d8a04f08f2ee">removeAddrEdge</a>(addr);</div>
|
|
2138
|
+
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  }</div>
|
|
2139
|
+
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="keywordflow">else</span></div>
|
|
2140
|
+
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"no such edge"</span>);</div>
|
|
2141
|
+
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  }</div>
|
|
2142
|
+
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="keywordflow">return</span> criticalGepInsideSCC;</div>
|
|
2143
|
+
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> }</div>
|
|
2143
2144
|
</div><!-- fragment -->
|
|
2144
2145
|
</div>
|
|
2145
2146
|
</div>
|
|
@@ -2172,59 +2173,59 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2172
2173
|
<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>
|
|
2173
2174
|
<p>only copy and gep edge can be removed</p>
|
|
2174
2175
|
|
|
2175
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2176
|
-
<div class="fragment"><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="
|
|
2182
|
-
<div class="line"><a name="
|
|
2183
|
-
<div class="line"><a name="
|
|
2184
|
-
<div class="line"><a name="
|
|
2185
|
-
<div class="line"><a name="
|
|
2186
|
-
<div class="line"><a name="
|
|
2187
|
-
<div class="line"><a name="
|
|
2188
|
-
<div class="line"><a name="
|
|
2189
|
-
<div class="line"><a name="
|
|
2190
|
-
<div class="line"><a name="
|
|
2191
|
-
<div class="line"><a name="
|
|
2192
|
-
<div class="line"><a name="
|
|
2193
|
-
<div class="line"><a name="
|
|
2194
|
-
<div class="line"><a name="
|
|
2195
|
-
<div class="line"><a name="
|
|
2196
|
-
<div class="line"><a name="
|
|
2197
|
-
<div class="line"><a name="
|
|
2198
|
-
<div class="line"><a name="
|
|
2199
|
-
<div class="line"><a name="
|
|
2200
|
-
<div class="line"><a name="
|
|
2201
|
-
<div class="line"><a name="
|
|
2202
|
-
<div class="line"><a name="
|
|
2203
|
-
<div class="line"><a name="
|
|
2204
|
-
<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="
|
|
2176
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00521">521</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2177
|
+
<div class="fragment"><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>  </div>
|
|
2179
|
+
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  std::vector<ConstraintEdge*> sccEdges;</div>
|
|
2180
|
+
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  std::vector<ConstraintEdge*> nonSccEdges;</div>
|
|
2181
|
+
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  </div>
|
|
2182
|
+
<div class="line"><a name="l00527"></a><span class="lineno"> 527</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>
|
|
2183
|
+
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  ++it)</div>
|
|
2184
|
+
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  {</div>
|
|
2185
|
+
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* subOutEdge = *it;</div>
|
|
2186
|
+
<div class="line"><a name="l00531"></a><span class="lineno"> 531</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>
|
|
2187
|
+
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  nonSccEdges.push_back(subOutEdge);</div>
|
|
2188
|
+
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <span class="keywordflow">else</span></div>
|
|
2189
|
+
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  {</div>
|
|
2190
|
+
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  sccEdges.push_back(subOutEdge);</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>  }</div>
|
|
2193
|
+
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <span class="comment">// if this edge is outside scc, then re-target edge src to rep</span></div>
|
|
2194
|
+
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <span class="keywordflow">while</span>(!nonSccEdges.empty())</div>
|
|
2195
|
+
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  {</div>
|
|
2196
|
+
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* edge = nonSccEdges.back();</div>
|
|
2197
|
+
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  nonSccEdges.pop_back();</div>
|
|
2198
|
+
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#aaae56afed424f7cd59fddb3fcb2f7214">reTargetSrcOfEdge</a>(edge,rep);</div>
|
|
2199
|
+
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  }</div>
|
|
2200
|
+
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="keywordtype">bool</span> criticalGepInsideSCC = <span class="keyword">false</span>;</div>
|
|
2201
|
+
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  <span class="comment">// if this edge is inside scc, then remove this edge and two end nodes</span></div>
|
|
2202
|
+
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  <span class="keywordflow">while</span>(!sccEdges.empty())</div>
|
|
2203
|
+
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  {</div>
|
|
2204
|
+
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* edge = sccEdges.back();</div>
|
|
2205
|
+
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  sccEdges.pop_back();</div>
|
|
2206
|
+
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <span class="keywordflow">if</span>(SVFUtil::isa<CopyCGEdge>(edge))</div>
|
|
2207
|
+
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(edge);</div>
|
|
2208
|
+
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<GepCGEdge>(edge))</div>
|
|
2209
|
+
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  {</div>
|
|
2210
|
+
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  <span class="comment">// If the GEP is critical (i.e. may have a non-zero offset),</span></div>
|
|
2211
|
+
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <span class="comment">// then it brings impact on field-sensitivity.</span></div>
|
|
2212
|
+
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1ConstraintGraph.html#af790af4146197682dd4f9abfad1434f6">isZeroOffsettedGepCGEdge</a>(edge))</div>
|
|
2213
|
+
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  {</div>
|
|
2214
|
+
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  criticalGepInsideSCC = <span class="keyword">true</span>;</div>
|
|
2215
|
+
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  }</div>
|
|
2216
|
+
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(edge);</div>
|
|
2217
|
+
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  }</div>
|
|
2218
|
+
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<LoadCGEdge, StoreCGEdge>(edge))</div>
|
|
2219
|
+
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#aaae56afed424f7cd59fddb3fcb2f7214">reTargetSrcOfEdge</a>(edge,rep);</div>
|
|
2220
|
+
<div class="line"><a name="l00566"></a><span class="lineno"> 566</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>
|
|
2221
|
+
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  {</div>
|
|
2222
|
+
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#acc23df2db1fa7b8e0270d8a04f08f2ee">removeAddrEdge</a>(addr);</div>
|
|
2223
|
+
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  }</div>
|
|
2224
|
+
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="keywordflow">else</span></div>
|
|
2225
|
+
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"no such edge"</span>);</div>
|
|
2226
|
+
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  }</div>
|
|
2227
|
+
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <span class="keywordflow">return</span> criticalGepInsideSCC;</div>
|
|
2228
|
+
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> }</div>
|
|
2228
2229
|
</div><!-- fragment -->
|
|
2229
2230
|
</div>
|
|
2230
2231
|
</div>
|
|
@@ -2246,62 +2247,62 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2246
2247
|
<p>Print CG into terminal. </p>
|
|
2247
2248
|
<p>Print this constraint graph including its nodes and edges </p>
|
|
2248
2249
|
|
|
2249
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2250
|
-
<div class="fragment"><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="
|
|
2259
|
-
<div class="line"><a name="
|
|
2260
|
-
<div class="line"><a name="
|
|
2261
|
-
<div class="line"><a name="
|
|
2262
|
-
<div class="line"><a name="
|
|
2263
|
-
<div class="line"><a name="
|
|
2264
|
-
<div class="line"><a name="
|
|
2265
|
-
<div class="line"><a name="
|
|
2266
|
-
<div class="line"><a name="
|
|
2267
|
-
<div class="line"><a name="
|
|
2268
|
-
<div class="line"><a name="
|
|
2269
|
-
<div class="line"><a name="
|
|
2270
|
-
<div class="line"><a name="
|
|
2271
|
-
<div class="line"><a name="
|
|
2272
|
-
<div class="line"><a name="
|
|
2273
|
-
<div class="line"><a name="
|
|
2274
|
-
<div class="line"><a name="
|
|
2275
|
-
<div class="line"><a name="
|
|
2276
|
-
<div class="line"><a name="
|
|
2277
|
-
<div class="line"><a name="
|
|
2278
|
-
<div class="line"><a name="
|
|
2279
|
-
<div class="line"><a name="
|
|
2280
|
-
<div class="line"><a name="
|
|
2281
|
-
<div class="line"><a name="
|
|
2282
|
-
<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="
|
|
2290
|
-
<div class="line"><a name="
|
|
2291
|
-
<div class="line"><a name="
|
|
2292
|
-
<div class="line"><a name="
|
|
2293
|
-
<div class="line"><a name="
|
|
2294
|
-
<div class="line"><a name="
|
|
2295
|
-
<div class="line"><a name="
|
|
2296
|
-
<div class="line"><a name="
|
|
2297
|
-
<div class="line"><a name="
|
|
2298
|
-
<div class="line"><a name="
|
|
2299
|
-
<div class="line"><a name="
|
|
2300
|
-
<div class="line"><a name="
|
|
2301
|
-
<div class="line"><a name="
|
|
2302
|
-
<div class="line"><a name="
|
|
2303
|
-
<div class="line"><a name="
|
|
2304
|
-
<div class="line"><a name="
|
|
2250
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00588">588</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2251
|
+
<div class="fragment"><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>  </div>
|
|
2253
|
+
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"-----------------ConstraintGraph--------------------------------------\n"</span>;</div>
|
|
2254
|
+
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  </div>
|
|
2255
|
+
<div class="line"><a name="l00593"></a><span class="lineno"> 593</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>
|
|
2256
|
+
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <span class="keywordflow">for</span> (ConstraintEdge::ConstraintEdgeSetTy::iterator iter = addrs.begin(),</div>
|
|
2257
|
+
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  eiter = addrs.end(); iter != eiter; ++iter)</div>
|
|
2258
|
+
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  {</div>
|
|
2259
|
+
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Addr --> "</span> << (*iter)->getDstID()</div>
|
|
2260
|
+
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  << <span class="stringliteral">"\n"</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>  </div>
|
|
2263
|
+
<div class="line"><a name="l00601"></a><span class="lineno"> 601</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>
|
|
2264
|
+
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="keywordflow">for</span> (ConstraintEdge::ConstraintEdgeSetTy::iterator iter = directs.begin(),</div>
|
|
2265
|
+
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  eiter = directs.end(); iter != eiter; ++iter)</div>
|
|
2266
|
+
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  {</div>
|
|
2267
|
+
<div class="line"><a name="l00605"></a><span class="lineno"> 605</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>
|
|
2268
|
+
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  {</div>
|
|
2269
|
+
<div class="line"><a name="l00607"></a><span class="lineno"> 607</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>
|
|
2270
|
+
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  << <span class="stringliteral">"\n"</span>;</div>
|
|
2271
|
+
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  }</div>
|
|
2272
|
+
<div class="line"><a name="l00610"></a><span class="lineno"> 610</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>
|
|
2273
|
+
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  {</div>
|
|
2274
|
+
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << ngep->getSrcID() << <span class="stringliteral">" -- NormalGep ("</span> << ngep->getConstantFieldIdx()</div>
|
|
2275
|
+
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  << <span class="stringliteral">") --> "</span> << ngep->getDstID() << <span class="stringliteral">"\n"</span>;</div>
|
|
2276
|
+
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  }</div>
|
|
2277
|
+
<div class="line"><a name="l00615"></a><span class="lineno"> 615</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>
|
|
2278
|
+
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  {</div>
|
|
2279
|
+
<div class="line"><a name="l00617"></a><span class="lineno"> 617</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>
|
|
2280
|
+
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  << <a class="code" href="PAGGrammar_8txt.html#a1181f56ceed612b4d77df931fa4dfaa9">vgep</a>->getDstID() << <span class="stringliteral">"\n"</span>;</div>
|
|
2281
|
+
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  }</div>
|
|
2282
|
+
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <span class="keywordflow">else</span></div>
|
|
2283
|
+
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"wrong constraint edge kind!"</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>  </div>
|
|
2286
|
+
<div class="line"><a name="l00624"></a><span class="lineno"> 624</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>
|
|
2287
|
+
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  <span class="keywordflow">for</span> (ConstraintEdge::ConstraintEdgeSetTy::iterator iter = loads.begin(),</div>
|
|
2288
|
+
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  eiter = loads.end(); iter != eiter; ++iter)</div>
|
|
2289
|
+
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  {</div>
|
|
2290
|
+
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Load --> "</span> << (*iter)->getDstID()</div>
|
|
2291
|
+
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  << <span class="stringliteral">"\n"</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>  </div>
|
|
2294
|
+
<div class="line"><a name="l00632"></a><span class="lineno"> 632</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>
|
|
2295
|
+
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  <span class="keywordflow">for</span> (ConstraintEdge::ConstraintEdgeSetTy::iterator iter = stores.begin(),</div>
|
|
2296
|
+
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  eiter = stores.end(); iter != eiter; ++iter)</div>
|
|
2297
|
+
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  {</div>
|
|
2298
|
+
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Store --> "</span> << (*iter)->getDstID()</div>
|
|
2299
|
+
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  << <span class="stringliteral">"\n"</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>  </div>
|
|
2302
|
+
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>()</div>
|
|
2303
|
+
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  << <span class="stringliteral">"--------------------------------------------------------------\n"</span>;</div>
|
|
2304
|
+
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  </div>
|
|
2305
|
+
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> }</div>
|
|
2305
2306
|
</div><!-- fragment -->
|
|
2306
2307
|
</div>
|
|
2307
2308
|
</div>
|
|
@@ -2324,15 +2325,15 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2324
2325
|
<p>Remove addr edge from their src and dst edge sets. </p>
|
|
2325
2326
|
<p>Remove addr edge from their src and dst edge sets </p>
|
|
2326
2327
|
|
|
2327
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2328
|
-
<div class="fragment"><div class="line"><a name="
|
|
2329
|
-
<div class="line"><a name="
|
|
2330
|
-
<div class="line"><a name="
|
|
2331
|
-
<div class="line"><a name="
|
|
2332
|
-
<div class="line"><a name="
|
|
2333
|
-
<div class="line"><a name="
|
|
2334
|
-
<div class="line"><a name="
|
|
2335
|
-
<div class="line"><a name="
|
|
2328
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00409">409</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2329
|
+
<div class="fragment"><div class="line"><a name="l00410"></a><span class="lineno"> 410</span> {</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#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>())-><a class="code" href="classSVF_1_1ConstraintNode.html#abaf196bcce496fbdee6740c42ca9dd71">removeOutgoingAddrEdge</a>(edge);</div>
|
|
2331
|
+
<div class="line"><a name="l00412"></a><span class="lineno"> 412</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>
|
|
2332
|
+
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> num = <a class="code" href="classSVF_1_1ConstraintGraph.html#a5bbd6df25027d26911f5d8d6a10881dc">AddrCGEdgeSet</a>.erase(edge);</div>
|
|
2333
|
+
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  (void)num; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
2334
|
+
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  assert(num && <span class="stringliteral">"edge not in the set, can not remove!!!"</span>);</div>
|
|
2335
|
+
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keyword">delete</span> edge;</div>
|
|
2336
|
+
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> }</div>
|
|
2336
2337
|
</div><!-- fragment -->
|
|
2337
2338
|
</div>
|
|
2338
2339
|
</div>
|
|
@@ -2386,16 +2387,16 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2386
2387
|
<p>Remove direct edge from their src and dst edge sets. </p>
|
|
2387
2388
|
<p>Remove edges from their src and dst edge sets </p>
|
|
2388
2389
|
|
|
2389
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2390
|
-
<div class="fragment"><div class="line"><a name="
|
|
2391
|
-
<div class="line"><a name="
|
|
2392
|
-
<div class="line"><a name="
|
|
2393
|
-
<div class="line"><a name="
|
|
2394
|
-
<div class="line"><a name="
|
|
2395
|
-
<div class="line"><a name="
|
|
2396
|
-
<div class="line"><a name="
|
|
2397
|
-
<div class="line"><a name="
|
|
2398
|
-
<div class="line"><a name="
|
|
2390
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00448">448</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2391
|
+
<div class="fragment"><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>  </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#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>())-><a class="code" href="classSVF_1_1ConstraintNode.html#a73b8c0967cde518a2ea7dfea2a7dc32f">removeOutgoingDirectEdge</a>(edge);</div>
|
|
2394
|
+
<div class="line"><a name="l00452"></a><span class="lineno"> 452</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>
|
|
2395
|
+
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> num = <a class="code" href="classSVF_1_1ConstraintGraph.html#a1be3ebb84b3d334daf98f7e6f5b82256">directEdgeSet</a>.erase(edge);</div>
|
|
2396
|
+
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  (void)num; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
2397
|
+
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  assert(num && <span class="stringliteral">"edge not in the set, can not remove!!!"</span>);</div>
|
|
2398
|
+
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <span class="keyword">delete</span> edge;</div>
|
|
2399
|
+
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> }</div>
|
|
2399
2400
|
</div><!-- fragment -->
|
|
2400
2401
|
</div>
|
|
2401
2402
|
</div>
|
|
@@ -2418,15 +2419,15 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2418
2419
|
<p>Remove load edge from their src and dst edge sets. </p>
|
|
2419
2420
|
<p>Remove load edge from their src and dst edge sets </p>
|
|
2420
2421
|
|
|
2421
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2422
|
-
<div class="fragment"><div class="line"><a name="
|
|
2423
|
-
<div class="line"><a name="
|
|
2424
|
-
<div class="line"><a name="
|
|
2425
|
-
<div class="line"><a name="
|
|
2426
|
-
<div class="line"><a name="
|
|
2427
|
-
<div class="line"><a name="
|
|
2428
|
-
<div class="line"><a name="
|
|
2429
|
-
<div class="line"><a name="
|
|
2422
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00422">422</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2423
|
+
<div class="fragment"><div class="line"><a name="l00423"></a><span class="lineno"> 423</span> {</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#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>())-><a class="code" href="classSVF_1_1ConstraintNode.html#a7d810ec9abc8817a938a557ac78dc8c0">removeOutgoingLoadEdge</a>(edge);</div>
|
|
2425
|
+
<div class="line"><a name="l00425"></a><span class="lineno"> 425</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>
|
|
2426
|
+
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> num = <a class="code" href="classSVF_1_1ConstraintGraph.html#a1cb9124b29720e7a5b39d83419f9cc17">LoadCGEdgeSet</a>.erase(edge);</div>
|
|
2427
|
+
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  (void)num; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
2428
|
+
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  assert(num && <span class="stringliteral">"edge not in the set, can not remove!!!"</span>);</div>
|
|
2429
|
+
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  <span class="keyword">delete</span> edge;</div>
|
|
2430
|
+
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> }</div>
|
|
2430
2431
|
</div><!-- fragment -->
|
|
2431
2432
|
</div>
|
|
2432
2433
|
</div>
|
|
@@ -2449,15 +2450,15 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2449
2450
|
<p>Remove store edge from their src and dst edge sets. </p>
|
|
2450
2451
|
<p>Remove store edge from their src and dst edge sets </p>
|
|
2451
2452
|
|
|
2452
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2453
|
-
<div class="fragment"><div class="line"><a name="
|
|
2454
|
-
<div class="line"><a name="
|
|
2455
|
-
<div class="line"><a name="
|
|
2456
|
-
<div class="line"><a name="
|
|
2457
|
-
<div class="line"><a name="
|
|
2458
|
-
<div class="line"><a name="
|
|
2459
|
-
<div class="line"><a name="
|
|
2460
|
-
<div class="line"><a name="
|
|
2453
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00435">435</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2454
|
+
<div class="fragment"><div class="line"><a name="l00436"></a><span class="lineno"> 436</span> {</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#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>())-><a class="code" href="classSVF_1_1ConstraintNode.html#a24ef3eedb218283d106eceb8a73ca1b4">removeOutgoingStoreEdge</a>(edge);</div>
|
|
2456
|
+
<div class="line"><a name="l00438"></a><span class="lineno"> 438</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>
|
|
2457
|
+
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> num = <a class="code" href="classSVF_1_1ConstraintGraph.html#a0f9d5eef25827ac1d380e5d8bd225025">StoreCGEdgeSet</a>.erase(edge);</div>
|
|
2458
|
+
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  (void)num; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
2459
|
+
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  assert(num && <span class="stringliteral">"edge not in the set, can not remove!!!"</span>);</div>
|
|
2460
|
+
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keyword">delete</span> edge;</div>
|
|
2461
|
+
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> }</div>
|
|
2461
2462
|
</div><!-- fragment -->
|
|
2462
2463
|
</div>
|
|
2463
2464
|
</div>
|
|
@@ -2554,43 +2555,43 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2554
2555
|
<p>Re-target dst node of an edge</p>
|
|
2555
2556
|
<p>(1) Remove edge from old dst target, (2) Change edge dst id and (3) Add modified edge into new dst </p>
|
|
2556
2557
|
|
|
2557
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2558
|
-
<div class="fragment"><div class="line"><a name="
|
|
2559
|
-
<div class="line"><a name="
|
|
2560
|
-
<div class="line"><a name="
|
|
2561
|
-
<div class="line"><a name="
|
|
2562
|
-
<div class="line"><a name="
|
|
2563
|
-
<div class="line"><a name="
|
|
2564
|
-
<div class="line"><a name="
|
|
2565
|
-
<div class="line"><a name="
|
|
2566
|
-
<div class="line"><a name="
|
|
2567
|
-
<div class="line"><a name="
|
|
2568
|
-
<div class="line"><a name="
|
|
2569
|
-
<div class="line"><a name="
|
|
2570
|
-
<div class="line"><a name="
|
|
2571
|
-
<div class="line"><a name="
|
|
2572
|
-
<div class="line"><a name="
|
|
2573
|
-
<div class="line"><a name="
|
|
2574
|
-
<div class="line"><a name="
|
|
2575
|
-
<div class="line"><a name="
|
|
2576
|
-
<div class="line"><a name="
|
|
2577
|
-
<div class="line"><a name="
|
|
2578
|
-
<div class="line"><a name="
|
|
2579
|
-
<div class="line"><a name="
|
|
2580
|
-
<div class="line"><a name="
|
|
2581
|
-
<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="
|
|
2558
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00324">324</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2559
|
+
<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> {</div>
|
|
2560
|
+
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> newDstNodeID = newDstNode-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
2561
|
+
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> srcId = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>();</div>
|
|
2562
|
+
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1LoadCGEdge.html">LoadCGEdge</a>* load = SVFUtil::dyn_cast<LoadCGEdge>(edge))</div>
|
|
2563
|
+
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  {</div>
|
|
2564
|
+
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#aa4bca2422049413439cb0c3400f2ce28">removeLoadEdge</a>(load);</div>
|
|
2565
|
+
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a1e5a23fbd08cf4186775baffbd6a7934">addLoadCGEdge</a>(srcId,newDstNodeID);</div>
|
|
2566
|
+
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  }</div>
|
|
2567
|
+
<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_1StoreCGEdge.html">StoreCGEdge</a>* store = SVFUtil::dyn_cast<StoreCGEdge>(edge))</div>
|
|
2568
|
+
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  {</div>
|
|
2569
|
+
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#aad3d05c949c33a587b3ac6d627f5a0a2">removeStoreEdge</a>(store);</div>
|
|
2570
|
+
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a633666953f8d6675961981c4eab1adb0">addStoreCGEdge</a>(srcId,newDstNodeID);</div>
|
|
2571
|
+
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  }</div>
|
|
2572
|
+
<div class="line"><a name="l00338"></a><span class="lineno"> 338</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>
|
|
2573
|
+
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  {</div>
|
|
2574
|
+
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>);</div>
|
|
2575
|
+
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a60bb27100e8c264be2add004069d1758">addCopyCGEdge</a>(srcId,newDstNodeID);</div>
|
|
2576
|
+
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  }</div>
|
|
2577
|
+
<div class="line"><a name="l00343"></a><span class="lineno"> 343</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>
|
|
2578
|
+
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  {</div>
|
|
2579
|
+
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap = gep->getAccessPath();</div>
|
|
2580
|
+
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(gep);</div>
|
|
2581
|
+
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#ab0b4f708097d4b3d92b4513818fef68c">addNormalGepCGEdge</a>(srcId,newDstNodeID, ap);</div>
|
|
2582
|
+
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  }</div>
|
|
2583
|
+
<div class="line"><a name="l00349"></a><span class="lineno"> 349</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>
|
|
2584
|
+
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  {</div>
|
|
2585
|
+
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(gep);</div>
|
|
2586
|
+
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a6902cabb252b1eaadb3c8220b4581a2f">addVariantGepCGEdge</a>(srcId,newDstNodeID);</div>
|
|
2587
|
+
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  }</div>
|
|
2588
|
+
<div class="line"><a name="l00354"></a><span class="lineno"> 354</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>
|
|
2589
|
+
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  {</div>
|
|
2590
|
+
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#acc23df2db1fa7b8e0270d8a04f08f2ee">removeAddrEdge</a>(addr);</div>
|
|
2591
|
+
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  }</div>
|
|
2592
|
+
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">else</span></div>
|
|
2593
|
+
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"no other edge type!!"</span>);</div>
|
|
2594
|
+
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> }</div>
|
|
2594
2595
|
</div><!-- fragment -->
|
|
2595
2596
|
</div>
|
|
2596
2597
|
</div>
|
|
@@ -2623,43 +2624,43 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2623
2624
|
<p>Remove edge from old src target, change edge dst id and add modified edge into new src. </p>
|
|
2624
2625
|
<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>
|
|
2625
2626
|
|
|
2626
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2627
|
-
<div class="fragment"><div class="line"><a name="
|
|
2628
|
-
<div class="line"><a name="
|
|
2629
|
-
<div class="line"><a name="
|
|
2630
|
-
<div class="line"><a name="
|
|
2631
|
-
<div class="line"><a name="
|
|
2632
|
-
<div class="line"><a name="
|
|
2633
|
-
<div class="line"><a name="
|
|
2634
|
-
<div class="line"><a name="
|
|
2635
|
-
<div class="line"><a name="
|
|
2636
|
-
<div class="line"><a name="
|
|
2637
|
-
<div class="line"><a name="
|
|
2638
|
-
<div class="line"><a name="
|
|
2639
|
-
<div class="line"><a name="
|
|
2640
|
-
<div class="line"><a name="
|
|
2641
|
-
<div class="line"><a name="
|
|
2642
|
-
<div class="line"><a name="
|
|
2643
|
-
<div class="line"><a name="
|
|
2644
|
-
<div class="line"><a name="
|
|
2645
|
-
<div class="line"><a name="
|
|
2646
|
-
<div class="line"><a name="
|
|
2647
|
-
<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="
|
|
2654
|
-
<div class="line"><a name="
|
|
2655
|
-
<div class="line"><a name="
|
|
2656
|
-
<div class="line"><a name="
|
|
2657
|
-
<div class="line"><a name="
|
|
2658
|
-
<div class="line"><a name="
|
|
2659
|
-
<div class="line"><a name="
|
|
2660
|
-
<div class="line"><a name="
|
|
2661
|
-
<div class="line"><a name="
|
|
2662
|
-
<div class="line"><a name="
|
|
2627
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00368">368</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2628
|
+
<div class="fragment"><div class="line"><a name="l00369"></a><span class="lineno"> 369</span> {</div>
|
|
2629
|
+
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> newSrcNodeID = newSrcNode-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
2630
|
+
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dstId = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>();</div>
|
|
2631
|
+
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1LoadCGEdge.html">LoadCGEdge</a>* load = SVFUtil::dyn_cast<LoadCGEdge>(edge))</div>
|
|
2632
|
+
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  {</div>
|
|
2633
|
+
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#aa4bca2422049413439cb0c3400f2ce28">removeLoadEdge</a>(load);</div>
|
|
2634
|
+
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a1e5a23fbd08cf4186775baffbd6a7934">addLoadCGEdge</a>(newSrcNodeID,dstId);</div>
|
|
2635
|
+
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  }</div>
|
|
2636
|
+
<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_1StoreCGEdge.html">StoreCGEdge</a>* store = SVFUtil::dyn_cast<StoreCGEdge>(edge))</div>
|
|
2637
|
+
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  {</div>
|
|
2638
|
+
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#aad3d05c949c33a587b3ac6d627f5a0a2">removeStoreEdge</a>(store);</div>
|
|
2639
|
+
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a633666953f8d6675961981c4eab1adb0">addStoreCGEdge</a>(newSrcNodeID,dstId);</div>
|
|
2640
|
+
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  }</div>
|
|
2641
|
+
<div class="line"><a name="l00382"></a><span class="lineno"> 382</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>
|
|
2642
|
+
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  {</div>
|
|
2643
|
+
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>);</div>
|
|
2644
|
+
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a60bb27100e8c264be2add004069d1758">addCopyCGEdge</a>(newSrcNodeID,dstId);</div>
|
|
2645
|
+
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  }</div>
|
|
2646
|
+
<div class="line"><a name="l00387"></a><span class="lineno"> 387</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>
|
|
2647
|
+
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  {</div>
|
|
2648
|
+
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap = gep->getAccessPath();</div>
|
|
2649
|
+
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(gep);</div>
|
|
2650
|
+
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#ab0b4f708097d4b3d92b4513818fef68c">addNormalGepCGEdge</a>(newSrcNodeID, dstId, ap);</div>
|
|
2651
|
+
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  }</div>
|
|
2652
|
+
<div class="line"><a name="l00393"></a><span class="lineno"> 393</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>
|
|
2653
|
+
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  {</div>
|
|
2654
|
+
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">removeDirectEdge</a>(gep);</div>
|
|
2655
|
+
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#a6902cabb252b1eaadb3c8220b4581a2f">addVariantGepCGEdge</a>(newSrcNodeID,dstId);</div>
|
|
2656
|
+
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  }</div>
|
|
2657
|
+
<div class="line"><a name="l00398"></a><span class="lineno"> 398</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>
|
|
2658
|
+
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  {</div>
|
|
2659
|
+
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <a class="code" href="classSVF_1_1ConstraintGraph.html#acc23df2db1fa7b8e0270d8a04f08f2ee">removeAddrEdge</a>(addr);</div>
|
|
2660
|
+
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  }</div>
|
|
2661
|
+
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">else</span></div>
|
|
2662
|
+
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"no other edge type!!"</span>);</div>
|
|
2663
|
+
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> }</div>
|
|
2663
2664
|
</div><!-- fragment -->
|
|
2664
2665
|
</div>
|
|
2665
2666
|
</div>
|
|
@@ -2863,10 +2864,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2863
2864
|
<p>View graph from the debugger. </p>
|
|
2864
2865
|
<p>View dot graph of Constraint graph from debugger. </p>
|
|
2865
2866
|
|
|
2866
|
-
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#
|
|
2867
|
-
<div class="fragment"><div class="line"><a name="
|
|
2868
|
-
<div class="line"><a name="
|
|
2869
|
-
<div class="line"><a name="
|
|
2867
|
+
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00648">648</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
2868
|
+
<div class="fragment"><div class="line"><a name="l00649"></a><span class="lineno"> 649</span> {</div>
|
|
2869
|
+
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  <a class="code" href="namespaceSVF.html#a4582a7d33a5631a5a38973f50035327e">SVF::ViewGraph</a>(<span class="keyword">this</span>, <span class="stringliteral">"Constraint Graph"</span>);</div>
|
|
2870
|
+
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> }</div>
|
|
2870
2871
|
</div><!-- fragment -->
|
|
2871
2872
|
</div>
|
|
2872
2873
|
</div>
|
|
@@ -3096,23 +3097,24 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3096
3097
|
<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>
|
|
3097
3098
|
<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>
|
|
3098
3099
|
<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>
|
|
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#
|
|
3100
|
+
<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#l00448">ConsG.cpp:448</a></div></div>
|
|
3100
3101
|
<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>
|
|
3101
3102
|
<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#l00152">IRGraph.h:152</a></div></div>
|
|
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#
|
|
3103
|
+
<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#l00324">ConsG.cpp:324</a></div></div>
|
|
3103
3104
|
<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>
|
|
3104
3105
|
<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>
|
|
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#
|
|
3106
|
+
<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#l00234">ConsG.cpp:234</a></div></div>
|
|
3106
3107
|
<div class="ttc" id="aCommandLine_8h_html_a2429346d37bd4c40889bd7c6d319d9da"><div class="ttname"><a href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00018">CommandLine.h:18</a></div></div>
|
|
3107
3108
|
<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>
|
|
3108
|
-
<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#
|
|
3109
|
+
<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#l00591">SVFStatements.h:591</a></div></div>
|
|
3109
3110
|
<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>
|
|
3110
3111
|
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_ac246dc91562d4b1e168b7c39b2c2720f"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#ac246dc91562d4b1e168b7c39b2c2720f">SVF::ConstraintGraph::edgeIndex</a></div><div class="ttdeci">EdgeID edgeIndex</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00059">ConsG.h:59</a></div></div>
|
|
3111
3112
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00384">GenericGraph.h:384</a></div></div>
|
|
3112
|
-
<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#
|
|
3113
|
+
<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#l00813">SVFStatements.h:813</a></div></div>
|
|
3113
3114
|
<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>
|
|
3114
3115
|
<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>
|
|
3115
|
-
<div class="ttc" id="
|
|
3116
|
+
<div class="ttc" id="aclassSVF_1_1CopyStmt_html_ac05a1827caf102cb00c4605ba2ccd807"><div class="ttname"><a href="classSVF_1_1CopyStmt.html#ac05a1827caf102cb00c4605ba2ccd807">SVF::CopyStmt::isValueCopy</a></div><div class="ttdeci">bool isValueCopy() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00416">SVFStatements.h:416</a></div></div>
|
|
3117
|
+
<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#l00211">ConsG.cpp:211</a></div></div>
|
|
3116
3118
|
<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>
|
|
3117
3119
|
<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>
|
|
3118
3120
|
<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>
|
|
@@ -3120,11 +3122,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3120
3122
|
<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#l00137">IRGraph.h:137</a></div></div>
|
|
3121
3123
|
<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="GeneralType_8h_source.html#l00096">GeneralType.h:96</a></div></div>
|
|
3122
3124
|
<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>
|
|
3123
|
-
<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#
|
|
3125
|
+
<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#l00409">ConsG.cpp:409</a></div></div>
|
|
3124
3126
|
<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>
|
|
3125
3127
|
<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>
|
|
3126
|
-
<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#
|
|
3127
|
-
<div class="ttc" id="aclassSVF_1_1RetPE_html"><div class="ttname"><a href="classSVF_1_1RetPE.html">SVF::RetPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
3128
|
+
<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#l00881">SVFStatements.h:881</a></div></div>
|
|
3129
|
+
<div class="ttc" id="aclassSVF_1_1RetPE_html"><div class="ttname"><a href="classSVF_1_1RetPE.html">SVF::RetPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00670">SVFStatements.h:670</a></div></div>
|
|
3128
3130
|
<div class="ttc" id="aclassSVF_1_1FIFOWorkList_html_a7056704c224dfb4b57287fe90c004aa8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">SVF::FIFOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00146">WorkList.h:146</a></div></div>
|
|
3129
3131
|
<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>
|
|
3130
3132
|
<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>
|
|
@@ -3133,43 +3135,44 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3133
3135
|
<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>
|
|
3134
3136
|
<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>
|
|
3135
3137
|
<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>
|
|
3136
|
-
<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#
|
|
3138
|
+
<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#l00610">SVFStatements.h:610</a></div></div>
|
|
3137
3139
|
<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>
|
|
3138
3140
|
<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>
|
|
3139
|
-
<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#
|
|
3141
|
+
<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#l00422">ConsG.cpp:422</a></div></div>
|
|
3140
3142
|
<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>
|
|
3141
3143
|
<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>
|
|
3144
|
+
<div class="ttc" id="aclassSVF_1_1CopyStmt_html_a8d6022251e0206d91bb7118fb98934aa"><div class="ttname"><a href="classSVF_1_1CopyStmt.html#a8d6022251e0206d91bb7118fb98934aa">SVF::CopyStmt::isBitCast</a></div><div class="ttdeci">bool isBitCast() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00411">SVFStatements.h:411</a></div></div>
|
|
3142
3145
|
<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>
|
|
3143
3146
|
<div class="ttc" id="aclassSVF_1_1ConstraintNode_html_abc56843c51c00a9018473f415f73e9f6"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#abc56843c51c00a9018473f415f73e9f6">SVF::ConstraintNode::addOutgoingGepEdge</a></div><div class="ttdeci">void addOutgoingGepEdge(GepCGEdge *outEdge)</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00242">ConsGNode.h:242</a></div></div>
|
|
3144
3147
|
<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>
|
|
3145
3148
|
<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>
|
|
3146
3149
|
<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>
|
|
3147
3150
|
<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>
|
|
3148
|
-
<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#
|
|
3151
|
+
<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#l01290">SVFStatements.h:1290</a></div></div>
|
|
3149
3152
|
<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>
|
|
3150
3153
|
<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>
|
|
3151
3154
|
<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="ttdoc">Base and Offset methods for Value and Object node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00442">SVFIR.h:442</a></div></div>
|
|
3152
|
-
<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#
|
|
3155
|
+
<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#l00452">SVFStatements.h:452</a></div></div>
|
|
3153
3156
|
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a1be3ebb84b3d334daf98f7e6f5b82256"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a1be3ebb84b3d334daf98f7e6f5b82256">SVF::ConstraintGraph::directEdgeSet</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy directEdgeSet</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00062">ConsG.h:62</a></div></div>
|
|
3154
3157
|
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a1cb9124b29720e7a5b39d83419f9cc17"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a1cb9124b29720e7a5b39d83419f9cc17">SVF::ConstraintGraph::LoadCGEdgeSet</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy LoadCGEdgeSet</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00063">ConsG.h:63</a></div></div>
|
|
3155
3158
|
<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>
|
|
3156
3159
|
<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>
|
|
3157
3160
|
<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>
|
|
3158
3161
|
<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>
|
|
3159
|
-
<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#
|
|
3162
|
+
<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#l00556">SVFStatements.h:556</a></div></div>
|
|
3160
3163
|
<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>
|
|
3161
3164
|
<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>
|
|
3162
3165
|
<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>
|
|
3163
3166
|
<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>
|
|
3164
|
-
<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#
|
|
3167
|
+
<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#l00368">ConsG.cpp:368</a></div></div>
|
|
3165
3168
|
<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>
|
|
3166
|
-
<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#
|
|
3167
|
-
<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#
|
|
3169
|
+
<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#l00435">ConsG.cpp:435</a></div></div>
|
|
3170
|
+
<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#l00150">ConsG.cpp:150</a></div></div>
|
|
3168
3171
|
<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>
|
|
3169
|
-
<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#
|
|
3172
|
+
<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#l00191">ConsG.cpp:191</a></div></div>
|
|
3170
3173
|
<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>
|
|
3171
|
-
<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#
|
|
3172
|
-
<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#
|
|
3174
|
+
<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#l00794">SVFStatements.h:794</a></div></div>
|
|
3175
|
+
<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#l00256">ConsG.cpp:256</a></div></div>
|
|
3173
3176
|
<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>
|
|
3174
3177
|
<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>
|
|
3175
3178
|
<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#l00161">IRGraph.h:161</a></div></div>
|
|
@@ -3177,7 +3180,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3177
3180
|
<div class="ttc" id="aclassSVF_1_1ConstraintEdge_html_a663af27955ba0c545f34fa1f076b7375a20d6a102ddc06257a822ffffcc5a3b47"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a20d6a102ddc06257a822ffffcc5a3b47">SVF::ConstraintEdge::Store</a></div><div class="ttdeci">@ Store</div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00056">ConsGEdge.h:56</a></div></div>
|
|
3178
3181
|
<div class="ttc" id="aclassSVF_1_1ConstraintNode_html_ad8701df90d93c5dfed26cff8f0b2fbb3"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#ad8701df90d93c5dfed26cff8f0b2fbb3">SVF::ConstraintNode::setPWCNode</a></div><div class="ttdeci">void setPWCNode()</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00085">ConsGNode.h:85</a></div></div>
|
|
3179
3182
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a2878e202045b7f2c817185e8bf95d354"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2878e202045b7f2c817185e8bf95d354">SVF::SVFIR::getFIObjVar</a></div><div class="ttdeci">NodeID getFIObjVar(const MemObj *obj) const</div><div class="ttdoc">Get a field-insensitive obj SVFIR node according to a mem obj.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00402">SVFIR.h:402</a></div></div>
|
|
3180
|
-
<div class="ttc" id="aclassSVF_1_1LoadStmt_html"><div class="ttname"><a href="classSVF_1_1LoadStmt.html">SVF::LoadStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
3183
|
+
<div class="ttc" id="aclassSVF_1_1LoadStmt_html"><div class="ttname"><a href="classSVF_1_1LoadStmt.html">SVF::LoadStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00489">SVFStatements.h:489</a></div></div>
|
|
3181
3184
|
<div class="ttc" id="aclassSVF_1_1ConstraintGraph_html_a0f9d5eef25827ac1d380e5d8bd225025"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a0f9d5eef25827ac1d380e5d8bd225025">SVF::ConstraintGraph::StoreCGEdgeSet</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy StoreCGEdgeSet</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00064">ConsG.h:64</a></div></div>
|
|
3182
3185
|
<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>
|
|
3183
3186
|
<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>
|
|
@@ -3187,9 +3190,9 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3187
3190
|
<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>
|
|
3188
3191
|
<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>
|
|
3189
3192
|
<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>
|
|
3190
|
-
<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#
|
|
3193
|
+
<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#l00526">SVFStatements.h:526</a></div></div>
|
|
3191
3194
|
<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>
|
|
3192
|
-
<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#
|
|
3195
|
+
<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#l00298">ConsG.cpp:298</a></div></div>
|
|
3193
3196
|
<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>
|
|
3194
3197
|
<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#l00157">IRGraph.h:157</a></div></div>
|
|
3195
3198
|
<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>
|
|
@@ -3200,20 +3203,20 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3200
3203
|
<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>
|
|
3201
3204
|
<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>
|
|
3202
3205
|
<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>
|
|
3203
|
-
<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#
|
|
3206
|
+
<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#l00277">ConsG.cpp:277</a></div></div>
|
|
3204
3207
|
<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>
|
|
3205
3208
|
<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>
|
|
3206
3209
|
<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>
|
|
3207
3210
|
<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>
|
|
3208
|
-
<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#
|
|
3211
|
+
<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#l00521">ConsG.cpp:521</a></div></div>
|
|
3209
3212
|
<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>
|
|
3210
3213
|
<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>
|
|
3211
|
-
<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#
|
|
3214
|
+
<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#l01249">SVFStatements.h:1249</a></div></div>
|
|
3212
3215
|
<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>
|
|
3213
3216
|
<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>
|
|
3214
3217
|
<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>
|
|
3215
3218
|
<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>
|
|
3216
|
-
<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#
|
|
3219
|
+
<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#l00463">ConsG.cpp:463</a></div></div>
|
|
3217
3220
|
<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>
|
|
3218
3221
|
<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>
|
|
3219
3222
|
<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>
|
|
@@ -3233,7 +3236,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3233
3236
|
<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>
|
|
3234
3237
|
<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>
|
|
3235
3238
|
<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>
|
|
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#
|
|
3239
|
+
<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#l00169">ConsG.cpp:169</a></div></div>
|
|
3237
3240
|
<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>
|
|
3238
3241
|
<!-- start footer part -->
|
|
3239
3242
|
<hr class="footer"/><address class="footer"><small>
|