svf-tools 1.0.786 → 1.0.788
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/CDGBuilder_8cpp_source.html +128 -122
- package/SVF-doxygen/html/CDGBuilder_8h_source.html +5 -5
- package/SVF-doxygen/html/CFBasicBlockGBuilder_8cpp.html +92 -0
- package/SVF-doxygen/html/CFBasicBlockGBuilder_8cpp_source.html +291 -0
- package/SVF-doxygen/html/CFBasicBlockGBuilder_8h.html +98 -0
- package/SVF-doxygen/html/CFBasicBlockGBuilder_8h_source.html +154 -0
- package/SVF-doxygen/html/CFBasicBlockG_8cpp_source.html +49 -184
- package/SVF-doxygen/html/CFBasicBlockG_8h.html +0 -2
- package/SVF-doxygen/html/CFBasicBlockG_8h_source.html +509 -506
- package/SVF-doxygen/html/CHG_8cpp.html +2 -2
- package/SVF-doxygen/html/CHG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/MemSSA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFValue_8cpp_source.html +144 -141
- package/SVF-doxygen/html/SVFValue_8h_source.html +9 -9
- package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/VFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/WTO_8h_source.html +424 -372
- package/SVF-doxygen/html/classSVF_1_1CDGBuilder.html +119 -113
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGBuilder-members.html +4 -1
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGBuilder.html +302 -124
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO-members.html +48 -47
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO.html +306 -236
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTOCycle.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTONode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder-members.html +15 -14
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO_1_1TailBuilder.html +90 -44
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO_1_1WTOCycleDepthBuilder.html +26 -26
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGraph-members.html +32 -36
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGraph.html +121 -254
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockNode-members.html +46 -47
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockNode.html +185 -225
- package/SVF-doxygen/html/classSVF_1_1CHGraph.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1MemSSA.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1SVFBasicBlock.html +63 -63
- package/SVF-doxygen/html/classSVF_1_1SVFFunction.html +28 -28
- package/SVF-doxygen/html/classSVF_1_1SVFG.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFInstruction.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1SVFLoopAndDomInfo.html +25 -22
- package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1VFG.html +1 -1
- package/SVF-doxygen/html/dir_445b24f35a8ddd2effd3d23ee1278e0a.html +2 -0
- package/SVF-doxygen/html/dir_fee120689dee99ef16f8bfcaa7a76083.html +2 -0
- package/SVF-doxygen/html/files.html +35 -33
- package/SVF-doxygen/html/functions.html +3 -4
- package/SVF-doxygen/html/functions_a.html +19 -10
- package/SVF-doxygen/html/functions_b.html +6 -6
- package/SVF-doxygen/html/functions_c.html +29 -29
- package/SVF-doxygen/html/functions_func.html +15 -6
- package/SVF-doxygen/html/functions_func_b.html +1 -1
- package/SVF-doxygen/html/functions_func_c.html +21 -21
- package/SVF-doxygen/html/functions_func_g.html +13 -14
- package/SVF-doxygen/html/functions_func_h.html +5 -8
- package/SVF-doxygen/html/functions_func_i.html +10 -7
- package/SVF-doxygen/html/functions_func_s.html +22 -25
- package/SVF-doxygen/html/functions_func_t.html +1 -1
- package/SVF-doxygen/html/functions_g.html +10 -11
- package/SVF-doxygen/html/functions_h.html +3 -6
- package/SVF-doxygen/html/functions_i.html +10 -7
- package/SVF-doxygen/html/functions_l.html +3 -3
- package/SVF-doxygen/html/functions_n.html +4 -4
- package/SVF-doxygen/html/functions_o.html +19 -19
- package/SVF-doxygen/html/functions_p.html +21 -17
- package/SVF-doxygen/html/functions_r.html +1 -1
- package/SVF-doxygen/html/functions_s.html +14 -17
- package/SVF-doxygen/html/functions_t.html +4 -4
- package/SVF-doxygen/html/functions_v.html +3 -3
- package/SVF-doxygen/html/functions_vars.html +3 -4
- package/SVF-doxygen/html/functions_w.html +7 -7
- package/SVF-doxygen/html/namespaceSVF.html +1 -1
- package/SVF-doxygen/html/namespaceSVF_1_1SVFUtil.html +2 -2
- package/SVF-doxygen/html/search/all_0.js +123 -124
- package/SVF-doxygen/html/search/all_1.js +479 -476
- package/SVF-doxygen/html/search/all_10.js +324 -324
- package/SVF-doxygen/html/search/all_11.js +224 -224
- package/SVF-doxygen/html/search/all_12.js +541 -542
- package/SVF-doxygen/html/search/all_13.js +190 -190
- package/SVF-doxygen/html/search/all_14.js +67 -67
- package/SVF-doxygen/html/search/all_15.js +170 -170
- package/SVF-doxygen/html/search/all_16.js +63 -63
- package/SVF-doxygen/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/search/all_19.js +11 -11
- package/SVF-doxygen/html/search/all_1a.js +172 -172
- package/SVF-doxygen/html/search/all_2.js +167 -167
- package/SVF-doxygen/html/search/all_3.js +642 -640
- package/SVF-doxygen/html/search/all_4.js +233 -233
- package/SVF-doxygen/html/search/all_5.js +121 -121
- package/SVF-doxygen/html/search/all_6.js +225 -225
- package/SVF-doxygen/html/search/all_7.js +1038 -1038
- package/SVF-doxygen/html/search/all_8.js +194 -195
- package/SVF-doxygen/html/search/all_9.js +608 -607
- 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 +116 -116
- package/SVF-doxygen/html/search/all_d.js +196 -196
- package/SVF-doxygen/html/search/all_e.js +207 -207
- package/SVF-doxygen/html/search/all_f.js +116 -116
- package/SVF-doxygen/html/search/classes_0.js +26 -26
- package/SVF-doxygen/html/search/classes_1.js +9 -9
- package/SVF-doxygen/html/search/classes_10.js +73 -73
- package/SVF-doxygen/html/search/classes_11.js +15 -15
- package/SVF-doxygen/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/search/classes_14.js +14 -14
- package/SVF-doxygen/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/search/classes_2.js +80 -80
- package/SVF-doxygen/html/search/classes_3.js +37 -37
- package/SVF-doxygen/html/search/classes_4.js +9 -9
- package/SVF-doxygen/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/search/classes_6.js +104 -104
- package/SVF-doxygen/html/search/classes_7.js +33 -33
- package/SVF-doxygen/html/search/classes_8.js +56 -56
- package/SVF-doxygen/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/search/classes_d.js +18 -18
- package/SVF-doxygen/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/search/defines_1.js +2 -2
- package/SVF-doxygen/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/search/defines_3.js +21 -21
- package/SVF-doxygen/html/search/defines_4.js +2 -2
- package/SVF-doxygen/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/search/defines_c.js +3 -3
- package/SVF-doxygen/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/search/defines_e.js +7 -7
- package/SVF-doxygen/html/search/defines_f.js +3 -3
- package/SVF-doxygen/html/search/enums_0.js +3 -3
- package/SVF-doxygen/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/search/enums_4.js +3 -3
- package/SVF-doxygen/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
- package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
- package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
- package/SVF-doxygen/html/search/files_0.js +13 -13
- package/SVF-doxygen/html/search/files_1.js +7 -7
- package/SVF-doxygen/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/search/files_2.js +55 -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 +9 -9
- package/SVF-doxygen/html/search/files_7.js +14 -14
- package/SVF-doxygen/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/search/files_b.js +2 -2
- package/SVF-doxygen/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/search/functions_0.js +12 -12
- package/SVF-doxygen/html/search/functions_1.js +359 -356
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +138 -138
- package/SVF-doxygen/html/search/functions_12.js +276 -277
- package/SVF-doxygen/html/search/functions_13.js +58 -58
- package/SVF-doxygen/html/search/functions_14.js +39 -39
- package/SVF-doxygen/html/search/functions_15.js +71 -71
- package/SVF-doxygen/html/search/functions_16.js +32 -32
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +172 -172
- package/SVF-doxygen/html/search/functions_2.js +86 -86
- package/SVF-doxygen/html/search/functions_3.js +257 -257
- package/SVF-doxygen/html/search/functions_4.js +75 -75
- package/SVF-doxygen/html/search/functions_5.js +53 -53
- package/SVF-doxygen/html/search/functions_6.js +59 -59
- package/SVF-doxygen/html/search/functions_7.js +849 -849
- package/SVF-doxygen/html/search/functions_8.js +146 -147
- package/SVF-doxygen/html/search/functions_9.js +426 -425
- 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 +26 -26
- package/SVF-doxygen/html/search/functions_d.js +77 -77
- package/SVF-doxygen/html/search/functions_e.js +35 -35
- package/SVF-doxygen/html/search/functions_f.js +56 -56
- package/SVF-doxygen/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/search/related_0.js +2 -2
- package/SVF-doxygen/html/search/related_1.js +2 -2
- package/SVF-doxygen/html/search/related_2.js +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 +4 -4
- package/SVF-doxygen/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/search/related_c.js +1 -1
- package/SVF-doxygen/html/search/related_d.js +11 -11
- 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 +18 -18
- package/SVF-doxygen/html/search/typedefs_1.js +26 -26
- package/SVF-doxygen/html/search/typedefs_10.js +61 -61
- package/SVF-doxygen/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/search/typedefs_13.js +35 -35
- package/SVF-doxygen/html/search/typedefs_14.js +8 -8
- package/SVF-doxygen/html/search/typedefs_2.js +129 -129
- package/SVF-doxygen/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/search/typedefs_4.js +17 -17
- package/SVF-doxygen/html/search/typedefs_5.js +41 -41
- package/SVF-doxygen/html/search/typedefs_6.js +55 -55
- package/SVF-doxygen/html/search/typedefs_7.js +42 -42
- 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 +151 -152
- package/SVF-doxygen/html/search/variables_1.js +75 -75
- package/SVF-doxygen/html/search/variables_10.js +97 -97
- package/SVF-doxygen/html/search/variables_11.js +46 -46
- package/SVF-doxygen/html/search/variables_12.js +92 -92
- package/SVF-doxygen/html/search/variables_13.js +75 -75
- package/SVF-doxygen/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/search/variables_15.js +48 -48
- package/SVF-doxygen/html/search/variables_16.js +9 -9
- package/SVF-doxygen/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/search/variables_18.js +2 -2
- package/SVF-doxygen/html/search/variables_2.js +37 -37
- package/SVF-doxygen/html/search/variables_3.js +142 -142
- package/SVF-doxygen/html/search/variables_4.js +55 -55
- 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 +33 -33
- package/SVF-doxygen/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/search/variables_9.js +77 -77
- 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 +56 -56
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +30 -30
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +93 -40
- package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFBasicBlockNode_01_5_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockNode_01_5_01_4.html +1 -1
- package/package.json +1 -1
- package/svf/include/AbstractExecution/WTO.h +56 -10
- package/svf/include/Graphs/CFBasicBlockG.h +62 -50
- package/svf/include/Util/CFBasicBlockGBuilder.h +59 -0
- package/svf/lib/Graphs/CFBasicBlockG.cpp +0 -111
- package/svf/lib/SVFIR/SVFValue.cpp +2 -0
- package/svf/lib/Util/CDGBuilder.cpp +5 -0
- package/svf/lib/Util/CFBasicBlockGBuilder.cpp +183 -0
|
@@ -220,14 +220,14 @@ Private Attributes</h2></td></tr>
|
|
|
220
220
|
<p>start here </p>
|
|
221
221
|
<p>Start here </p>
|
|
222
222
|
|
|
223
|
-
<p class="definition">Definition at line <a class="el" href="CDGBuilder_8cpp_source.html#
|
|
224
|
-
<div class="fragment"><div class="line"><a name="
|
|
225
|
-
<div class="line"><a name="
|
|
226
|
-
<div class="line"><a name="
|
|
227
|
-
<div class="line"><a name="
|
|
228
|
-
<div class="line"><a name="
|
|
229
|
-
<div class="line"><a name="
|
|
230
|
-
<div class="line"><a name="
|
|
223
|
+
<p class="definition">Definition at line <a class="el" href="CDGBuilder_8cpp_source.html#l00081">81</a> of file <a class="el" href="CDGBuilder_8cpp_source.html">CDGBuilder.cpp</a>.</p>
|
|
224
|
+
<div class="fragment"><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> {</div>
|
|
225
|
+
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CDGBuilder.html#abd60cdbb947fe63accc2fea3683b81e4">_controlDG</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">getTotalNodeNum</a>() > 0)</div>
|
|
226
|
+
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">return</span>;</div>
|
|
227
|
+
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="classSVF_1_1SVFIR.html">PAG</a> *pag = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div>
|
|
228
|
+
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="classSVF_1_1CDGBuilder.html#aa57921c1c3002e7e35cfb6b113cd8031">buildControlDependence</a>(pag-><a class="code" href="classSVF_1_1SVFIR.html#ad6e18f520f6b559f2304002792f6b701">getModule</a>());</div>
|
|
229
|
+
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="classSVF_1_1CDGBuilder.html#ab56c8f3ab29a907d420622dd8e933f0d">buildICFGNodeControlMap</a>();</div>
|
|
230
|
+
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> }</div>
|
|
231
231
|
</div><!-- fragment -->
|
|
232
232
|
</div>
|
|
233
233
|
</div>
|
|
@@ -256,37 +256,37 @@ Private Attributes</h2></td></tr>
|
|
|
256
256
|
</dd>
|
|
257
257
|
</dl>
|
|
258
258
|
|
|
259
|
-
<p class="definition">Definition at line <a class="el" href="CDGBuilder_8cpp_source.html#
|
|
260
|
-
<div class="fragment"><div class="line"><a name="
|
|
261
|
-
<div class="line"><a name="
|
|
262
|
-
<div class="line"><a name="
|
|
263
|
-
<div class="line"><a name="
|
|
264
|
-
<div class="line"><a name="
|
|
265
|
-
<div class="line"><a name="
|
|
266
|
-
<div class="line"><a name="
|
|
267
|
-
<div class="line"><a name="
|
|
268
|
-
<div class="line"><a name="
|
|
269
|
-
<div class="line"><a name="
|
|
270
|
-
<div class="line"><a name="
|
|
271
|
-
<div class="line"><a name="
|
|
272
|
-
<div class="line"><a name="
|
|
273
|
-
<div class="line"><a name="
|
|
274
|
-
<div class="line"><a name="
|
|
275
|
-
<div class="line"><a name="
|
|
276
|
-
<div class="line"><a name="
|
|
277
|
-
<div class="line"><a name="
|
|
278
|
-
<div class="line"><a name="
|
|
279
|
-
<div class="line"><a name="
|
|
280
|
-
<div class="line"><a name="
|
|
281
|
-
<div class="line"><a name="
|
|
282
|
-
<div class="line"><a name="
|
|
283
|
-
<div class="line"><a name="
|
|
284
|
-
<div class="line"><a name="
|
|
285
|
-
<div class="line"><a name="
|
|
286
|
-
<div class="line"><a name="
|
|
287
|
-
<div class="line"><a name="
|
|
288
|
-
<div class="line"><a name="
|
|
289
|
-
<div class="line"><a name="
|
|
259
|
+
<p class="definition">Definition at line <a class="el" href="CDGBuilder_8cpp_source.html#l00125">125</a> of file <a class="el" href="CDGBuilder_8cpp_source.html">CDGBuilder.cpp</a>.</p>
|
|
260
|
+
<div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> {</div>
|
|
261
|
+
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &svfFun: *svfgModule)</div>
|
|
262
|
+
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  {</div>
|
|
263
|
+
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVFUtil::isExtCall</a>(svfFun)) <span class="keywordflow">continue</span>;</div>
|
|
264
|
+
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="comment">// extract basic block edges to be processed</span></div>
|
|
265
|
+
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const SVFBasicBlock *, std::vector<const SVFBasicBlock *></a>> BBS;</div>
|
|
266
|
+
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="classSVF_1_1CDGBuilder.html#ac0b9dae9bae020608e293b1288bb988b">extractBBS</a>(svfFun, BBS);</div>
|
|
267
|
+
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  </div>
|
|
268
|
+
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>: BBS)</div>
|
|
269
|
+
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  {</div>
|
|
270
|
+
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *pred = <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.first;</div>
|
|
271
|
+
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="comment">// for each bb pair</span></div>
|
|
272
|
+
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *succ: <a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.second)</div>
|
|
273
|
+
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  {</div>
|
|
274
|
+
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *SVFLCA = <span class="keyword">const_cast<</span><a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<span class="keyword">></span>(svfFun)-></div>
|
|
275
|
+
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  getLoopAndDomInfo()->findNearestCommonPDominator(pred, succ);</div>
|
|
276
|
+
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  std::vector<const SVFBasicBlock *> tgtNodes;</div>
|
|
277
|
+
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">if</span> (SVFLCA == pred) tgtNodes.push_back(SVFLCA);</div>
|
|
278
|
+
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="comment">// from succ to LCA</span></div>
|
|
279
|
+
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <a class="code" href="classSVF_1_1CDGBuilder.html#a6a7139139b2f0124e1729036490886db">extractNodesBetweenPdomNodes</a>(succ, SVFLCA, tgtNodes);</div>
|
|
280
|
+
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  </div>
|
|
281
|
+
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> pos = <a class="code" href="classSVF_1_1CDGBuilder.html#af65f6090142a61d13e1510c771baaeb1">getBBSuccessorBranchID</a>(pred, succ);</div>
|
|
282
|
+
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *bb: tgtNodes)</div>
|
|
283
|
+
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  {</div>
|
|
284
|
+
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <a class="code" href="classSVF_1_1CDGBuilder.html#a55d97ecc3c08999d54f11ba051db3abf">updateMap</a>(pred, bb, pos);</div>
|
|
285
|
+
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  }</div>
|
|
286
|
+
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  }</div>
|
|
287
|
+
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  }</div>
|
|
288
|
+
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  }</div>
|
|
289
|
+
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }</div>
|
|
290
290
|
</div><!-- fragment -->
|
|
291
291
|
</div>
|
|
292
292
|
</div>
|
|
@@ -308,36 +308,36 @@ Private Attributes</h2></td></tr>
|
|
|
308
308
|
<p>build map at icfg node level </p>
|
|
309
309
|
<p>Build map at <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> node level </p>
|
|
310
310
|
|
|
311
|
-
<p class="definition">Definition at line <a class="el" href="CDGBuilder_8cpp_source.html#
|
|
312
|
-
<div class="fragment"><div class="line"><a name="
|
|
313
|
-
<div class="line"><a name="
|
|
314
|
-
<div class="line"><a name="
|
|
315
|
-
<div class="line"><a name="
|
|
316
|
-
<div class="line"><a name="
|
|
317
|
-
<div class="line"><a name="
|
|
318
|
-
<div class="line"><a name="
|
|
319
|
-
<div class="line"><a name="
|
|
320
|
-
<div class="line"><a name="
|
|
321
|
-
<div class="line"><a name="
|
|
322
|
-
<div class="line"><a name="
|
|
323
|
-
<div class="line"><a name="
|
|
324
|
-
<div class="line"><a name="
|
|
325
|
-
<div class="line"><a name="
|
|
326
|
-
<div class="line"><a name="
|
|
327
|
-
<div class="line"><a name="
|
|
328
|
-
<div class="line"><a name="
|
|
329
|
-
<div class="line"><a name="
|
|
330
|
-
<div class="line"><a name="
|
|
331
|
-
<div class="line"><a name="
|
|
332
|
-
<div class="line"><a name="
|
|
333
|
-
<div class="line"><a name="
|
|
334
|
-
<div class="line"><a name="
|
|
335
|
-
<div class="line"><a name="
|
|
336
|
-
<div class="line"><a name="
|
|
337
|
-
<div class="line"><a name="
|
|
338
|
-
<div class="line"><a name="
|
|
339
|
-
<div class="line"><a name="
|
|
340
|
-
<div class="line"><a name="
|
|
311
|
+
<p class="definition">Definition at line <a class="el" href="CDGBuilder_8cpp_source.html#l00181">181</a> of file <a class="el" href="CDGBuilder_8cpp_source.html">CDGBuilder.cpp</a>.</p>
|
|
312
|
+
<div class="fragment"><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> {</div>
|
|
313
|
+
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <a class="code" href="classSVF_1_1ICFG.html">ICFG</a> *icfg = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>();</div>
|
|
314
|
+
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &it: <a class="code" href="classSVF_1_1CDGBuilder.html#ab24b985813e362f9470593e615c4c613">_svfcontrolMap</a>)</div>
|
|
315
|
+
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  {</div>
|
|
316
|
+
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &it2: it.second)</div>
|
|
317
|
+
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  {</div>
|
|
318
|
+
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a> *controllingBB = it2.first;</div>
|
|
319
|
+
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="comment">// const ICFGNode *controlNode = _bbToNode[it.first].first;</span></div>
|
|
320
|
+
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="comment">// if(!controlNode) continue;</span></div>
|
|
321
|
+
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a> *terminator = it.first->getInstructionList().back();</div>
|
|
322
|
+
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordflow">if</span> (!terminator) <span class="keywordflow">continue</span>;</div>
|
|
323
|
+
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *controlNode = icfg-><a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(terminator);</div>
|
|
324
|
+
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">if</span> (!controlNode) <span class="keywordflow">continue</span>;</div>
|
|
325
|
+
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="comment">// controlNode control at pos</span></div>
|
|
326
|
+
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &inst: *controllingBB)</div>
|
|
327
|
+
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  {</div>
|
|
328
|
+
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *controllee = icfg-><a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(inst);</div>
|
|
329
|
+
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="classSVF_1_1CDGBuilder.html#a0774da5d81fe9e454800c63f2ada4a00">_nodeControlMap</a>[controlNode][controllee].insert(it2.second.begin(), it2.second.end());</div>
|
|
330
|
+
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="classSVF_1_1CDGBuilder.html#ae62cf8bbe09fcccbace46375f5b043f8">_nodeDependentOnMap</a>[controllee][controlNode].insert(it2.second.begin(), it2.second.end());</div>
|
|
331
|
+
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> pos: it2.second)</div>
|
|
332
|
+
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  {</div>
|
|
333
|
+
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <a class="code" href="classSVF_1_1CDGBuilder.html#abd60cdbb947fe63accc2fea3683b81e4">_controlDG</a>-><a class="code" href="classSVF_1_1CDG.html#a71ccf9520bb222dc0779716e213aabf2">addCDGEdgeFromSrcDst</a>(controlNode, controllee,</div>
|
|
334
|
+
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  SVFUtil::dyn_cast<IntraICFGNode>(controlNode)->getInst(),</div>
|
|
335
|
+
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  pos);</div>
|
|
336
|
+
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  }</div>
|
|
337
|
+
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  }</div>
|
|
338
|
+
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  }</div>
|
|
339
|
+
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  }</div>
|
|
340
|
+
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> }</div>
|
|
341
341
|
</div><!-- fragment -->
|
|
342
342
|
</div>
|
|
343
343
|
</div>
|
|
@@ -456,18 +456,18 @@ Private Attributes</h2></td></tr>
|
|
|
456
456
|
</dd>
|
|
457
457
|
</dl>
|
|
458
458
|
|
|
459
|
-
<p class="definition">Definition at line <a class="el" href="CDGBuilder_8cpp_source.html#
|
|
460
|
-
<div class="fragment"><div class="line"><a name="
|
|
461
|
-
<div class="line"><a name="
|
|
462
|
-
<div class="line"><a name="
|
|
463
|
-
<div class="line"><a name="
|
|
464
|
-
<div class="line"><a name="
|
|
465
|
-
<div class="line"><a name="
|
|
466
|
-
<div class="line"><a name="
|
|
467
|
-
<div class="line"><a name="
|
|
468
|
-
<div class="line"><a name="
|
|
469
|
-
<div class="line"><a name="
|
|
470
|
-
<div class="line"><a name="
|
|
459
|
+
<p class="definition">Definition at line <a class="el" href="CDGBuilder_8cpp_source.html#l00164">164</a> of file <a class="el" href="CDGBuilder_8cpp_source.html">CDGBuilder.cpp</a>.</p>
|
|
460
|
+
<div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> {</div>
|
|
461
|
+
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &bb: *func)</div>
|
|
462
|
+
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  {</div>
|
|
463
|
+
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &succ: bb->getSuccessors())</div>
|
|
464
|
+
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  {</div>
|
|
465
|
+
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">if</span> (func->postDominate(succ, bb))</div>
|
|
466
|
+
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">continue</span>;</div>
|
|
467
|
+
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  res[bb].push_back(succ);</div>
|
|
468
|
+
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  }</div>
|
|
469
|
+
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  }</div>
|
|
470
|
+
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> }</div>
|
|
471
471
|
</div><!-- fragment -->
|
|
472
472
|
</div>
|
|
473
473
|
</div>
|
|
@@ -523,11 +523,16 @@ Private Attributes</h2></td></tr>
|
|
|
523
523
|
|
|
524
524
|
<p class="definition">Definition at line <a class="el" href="CDGBuilder_8cpp_source.html#l00064">64</a> of file <a class="el" href="CDGBuilder_8cpp_source.html">CDGBuilder.cpp</a>.</p>
|
|
525
525
|
<div class="fragment"><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> {</div>
|
|
526
|
-
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">if</span> (
|
|
527
|
-
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> 
|
|
528
|
-
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> 
|
|
529
|
-
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> 
|
|
530
|
-
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> }</div>
|
|
526
|
+
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">if</span> (LCA == <a class="code" href="cJSON_8cpp.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a>)</div>
|
|
527
|
+
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  {</div>
|
|
528
|
+
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  tgtNodes.push_back(succ);</div>
|
|
529
|
+
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">return</span>;</div>
|
|
530
|
+
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div>
|
|
531
|
+
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">if</span> (succ == LCA) <span class="keywordflow">return</span>;</div>
|
|
532
|
+
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  std::vector<const SVFBasicBlock *> path;</div>
|
|
533
|
+
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="classSVF_1_1SVFLoopAndDomInfo.html">SVFLoopAndDomInfo</a> *ld = <span class="keyword">const_cast<</span><a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *<span class="keyword">></span>(LCA-><a class="code" href="classSVF_1_1SVFBasicBlock.html#aeaa9b2b4e802d9e6bed138eaf3186d09">getFunction</a>())->getLoopAndDomInfo();</div>
|
|
534
|
+
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="classSVF_1_1CDGBuilder.html#a6efa510f946ea8befebbc94bed241395">dfsNodesBetweenPdomNodes</a>(LCA, succ, path, tgtNodes, ld);</div>
|
|
535
|
+
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div>
|
|
531
536
|
</div><!-- fragment -->
|
|
532
537
|
</div>
|
|
533
538
|
</div>
|
|
@@ -565,29 +570,29 @@ Private Attributes</h2></td></tr>
|
|
|
565
570
|
</table>
|
|
566
571
|
</div><div class="memdoc">
|
|
567
572
|
|
|
568
|
-
<p class="definition">Definition at line <a class="el" href="CDGBuilder_8cpp_source.html#
|
|
569
|
-
<div class="fragment"><div class="line"><a name="
|
|
570
|
-
<div class="line"><a name="
|
|
571
|
-
<div class="line"><a name="
|
|
572
|
-
<div class="line"><a name="
|
|
573
|
-
<div class="line"><a name="
|
|
574
|
-
<div class="line"><a name="
|
|
575
|
-
<div class="line"><a name="
|
|
576
|
-
<div class="line"><a name="
|
|
577
|
-
<div class="line"><a name="
|
|
578
|
-
<div class="line"><a name="
|
|
579
|
-
<div class="line"><a name="
|
|
580
|
-
<div class="line"><a name="
|
|
581
|
-
<div class="line"><a name="
|
|
582
|
-
<div class="line"><a name="
|
|
583
|
-
<div class="line"><a name="
|
|
584
|
-
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  }</div>
|
|
585
|
-
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">else</span></div>
|
|
586
|
-
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  {</div>
|
|
587
|
-
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"not intra edge?"</span>);</div>
|
|
588
|
-
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  abort();</div>
|
|
573
|
+
<p class="definition">Definition at line <a class="el" href="CDGBuilder_8cpp_source.html#l00091">91</a> of file <a class="el" href="CDGBuilder_8cpp_source.html">CDGBuilder.cpp</a>.</p>
|
|
574
|
+
<div class="fragment"><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> {</div>
|
|
575
|
+
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="classSVF_1_1ICFG.html">ICFG</a> *icfg = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>();</div>
|
|
576
|
+
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *pred = icfg-><a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(BB-><a class="code" href="classSVF_1_1SVFBasicBlock.html#a10707086ce21999f415c479706abbd38">getTerminator</a>());</div>
|
|
577
|
+
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> *edge = <span class="keyword">nullptr</span>;</div>
|
|
578
|
+
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &inst: Succ-><a class="code" href="classSVF_1_1SVFBasicBlock.html#a8cb9cc170c9693b9bfe9a0f7a65a618e">getInstructionList</a>())</div>
|
|
579
|
+
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  {</div>
|
|
580
|
+
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> *e = icfg-><a class="code" href="classSVF_1_1ICFG.html#a5dd4ac55123501c47c628adcf27e2475">getICFGEdge</a>(pred, icfg-><a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(inst), ICFGEdge::ICFGEdgeK::IntraCF))</div>
|
|
581
|
+
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  {</div>
|
|
582
|
+
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  edge = e;</div>
|
|
583
|
+
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">break</span>;</div>
|
|
584
|
+
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  }</div>
|
|
585
|
+
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  }</div>
|
|
586
|
+
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a> *intraEdge = SVFUtil::dyn_cast<IntraCFGEdge>(edge))</div>
|
|
587
|
+
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  {</div>
|
|
588
|
+
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">return</span> intraEdge->getSuccessorCondValue();</div>
|
|
589
589
|
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  }</div>
|
|
590
|
-
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> 
|
|
590
|
+
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">else</span></div>
|
|
591
|
+
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</div>
|
|
592
|
+
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"not intra edge?"</span>);</div>
|
|
593
|
+
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  abort();</div>
|
|
594
|
+
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  }</div>
|
|
595
|
+
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> }</div>
|
|
591
596
|
</div><!-- fragment -->
|
|
592
597
|
</div>
|
|
593
598
|
</div>
|
|
@@ -782,7 +787,7 @@ Private Attributes</h2></td></tr>
|
|
|
782
787
|
<div class="ttc" id="aclassSVF_1_1CDGBuilder_html_a0774da5d81fe9e454800c63f2ada4a00"><div class="ttname"><a href="classSVF_1_1CDGBuilder.html#a0774da5d81fe9e454800c63f2ada4a00">SVF::CDGBuilder::_nodeControlMap</a></div><div class="ttdeci">Map< const ICFGNode *, Map< const ICFGNode *, Set< s32_t > > > _nodeControlMap</div><div class="ttdoc">map an ICFG node to its controlling ICFG nodes (position, set of Nodes)</div><div class="ttdef"><b>Definition:</b> <a href="CDGBuilder_8h_source.html#l00101">CDGBuilder.h:101</a></div></div>
|
|
783
788
|
<div class="ttc" id="aclassSVF_1_1CDGBuilder_html_ab24b985813e362f9470593e615c4c613"><div class="ttname"><a href="classSVF_1_1CDGBuilder.html#ab24b985813e362f9470593e615c4c613">SVF::CDGBuilder::_svfcontrolMap</a></div><div class="ttdeci">Map< const SVFBasicBlock *, Map< const SVFBasicBlock *, Set< s32_t > > > _svfcontrolMap</div><div class="ttdoc">map a basicblock to its controlling BBs (position, set of BBs)</div><div class="ttdef"><b>Definition:</b> <a href="CDGBuilder_8h_source.html#l00099">CDGBuilder.h:99</a></div></div>
|
|
784
789
|
<div class="ttc" id="aclassSVF_1_1CDG_html_aadc90afbdeff9aae0365cde7b96ae9bc"><div class="ttname"><a href="classSVF_1_1CDG.html#aadc90afbdeff9aae0365cde7b96ae9bc">SVF::CDG::getCDG</a></div><div class="ttdeci">static CDG * getCDG()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis.</div><div class="ttdef"><b>Definition:</b> <a href="CDG_8h_source.html#l00149">CDG.h:149</a></div></div>
|
|
785
|
-
<div class="ttc" id="aclassSVF_1_1CDGBuilder_html_af65f6090142a61d13e1510c771baaeb1"><div class="ttname"><a href="classSVF_1_1CDGBuilder.html#af65f6090142a61d13e1510c771baaeb1">SVF::CDGBuilder::getBBSuccessorBranchID</a></div><div class="ttdeci">s64_t getBBSuccessorBranchID(const SVFBasicBlock *BB, const SVFBasicBlock *Succ)</div><div class="ttdef"><b>Definition:</b> <a href="CDGBuilder_8cpp_source.html#
|
|
790
|
+
<div class="ttc" id="aclassSVF_1_1CDGBuilder_html_af65f6090142a61d13e1510c771baaeb1"><div class="ttname"><a href="classSVF_1_1CDGBuilder.html#af65f6090142a61d13e1510c771baaeb1">SVF::CDGBuilder::getBBSuccessorBranchID</a></div><div class="ttdeci">s64_t getBBSuccessorBranchID(const SVFBasicBlock *BB, const SVFBasicBlock *Succ)</div><div class="ttdef"><b>Definition:</b> <a href="CDGBuilder_8cpp_source.html#l00091">CDGBuilder.cpp:91</a></div></div>
|
|
786
791
|
<div class="ttc" id="aclassSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
|
|
787
792
|
<div class="ttc" id="aclassSVF_1_1CDGBuilder_html_ae62cf8bbe09fcccbace46375f5b043f8"><div class="ttname"><a href="classSVF_1_1CDGBuilder.html#ae62cf8bbe09fcccbace46375f5b043f8">SVF::CDGBuilder::_nodeDependentOnMap</a></div><div class="ttdeci">Map< const ICFGNode *, Map< const ICFGNode *, Set< s32_t > > > _nodeDependentOnMap</div><div class="ttdoc">map an ICFG node to its dependent on ICFG nodes (position, set of Nodes)</div><div class="ttdef"><b>Definition:</b> <a href="CDGBuilder_8h_source.html#l00102">CDGBuilder.h:102</a></div></div>
|
|
788
793
|
<div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html">SVF::SVFBasicBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00517">SVFValue.h:517</a></div></div>
|
|
@@ -790,18 +795,19 @@ Private Attributes</h2></td></tr>
|
|
|
790
795
|
<div class="ttc" id="aclassSVF_1_1CDGBuilder_html_a6a7139139b2f0124e1729036490886db"><div class="ttname"><a href="classSVF_1_1CDGBuilder.html#a6a7139139b2f0124e1729036490886db">SVF::CDGBuilder::extractNodesBetweenPdomNodes</a></div><div class="ttdeci">void extractNodesBetweenPdomNodes(const SVFBasicBlock *succ, const SVFBasicBlock *LCA, std::vector< const SVFBasicBlock * > &tgtNodes)</div><div class="ttdoc">extract nodes between two nodes in pdom tree</div><div class="ttdef"><b>Definition:</b> <a href="CDGBuilder_8cpp_source.html#l00064">CDGBuilder.cpp:64</a></div></div>
|
|
791
796
|
<div class="ttc" id="aclassSVF_1_1CDGBuilder_html_a243ef2e6fa014ab5814a2200f92cc93e"><div class="ttname"><a href="classSVF_1_1CDGBuilder.html#a243ef2e6fa014ab5814a2200f92cc93e">SVF::CDGBuilder::_svfdependentOnMap</a></div><div class="ttdeci">Map< const SVFBasicBlock *, Map< const SVFBasicBlock *, Set< s32_t > > > _svfdependentOnMap</div><div class="ttdoc">map a basicblock to its dependent on BBs (position, set of BBs)</div><div class="ttdef"><b>Definition:</b> <a href="CDGBuilder_8h_source.html#l00100">CDGBuilder.h:100</a></div></div>
|
|
792
797
|
<div class="ttc" id="aclassSVF_1_1ICFG_html_a5f2c0aaba07d6fdd63058da0fb60ca8b"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">SVF::ICFG::getICFGNode</a></div><div class="ttdeci">ICFGNode * getICFGNode(NodeID id) const</div><div class="ttdoc">Get a ICFG node.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00088">ICFG.h:88</a></div></div>
|
|
793
|
-
<div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_a10707086ce21999f415c479706abbd38"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a10707086ce21999f415c479706abbd38">SVF::SVFBasicBlock::getTerminator</a></div><div class="ttdeci">const SVFInstruction * getTerminator() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#
|
|
798
|
+
<div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_a10707086ce21999f415c479706abbd38"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a10707086ce21999f415c479706abbd38">SVF::SVFBasicBlock::getTerminator</a></div><div class="ttdeci">const SVFInstruction * getTerminator() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00225">SVFValue.cpp:225</a></div></div>
|
|
794
799
|
<div class="ttc" id="aclassSVF_1_1IntraCFGEdge_html"><div class="ttname"><a href="classSVF_1_1IntraCFGEdge.html">SVF::IntraCFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00113">ICFGEdge.h:113</a></div></div>
|
|
795
|
-
<div class="ttc" id="aclassSVF_1_1CDGBuilder_html_ab56c8f3ab29a907d420622dd8e933f0d"><div class="ttname"><a href="classSVF_1_1CDGBuilder.html#ab56c8f3ab29a907d420622dd8e933f0d">SVF::CDGBuilder::buildICFGNodeControlMap</a></div><div class="ttdeci">void buildICFGNodeControlMap()</div><div class="ttdoc">build map at icfg node level</div><div class="ttdef"><b>Definition:</b> <a href="CDGBuilder_8cpp_source.html#
|
|
800
|
+
<div class="ttc" id="aclassSVF_1_1CDGBuilder_html_ab56c8f3ab29a907d420622dd8e933f0d"><div class="ttname"><a href="classSVF_1_1CDGBuilder.html#ab56c8f3ab29a907d420622dd8e933f0d">SVF::CDGBuilder::buildICFGNodeControlMap</a></div><div class="ttdeci">void buildICFGNodeControlMap()</div><div class="ttdoc">build map at icfg node level</div><div class="ttdef"><b>Definition:</b> <a href="CDGBuilder_8cpp_source.html#l00181">CDGBuilder.cpp:181</a></div></div>
|
|
796
801
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00297">SVFValue.h:297</a></div></div>
|
|
797
802
|
<div class="ttc" id="aclassSVF_1_1CDGBuilder_html_a55d97ecc3c08999d54f11ba051db3abf"><div class="ttname"><a href="classSVF_1_1CDGBuilder.html#a55d97ecc3c08999d54f11ba051db3abf">SVF::CDGBuilder::updateMap</a></div><div class="ttdeci">void updateMap(const SVFBasicBlock *pred, const SVFBasicBlock *bb, s32_t pos)</div><div class="ttdoc">update map</div><div class="ttdef"><b>Definition:</b> <a href="CDGBuilder_8h_source.html#l00090">CDGBuilder.h:90</a></div></div>
|
|
798
|
-
<div class="ttc" id="aclassSVF_1_1CDGBuilder_html_aa57921c1c3002e7e35cfb6b113cd8031"><div class="ttname"><a href="classSVF_1_1CDGBuilder.html#aa57921c1c3002e7e35cfb6b113cd8031">SVF::CDGBuilder::buildControlDependence</a></div><div class="ttdeci">void buildControlDependence(const SVFModule *svfgModule)</div><div class="ttdoc">build control dependence for each function</div><div class="ttdef"><b>Definition:</b> <a href="CDGBuilder_8cpp_source.html#
|
|
803
|
+
<div class="ttc" id="aclassSVF_1_1CDGBuilder_html_aa57921c1c3002e7e35cfb6b113cd8031"><div class="ttname"><a href="classSVF_1_1CDGBuilder.html#aa57921c1c3002e7e35cfb6b113cd8031">SVF::CDGBuilder::buildControlDependence</a></div><div class="ttdeci">void buildControlDependence(const SVFModule *svfgModule)</div><div class="ttdoc">build control dependence for each function</div><div class="ttdef"><b>Definition:</b> <a href="CDGBuilder_8cpp_source.html#l00125">CDGBuilder.cpp:125</a></div></div>
|
|
799
804
|
<div class="ttc" id="aclassSVF_1_1CDGBuilder_html_abd60cdbb947fe63accc2fea3683b81e4"><div class="ttname"><a href="classSVF_1_1CDGBuilder.html#abd60cdbb947fe63accc2fea3683b81e4">SVF::CDGBuilder::_controlDG</a></div><div class="ttdeci">CDG * _controlDG</div><div class="ttdef"><b>Definition:</b> <a href="CDGBuilder_8h_source.html#l00098">CDGBuilder.h:98</a></div></div>
|
|
800
805
|
<div class="ttc" id="anamespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00052">SVFType.h:52</a></div></div>
|
|
801
806
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00309">SVFUtil.h:309</a></div></div>
|
|
802
807
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_abda052b73e869ed6d7c139ad1528da11"><div class="ttname"><a href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00170">SVFIR.h:170</a></div></div>
|
|
803
808
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_ad6e18f520f6b559f2304002792f6b701"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ad6e18f520f6b559f2304002792f6b701">SVF::SVFIR::getModule</a></div><div class="ttdeci">SVFModule * getModule()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00160">SVFIR.h:160</a></div></div>
|
|
804
809
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a8c8d16036008f87c7811586047599858"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">SVF::GenericGraph::getTotalNodeNum</a></div><div class="ttdeci">u32_t getTotalNodeNum() const</div><div class="ttdoc">Get total number of node/edge.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00433">GenericGraph.h:433</a></div></div>
|
|
810
|
+
<div class="ttc" id="acJSON_8cpp_html_a1a05ede2ad100bf5de5dfa7ccdfa4397"><div class="ttname"><a href="cJSON_8cpp.html#a1a05ede2ad100bf5de5dfa7ccdfa4397">NULL</a></div><div class="ttdeci">return NULL</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01173">cJSON.cpp:1173</a></div></div>
|
|
805
811
|
<div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_a8cb9cc170c9693b9bfe9a0f7a65a618e"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a8cb9cc170c9693b9bfe9a0f7a65a618e">SVF::SVFBasicBlock::getInstructionList</a></div><div class="ttdeci">const std::vector< const SVFInstruction * > & getInstructionList() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00562">SVFValue.h:562</a></div></div>
|
|
806
812
|
<div class="ttc" id="aclassSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00047">ICFG.h:47</a></div></div>
|
|
807
813
|
<div class="ttc" id="aclassSVF_1_1SVFLoopAndDomInfo_html_ad07f95e790b5c3a50c864155aa20a083"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#ad07f95e790b5c3a50c864155aa20a083">SVF::SVFLoopAndDomInfo::getPostDomTreeMap</a></div><div class="ttdeci">const Map< const SVFBasicBlock *, BBSet > & getPostDomTreeMap() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00108">SVFValue.h:108</a></div></div>
|
|
@@ -812,7 +818,7 @@ Private Attributes</h2></td></tr>
|
|
|
812
818
|
<div class="ttc" id="aclassSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00620">SVFValue.h:620</a></div></div>
|
|
813
819
|
<div class="ttc" id="anamespaceSVF_html_ad781b0b14e89773e774072b280658ef3"><div class="ttname"><a href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">SVF::s64_t</a></div><div class="ttdeci">signed long long s64_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00054">SVFType.h:54</a></div></div>
|
|
814
820
|
<div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00102">SVFType.h:102</a></div></div>
|
|
815
|
-
<div class="ttc" id="aclassSVF_1_1CDGBuilder_html_ac0b9dae9bae020608e293b1288bb988b"><div class="ttname"><a href="classSVF_1_1CDGBuilder.html#ac0b9dae9bae020608e293b1288bb988b">SVF::CDGBuilder::extractBBS</a></div><div class="ttdeci">static void extractBBS(const SVFFunction *func, Map< const SVFBasicBlock *, std::vector< const SVFBasicBlock * >> &res)</div><div class="ttdoc">extract basic block edges to be processed</div><div class="ttdef"><b>Definition:</b> <a href="CDGBuilder_8cpp_source.html#
|
|
821
|
+
<div class="ttc" id="aclassSVF_1_1CDGBuilder_html_ac0b9dae9bae020608e293b1288bb988b"><div class="ttname"><a href="classSVF_1_1CDGBuilder.html#ac0b9dae9bae020608e293b1288bb988b">SVF::CDGBuilder::extractBBS</a></div><div class="ttdeci">static void extractBBS(const SVFFunction *func, Map< const SVFBasicBlock *, std::vector< const SVFBasicBlock * >> &res)</div><div class="ttdoc">extract basic block edges to be processed</div><div class="ttdef"><b>Definition:</b> <a href="CDGBuilder_8cpp_source.html#l00164">CDGBuilder.cpp:164</a></div></div>
|
|
816
822
|
<!-- start footer part -->
|
|
817
823
|
<hr class="footer"/><address class="footer"><small>
|
|
818
824
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
@@ -73,10 +73,13 @@ $(function() {
|
|
|
73
73
|
<p>This is the complete list of members for <a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html">SVF::CFBasicBlockGBuilder</a>, including all inherited members.</p>
|
|
74
74
|
<table class="directory">
|
|
75
75
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html#a4a298a45e54cbaf41cdf44aeea1a63f3">_CFBasicBlockG</a></td><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html">SVF::CFBasicBlockGBuilder</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
76
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html#
|
|
76
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html#a2c9f8c120522e31124364f485e873608">addInterBBEdge</a>(ICFG *icfg, Map< const SVFBasicBlock *, std::vector< CFBasicBlockNode * >> &bbToNodes)</td><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html">SVF::CFBasicBlockGBuilder</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
77
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html#a2a72cd05458304eaae145532448cf913">addInterProceduralEdge</a>(ICFG *icfg, Map< const SVFBasicBlock *, std::vector< CFBasicBlockNode * >> &bbToNodes)</td><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html">SVF::CFBasicBlockGBuilder</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
78
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html#ae6c8497f1cd2e3ca63b899ea11757b31">addIntraBBEdge</a>(ICFG *icfg, Map< const SVFBasicBlock *, std::vector< CFBasicBlockNode * >> &bbToNodes)</td><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html">SVF::CFBasicBlockGBuilder</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
77
79
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html#a25f0496187622b156bafc49f34fffeaf">build</a>(ICFG *icfg)</td><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html">SVF::CFBasicBlockGBuilder</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
|
78
80
|
<tr><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html#a61d70fb0d2181df3c90152e9226db947">CFBasicBlockGBuilder</a>()</td><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html">SVF::CFBasicBlockGBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
79
81
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html#a879d8affb9b113c9d2d976cdd31b60f1">getCFBasicBlockGraph</a>()</td><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html">SVF::CFBasicBlockGBuilder</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
82
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html#a43c0cba051306acc6440f60165b835e6">initCFBasicBlockGNodes</a>(ICFG *icfg, Map< const SVFBasicBlock *, std::vector< CFBasicBlockNode * >> &bbToNodes)</td><td class="entry"><a class="el" href="classSVF_1_1CFBasicBlockGBuilder.html">SVF::CFBasicBlockGBuilder</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
80
83
|
</table></div><!-- contents -->
|
|
81
84
|
<!-- start footer part -->
|
|
82
85
|
<hr class="footer"/><address class="footer"><small>
|