svf-tools 1.0.813 → 1.0.815
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/AccessPath_8cpp_source.html +124 -121
- package/SVF-doxygen/html/AccessPath_8h_source.html +97 -88
- package/SVF-doxygen/html/Andersen_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ConsGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/ContextDDA_8cpp_source.html +184 -183
- package/SVF-doxygen/html/ContextDDA_8h_source.html +5 -5
- package/SVF-doxygen/html/FlowDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +191 -190
- package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +4 -4
- package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +695 -688
- package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +15 -15
- package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +883 -881
- package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +32 -32
- package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +120 -118
- package/SVF-doxygen/html/SVFIR_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFStatements_8h_source.html +5 -5
- package/SVF-doxygen/html/SVFVariables_8h_source.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1AccessPath-members.html +7 -5
- package/SVF-doxygen/html/classSVF_1_1AccessPath.html +237 -162
- package/SVF-doxygen/html/classSVF_1_1Andersen.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +176 -175
- package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1GepStmt-members.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GepStmt.html +9 -9
- package/SVF-doxygen/html/classSVF_1_1GepValVar.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1NormalGepCGEdge.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1SVFIR.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +186 -185
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +667 -660
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +942 -938
- package/SVF-doxygen/html/functions_a.html +1 -1
- package/SVF-doxygen/html/functions_func.html +1 -1
- package/SVF-doxygen/html/functions_func_g.html +22 -17
- package/SVF-doxygen/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/functions_g.html +20 -12
- package/SVF-doxygen/html/functions_i.html +1 -1
- package/SVF-doxygen/html/functions_o.html +7 -7
- package/SVF-doxygen/html/functions_p.html +11 -11
- package/SVF-doxygen/html/functions_r.html +2 -2
- package/SVF-doxygen/html/functions_s.html +17 -17
- package/SVF-doxygen/html/functions_v.html +7 -9
- package/SVF-doxygen/html/functions_vars_g.html +3 -0
- package/SVF-doxygen/html/functions_w.html +1 -1
- package/SVF-doxygen/html/search/all_1.js +1 -1
- package/SVF-doxygen/html/search/all_10.js +324 -324
- package/SVF-doxygen/html/search/all_11.js +222 -222
- package/SVF-doxygen/html/search/all_12.js +544 -544
- package/SVF-doxygen/html/search/all_13.js +191 -191
- package/SVF-doxygen/html/search/all_14.js +67 -67
- package/SVF-doxygen/html/search/all_15.js +167 -167
- package/SVF-doxygen/html/search/all_16.js +63 -63
- package/SVF-doxygen/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/search/all_19.js +11 -11
- package/SVF-doxygen/html/search/all_1a.js +172 -172
- package/SVF-doxygen/html/search/all_7.js +891 -888
- package/SVF-doxygen/html/search/all_8.js +197 -197
- package/SVF-doxygen/html/search/all_9.js +607 -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 +115 -115
- 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 -55
- package/SVF-doxygen/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/search/files_6.js +9 -9
- package/SVF-doxygen/html/search/files_7.js +14 -14
- package/SVF-doxygen/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/search/files_b.js +2 -2
- package/SVF-doxygen/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/search/functions_0.js +12 -12
- package/SVF-doxygen/html/search/functions_1.js +360 -360
- 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 +279 -279
- package/SVF-doxygen/html/search/functions_13.js +59 -59
- package/SVF-doxygen/html/search/functions_14.js +39 -39
- package/SVF-doxygen/html/search/functions_15.js +71 -71
- package/SVF-doxygen/html/search/functions_16.js +32 -32
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +172 -172
- package/SVF-doxygen/html/search/functions_2.js +87 -87
- 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 +854 -852
- package/SVF-doxygen/html/search/functions_8.js +149 -149
- package/SVF-doxygen/html/search/functions_9.js +423 -423
- 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 +12 -12
- package/SVF-doxygen/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/search/typedefs_0.js +19 -19
- package/SVF-doxygen/html/search/typedefs_1.js +26 -26
- package/SVF-doxygen/html/search/typedefs_10.js +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 +33 -33
- package/SVF-doxygen/html/search/typedefs_14.js +8 -8
- package/SVF-doxygen/html/search/typedefs_2.js +129 -129
- package/SVF-doxygen/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/search/typedefs_4.js +17 -17
- package/SVF-doxygen/html/search/typedefs_5.js +41 -41
- package/SVF-doxygen/html/search/typedefs_6.js +55 -55
- package/SVF-doxygen/html/search/typedefs_7.js +44 -44
- package/SVF-doxygen/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/search/typedefs_c.js +41 -41
- package/SVF-doxygen/html/search/typedefs_d.js +14 -14
- package/SVF-doxygen/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/search/variables_0.js +151 -151
- package/SVF-doxygen/html/search/variables_1.js +75 -75
- package/SVF-doxygen/html/search/variables_10.js +97 -97
- package/SVF-doxygen/html/search/variables_11.js +44 -44
- 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 +38 -38
- 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 +37 -37
- package/SVF-doxygen/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/search/variables_7.js +34 -33
- package/SVF-doxygen/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/search/variables_9.js +78 -78
- package/SVF-doxygen/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/search/variables_d.js +56 -56
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +29 -29
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +10 -10
- package/SVF-doxygen/html/svf-ex_8cpp.html +11 -11
- package/SVF-doxygen/html/svf-ex_8cpp_source.html +11 -11
- package/package.json +1 -1
- package/svf/include/Graphs/ConsGEdge.h +1 -1
- package/svf/include/MemoryModel/AccessPath.h +14 -5
- package/svf/include/SVFIR/SVFStatements.h +2 -2
- package/svf/include/SVFIR/SVFVariables.h +1 -1
- package/svf/lib/AbstractExecution/SVFIR2ConsExeState.cpp +2 -1
- package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +4 -0
- package/svf/lib/DDA/ContextDDA.cpp +2 -1
- package/svf/lib/DDA/FlowDDA.cpp +1 -1
- package/svf/lib/MemoryModel/AccessPath.cpp +7 -5
- package/svf/lib/SVFIR/SVFIR.cpp +1 -1
- package/svf/lib/WPA/Andersen.cpp +1 -1
- package/svf/lib/WPA/FlowSensitive.cpp +1 -1
- package/svf-llvm/lib/SVFIRBuilder.cpp +6 -4
- package/svf-llvm/lib/SVFIRExtAPI.cpp +7 -5
|
@@ -218,185 +218,186 @@ $(function() {
|
|
|
218
218
|
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  }</div>
|
|
219
219
|
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">else</span></div>
|
|
220
220
|
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  {</div>
|
|
221
|
-
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <a class="code" href="classSVF_1_1CondVar.html">CxtVar</a> var(ptd.<a class="code" href="classSVF_1_1CondVar.html#af84e7bfcff909009be5e109c600c63fe">get_cond</a>(),<a class="code" href="classSVF_1_1PointerAnalysis.html#aac6ccf3dc313e3c6761bb57316829da8">getGepObjVar</a>(ptd.<a class="code" href="classSVF_1_1CondVar.html#a5d64fa2be89051cd03301e3b07bffd6a">get_id</a>()
|
|
222
|
-
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> 
|
|
223
|
-
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> 
|
|
224
|
-
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> 
|
|
225
|
-
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> 
|
|
226
|
-
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> 
|
|
227
|
-
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> 
|
|
228
|
-
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() <<
|
|
229
|
-
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() <<
|
|
230
|
-
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() <<
|
|
231
|
-
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() <<
|
|
232
|
-
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <
|
|
233
|
-
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> 
|
|
234
|
-
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> 
|
|
235
|
-
<div class="line"><a name="l00188"></a><span class="lineno"
|
|
236
|
-
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> 
|
|
237
|
-
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> 
|
|
238
|
-
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> 
|
|
239
|
-
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> 
|
|
240
|
-
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="
|
|
241
|
-
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <a class="code" href="
|
|
242
|
-
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <a class="code" href="
|
|
243
|
-
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <a class="code" href="
|
|
244
|
-
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <
|
|
245
|
-
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> 
|
|
246
|
-
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> 
|
|
247
|
-
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> 
|
|
248
|
-
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> 
|
|
249
|
-
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> 
|
|
250
|
-
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> 
|
|
251
|
-
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> 
|
|
252
|
-
<div class="line"><a name="
|
|
253
|
-
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> 
|
|
254
|
-
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> 
|
|
255
|
-
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> 
|
|
256
|
-
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <
|
|
257
|
-
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> 
|
|
258
|
-
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> 
|
|
259
|
-
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> 
|
|
260
|
-
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> 
|
|
261
|
-
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> 
|
|
262
|
-
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keyword">const</span> <a class="code" href="
|
|
263
|
-
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  </div>
|
|
264
|
-
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> 
|
|
265
|
-
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> 
|
|
266
|
-
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> 
|
|
267
|
-
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> 
|
|
268
|
-
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> 
|
|
269
|
-
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> 
|
|
270
|
-
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> 
|
|
271
|
-
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> 
|
|
272
|
-
<div class="line"><a name="
|
|
273
|
-
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> 
|
|
274
|
-
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> 
|
|
275
|
-
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> 
|
|
276
|
-
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <
|
|
277
|
-
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> 
|
|
278
|
-
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> 
|
|
279
|
-
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> 
|
|
280
|
-
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> 
|
|
281
|
-
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> 
|
|
282
|
-
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keyword">const</span> <a class="code" href="
|
|
283
|
-
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  </div>
|
|
284
|
-
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> 
|
|
285
|
-
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> 
|
|
286
|
-
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> 
|
|
287
|
-
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> 
|
|
288
|
-
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> 
|
|
289
|
-
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> 
|
|
290
|
-
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> 
|
|
291
|
-
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> 
|
|
221
|
+
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <a class="code" href="classSVF_1_1CondVar.html">CxtVar</a> var(ptd.<a class="code" href="classSVF_1_1CondVar.html#af84e7bfcff909009be5e109c600c63fe">get_cond</a>(),<a class="code" href="classSVF_1_1PointerAnalysis.html#aac6ccf3dc313e3c6761bb57316829da8">getGepObjVar</a>(ptd.<a class="code" href="classSVF_1_1CondVar.html#a5d64fa2be89051cd03301e3b07bffd6a">get_id</a>(),</div>
|
|
222
|
+
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  gepStmt-><a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>()));</div>
|
|
223
|
+
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  tmpDstPts.<a class="code" href="classSVF_1_1CondStdSet.html#ae11deddad534be115d29daad08c90599">set</a>(var);</div>
|
|
224
|
+
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  }</div>
|
|
225
|
+
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  }</div>
|
|
226
|
+
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  }</div>
|
|
227
|
+
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  </div>
|
|
228
|
+
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"\t return created gep objs "</span>);</div>
|
|
229
|
+
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << srcPts.<a class="code" href="classSVF_1_1CondStdSet.html#a07267b0a4f7cfeaa6d1f7d722932c4d5">toString</a>());</div>
|
|
230
|
+
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">" --> "</span>);</div>
|
|
231
|
+
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << tmpDstPts.<a class="code" href="classSVF_1_1CondStdSet.html#a07267b0a4f7cfeaa6d1f7d722932c4d5">toString</a>());</div>
|
|
232
|
+
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"\n"</span>);</div>
|
|
233
|
+
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">return</span> tmpDstPts;</div>
|
|
234
|
+
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div>
|
|
235
|
+
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  </div>
|
|
236
|
+
<div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="classSVF_1_1ContextDDA.html#a05ac33ca33efb58099839f72050bb008"> 189</a></span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ContextDDA.html#a05ac33ca33efb58099839f72050bb008">ContextDDA::testIndCallReachability</a>(<a class="code" href="classSVF_1_1CxtStmtDPItem.html">CxtLocDPItem</a>& dpm, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)</div>
|
|
237
|
+
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> {</div>
|
|
238
|
+
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()->isIndirectCallSites(cs))</div>
|
|
239
|
+
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  {</div>
|
|
240
|
+
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-><a class="code" href="classSVF_1_1SVFIR.html#a17c5d9fa7c0bd3cd03c06b5ff0906eb6">getFunPtr</a>(cs);</div>
|
|
241
|
+
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node = <a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>);</div>
|
|
242
|
+
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <a class="code" href="classSVF_1_1CondVar.html">CxtVar</a> funptrVar(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ab1098f5093419b62ea27a20933059270">getCondVar</a>().<a class="code" href="classSVF_1_1CondVar.html#af84e7bfcff909009be5e109c600c63fe">get_cond</a>(), <span class="keywordtype">id</span>);</div>
|
|
243
|
+
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <a class="code" href="classSVF_1_1CxtStmtDPItem.html">CxtLocDPItem</a> funptrDpm = <a class="code" href="classSVF_1_1DDAVFSolver.html#ad7d92fad8606d5512786a7b7a08930e2">getDPIm</a>(funptrVar,<a class="code" href="classSVF_1_1DDAVFSolver.html#a55803a2d30137b5ad15c5afeec7c6b28">getDefSVFGNode</a>(node));</div>
|
|
244
|
+
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> pts = <a class="code" href="classSVF_1_1CondPTAImpl.html#a94f3e4d073b8c5bab3c46058ddba3f43">getBVPointsTo</a>(<a class="code" href="classSVF_1_1DDAVFSolver.html#a52737dd41c63404ef91691154aa250ce">findPT</a>(funptrDpm));</div>
|
|
245
|
+
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">if</span>(pts.<a class="code" href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">test</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()->getObjectNode(callee)))</div>
|
|
246
|
+
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
247
|
+
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">else</span></div>
|
|
248
|
+
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
249
|
+
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  }</div>
|
|
250
|
+
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
251
|
+
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> }</div>
|
|
252
|
+
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  </div>
|
|
253
|
+
<div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classSVF_1_1ContextDDA.html#a2ce589a1d63a5126e178fc47527e0f92"> 210</a></span> <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> <a class="code" href="classSVF_1_1ContextDDA.html#a2ce589a1d63a5126e178fc47527e0f92">ContextDDA::getCSIDAtCall</a>(<a class="code" href="classSVF_1_1CxtStmtDPItem.html">CxtLocDPItem</a>&, <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge)</div>
|
|
254
|
+
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> {</div>
|
|
255
|
+
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  </div>
|
|
256
|
+
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> svfg_csId = 0;</div>
|
|
257
|
+
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallDirSVFGEdge.html">CallDirSVFGEdge</a>* callEdge = SVFUtil::dyn_cast<CallDirSVFGEdge>(edge))</div>
|
|
258
|
+
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  svfg_csId = callEdge->getCallSiteId();</div>
|
|
259
|
+
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">else</span></div>
|
|
260
|
+
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  svfg_csId = SVFUtil::cast<CallIndSVFGEdge>(edge)->getCallSiteId();</div>
|
|
261
|
+
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  </div>
|
|
262
|
+
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cbn = <a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-><a class="code" href="classSVF_1_1VFG.html#a246cce511b8e9164a7c1760d1983f492">getCallSite</a>(svfg_csId);</div>
|
|
263
|
+
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee = edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()->getFun();</div>
|
|
264
|
+
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  </div>
|
|
265
|
+
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()->hasCallSiteID(cbn,callee))</div>
|
|
266
|
+
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  {</div>
|
|
267
|
+
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-><a class="code" href="classSVF_1_1PTACallGraph.html#a711bd8ad385f8454fbfcd20f134efe1b">getCallSiteID</a>(cbn,callee);</div>
|
|
268
|
+
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  }</div>
|
|
269
|
+
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  </div>
|
|
270
|
+
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">return</span> 0;</div>
|
|
271
|
+
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> }</div>
|
|
272
|
+
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  </div>
|
|
273
|
+
<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classSVF_1_1ContextDDA.html#a7687f36ad3f27bb16069975f00a1a202"> 234</a></span> <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> <a class="code" href="classSVF_1_1ContextDDA.html#a7687f36ad3f27bb16069975f00a1a202">ContextDDA::getCSIDAtRet</a>(<a class="code" href="classSVF_1_1CxtStmtDPItem.html">CxtLocDPItem</a>&, <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge)</div>
|
|
274
|
+
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> {</div>
|
|
275
|
+
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  </div>
|
|
276
|
+
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> svfg_csId = 0;</div>
|
|
277
|
+
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetDirSVFGEdge.html">RetDirSVFGEdge</a>* retEdge = SVFUtil::dyn_cast<RetDirSVFGEdge>(edge))</div>
|
|
278
|
+
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  svfg_csId = retEdge->getCallSiteId();</div>
|
|
279
|
+
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">else</span></div>
|
|
280
|
+
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  svfg_csId = SVFUtil::cast<RetIndSVFGEdge>(edge)->getCallSiteId();</div>
|
|
281
|
+
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  </div>
|
|
282
|
+
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cbn = <a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-><a class="code" href="classSVF_1_1VFG.html#a246cce511b8e9164a7c1760d1983f492">getCallSite</a>(svfg_csId);</div>
|
|
283
|
+
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()->getFun();</div>
|
|
284
|
+
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  </div>
|
|
285
|
+
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()->hasCallSiteID(cbn,callee))</div>
|
|
286
|
+
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  {</div>
|
|
287
|
+
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-><a class="code" href="classSVF_1_1PTACallGraph.html#a711bd8ad385f8454fbfcd20f134efe1b">getCallSiteID</a>(cbn,callee);</div>
|
|
288
|
+
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  }</div>
|
|
289
|
+
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  </div>
|
|
290
|
+
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="keywordflow">return</span> 0;</div>
|
|
291
|
+
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> }</div>
|
|
292
292
|
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  </div>
|
|
293
|
-
<div class="line"><a name="
|
|
294
|
-
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> 
|
|
295
|
-
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> 
|
|
296
|
-
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  </div>
|
|
297
|
-
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> 
|
|
298
|
-
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> 
|
|
299
|
-
<div class="line"><a name="
|
|
300
|
-
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> 
|
|
301
|
-
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> 
|
|
302
|
-
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> 
|
|
303
|
-
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> 
|
|
304
|
-
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> 
|
|
305
|
-
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> 
|
|
306
|
-
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> 
|
|
307
|
-
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> 
|
|
308
|
-
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> 
|
|
309
|
-
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> 
|
|
310
|
-
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> 
|
|
311
|
-
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> 
|
|
312
|
-
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> 
|
|
313
|
-
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> 
|
|
314
|
-
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> 
|
|
315
|
-
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <
|
|
316
|
-
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> 
|
|
317
|
-
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> 
|
|
318
|
-
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> 
|
|
319
|
-
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="
|
|
320
|
-
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> 
|
|
321
|
-
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> 
|
|
322
|
-
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> 
|
|
323
|
-
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> 
|
|
324
|
-
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> 
|
|
325
|
-
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> 
|
|
326
|
-
<div class="line"><a name="
|
|
327
|
-
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> 
|
|
328
|
-
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> 
|
|
329
|
-
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> 
|
|
330
|
-
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> 
|
|
331
|
-
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> 
|
|
332
|
-
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> 
|
|
333
|
-
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> 
|
|
334
|
-
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> 
|
|
335
|
-
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> 
|
|
336
|
-
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> 
|
|
337
|
-
<div class="line"><a name="
|
|
338
|
-
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> 
|
|
339
|
-
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> 
|
|
340
|
-
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <a class="code" href="
|
|
341
|
-
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <
|
|
342
|
-
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> 
|
|
343
|
-
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> 
|
|
344
|
-
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> 
|
|
345
|
-
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> 
|
|
346
|
-
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> 
|
|
347
|
-
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> 
|
|
348
|
-
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> 
|
|
349
|
-
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="
|
|
350
|
-
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> 
|
|
351
|
-
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> 
|
|
352
|
-
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> 
|
|
353
|
-
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> 
|
|
354
|
-
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="
|
|
355
|
-
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> 
|
|
356
|
-
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> 
|
|
357
|
-
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> 
|
|
358
|
-
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> 
|
|
359
|
-
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> 
|
|
360
|
-
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> 
|
|
361
|
-
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> 
|
|
362
|
-
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> 
|
|
363
|
-
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> 
|
|
293
|
+
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  </div>
|
|
294
|
+
<div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="classSVF_1_1ContextDDA.html#aa8a7b6e99b92abfa5c2404515b703a2d"> 256</a></span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ContextDDA.html#aa8a7b6e99b92abfa5c2404515b703a2d">ContextDDA::handleBKCondition</a>(<a class="code" href="classSVF_1_1CxtStmtDPItem.html">CxtLocDPItem</a>& dpm, <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge)</div>
|
|
295
|
+
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> {</div>
|
|
296
|
+
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <a class="code" href="classSVF_1_1ContextDDA.html#ae3b04859ed69c47302177988aa68a70b">_client</a>-><a class="code" href="classSVF_1_1DDAClient.html#aec3de00152e828beb5037269430f387d">handleStatement</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>(), dpm.<a class="code" href="classSVF_1_1DPItem.html#a03a90eca842c0e83d874902103f6fdb2">getCurNodeID</a>());</div>
|
|
297
|
+
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  </div>
|
|
298
|
+
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1VFGEdge.html#a4352297ef44c4eff1efe2f348cce6fe9">isCallVFGEdge</a>())</div>
|
|
299
|
+
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  {</div>
|
|
300
|
+
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = <a class="code" href="classSVF_1_1ContextDDA.html#a2ce589a1d63a5126e178fc47527e0f92">getCSIDAtCall</a>(dpm,edge))</div>
|
|
301
|
+
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  {</div>
|
|
302
|
+
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  </div>
|
|
303
|
+
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ContextDDA.html#a525949d1743136466d33bf4dc26ba423">isEdgeInRecursion</a>(csId))</div>
|
|
304
|
+
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  {</div>
|
|
305
|
+
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"\t\t call edge "</span> << <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()->getCallerOfCallSite(csId)->getName() <<</div>
|
|
306
|
+
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="stringliteral">"=>"</span> << <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()->getCalleeOfCallSite(csId)->getName() << <span class="stringliteral">"in recursion \n"</span>);</div>
|
|
307
|
+
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <a class="code" href="classSVF_1_1ContextDDA.html#a2754d0fd4b168786c990bbf36538b151">popRecursiveCallSites</a>(dpm);</div>
|
|
308
|
+
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  }</div>
|
|
309
|
+
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">else</span></div>
|
|
310
|
+
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  {</div>
|
|
311
|
+
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">if</span> (dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#a35c0c0d5194983769e313d6e31b3d7ec">matchContext</a>(csId) == <span class="keyword">false</span>)</div>
|
|
312
|
+
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  {</div>
|
|
313
|
+
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"\t\t context not match, edge "</span></div>
|
|
314
|
+
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  << edge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>() << <span class="stringliteral">" --| "</span> << edge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>() << <span class="stringliteral">" \t"</span>);</div>
|
|
315
|
+
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="classSVF_1_1ContextDDA.html#ac3e622d810ee69917b7bef08a882117c">dumpContexts</a>(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>()));</div>
|
|
316
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
317
|
+
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  }</div>
|
|
318
|
+
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  </div>
|
|
319
|
+
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"\t\t match contexts "</span>);</div>
|
|
320
|
+
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="classSVF_1_1ContextDDA.html#ac3e622d810ee69917b7bef08a882117c">dumpContexts</a>(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>()));</div>
|
|
321
|
+
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  }</div>
|
|
322
|
+
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  }</div>
|
|
323
|
+
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  }</div>
|
|
324
|
+
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  </div>
|
|
325
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1VFGEdge.html#a3937eef974c3953f1d1e7d64c5a24ff3">isRetVFGEdge</a>())</div>
|
|
326
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  {</div>
|
|
327
|
+
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = <a class="code" href="classSVF_1_1ContextDDA.html#a7687f36ad3f27bb16069975f00a1a202">getCSIDAtRet</a>(dpm,edge))</div>
|
|
328
|
+
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  {</div>
|
|
329
|
+
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  </div>
|
|
330
|
+
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ContextDDA.html#a525949d1743136466d33bf4dc26ba423">isEdgeInRecursion</a>(csId))</div>
|
|
331
|
+
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  {</div>
|
|
332
|
+
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"\t\t return edge "</span> << <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()->getCalleeOfCallSite(csId)->getName() <<</div>
|
|
333
|
+
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="stringliteral">"=>"</span> << <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()->getCallerOfCallSite(csId)->getName() << <span class="stringliteral">"in recursion \n"</span>);</div>
|
|
334
|
+
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <a class="code" href="classSVF_1_1ContextDDA.html#a2754d0fd4b168786c990bbf36538b151">popRecursiveCallSites</a>(dpm);</div>
|
|
335
|
+
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  }</div>
|
|
336
|
+
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">else</span></div>
|
|
337
|
+
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  {</div>
|
|
338
|
+
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">if</span> (dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>().<a class="code" href="classSVF_1_1ContextCond.html#a6f5b0bbc0978220aaa990f5fd0ddce8d">containCallStr</a>(csId))</div>
|
|
339
|
+
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  {</div>
|
|
340
|
+
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <a class="code" href="classSVF_1_1DDAVFSolver.html#afdecfbacc64cb8d694268aa73ec8a7b6">outOfBudgetQuery</a> = <span class="keyword">true</span>;</div>
|
|
341
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2e0196e0ce547ab4a483cc6d2646b24">SVFUtil::writeWrnMsg</a>(<span class="stringliteral">"Call site ID is contained in call string. Is this a recursion?"</span>);</div>
|
|
342
|
+
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
343
|
+
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  }</div>
|
|
344
|
+
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordflow">else</span></div>
|
|
345
|
+
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  {</div>
|
|
346
|
+
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  assert(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>().<a class="code" href="classSVF_1_1ContextCond.html#a6f5b0bbc0978220aaa990f5fd0ddce8d">containCallStr</a>(csId) ==<span class="keyword">false</span> && <span class="stringliteral">"contain visited call string ??"</span>);</div>
|
|
347
|
+
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">if</span>(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#a3bb07147466d6ccb397616e1c09fc60b">pushContext</a>(csId))</div>
|
|
348
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  {</div>
|
|
349
|
+
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"\t\t push context "</span>);</div>
|
|
350
|
+
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="classSVF_1_1ContextDDA.html#ac3e622d810ee69917b7bef08a882117c">dumpContexts</a>(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>()));</div>
|
|
351
|
+
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  }</div>
|
|
352
|
+
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">else</span></div>
|
|
353
|
+
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  {</div>
|
|
354
|
+
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"\t\t context is full "</span>);</div>
|
|
355
|
+
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="classSVF_1_1ContextDDA.html#ac3e622d810ee69917b7bef08a882117c">dumpContexts</a>(dpm.<a class="code" href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">getCond</a>()));</div>
|
|
356
|
+
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  }</div>
|
|
357
|
+
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  }</div>
|
|
358
|
+
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  }</div>
|
|
359
|
+
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  }</div>
|
|
360
|
+
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  }</div>
|
|
361
|
+
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  </div>
|
|
362
|
+
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
363
|
+
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> }</div>
|
|
364
364
|
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  </div>
|
|
365
|
-
<div class="line"><a name="
|
|
366
|
-
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> 
|
|
367
|
-
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> 
|
|
368
|
-
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> 
|
|
369
|
-
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="
|
|
370
|
-
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> 
|
|
371
|
-
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> 
|
|
372
|
-
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> 
|
|
373
|
-
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> 
|
|
374
|
-
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <a class="code" href="
|
|
375
|
-
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <
|
|
376
|
-
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> 
|
|
377
|
-
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> 
|
|
378
|
-
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> 
|
|
379
|
-
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> 
|
|
380
|
-
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> 
|
|
381
|
-
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> 
|
|
382
|
-
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> 
|
|
383
|
-
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> 
|
|
384
|
-
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> 
|
|
385
|
-
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> 
|
|
386
|
-
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> 
|
|
387
|
-
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> 
|
|
388
|
-
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> 
|
|
389
|
-
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> 
|
|
390
|
-
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="
|
|
391
|
-
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> 
|
|
392
|
-
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> 
|
|
393
|
-
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> 
|
|
394
|
-
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> 
|
|
395
|
-
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> 
|
|
396
|
-
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> 
|
|
397
|
-
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> 
|
|
398
|
-
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> 
|
|
399
|
-
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> 
|
|
365
|
+
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  </div>
|
|
366
|
+
<div class="line"><a name="l00335"></a><span class="lineno"><a class="line" href="classSVF_1_1ContextDDA.html#a02902af9bc4455b994a5da4a9d6cf121"> 335</a></span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ContextDDA.html#a02902af9bc4455b994a5da4a9d6cf121">ContextDDA::isHeapCondMemObj</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CondVar.html">CxtVar</a>& var, <span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreVFGNode.html">StoreSVFGNode</a>*)</div>
|
|
367
|
+
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> {</div>
|
|
368
|
+
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* mem = <a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">getObject</a>(<a class="code" href="classSVF_1_1ContextDDA.html#a6ae16be6774994932aaa594c9b9cb397">getPtrNodeID</a>(var));</div>
|
|
369
|
+
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  assert(mem && <span class="stringliteral">"memory object is null??"</span>);</div>
|
|
370
|
+
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">if</span> (mem-><a class="code" href="classSVF_1_1MemObj.html#a898c5bb3956402578266a6fb142e02b1">isHeap</a>())</div>
|
|
371
|
+
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  {</div>
|
|
372
|
+
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">if</span> (!mem-><a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>())</div>
|
|
373
|
+
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  {</div>
|
|
374
|
+
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a> *pnode = <a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<a class="code" href="classSVF_1_1ContextDDA.html#a6ae16be6774994932aaa594c9b9cb397">getPtrNodeID</a>(var));</div>
|
|
375
|
+
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <a class="code" href="classSVF_1_1GepObjVar.html">GepObjVar</a>* gepobj = SVFUtil::dyn_cast<GepObjVar>(pnode);</div>
|
|
376
|
+
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordflow">if</span> (gepobj != <span class="keyword">nullptr</span>)</div>
|
|
377
|
+
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  {</div>
|
|
378
|
+
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  assert(SVFUtil::isa<DummyObjVar>(<a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(gepobj-><a class="code" href="classSVF_1_1GepObjVar.html#a4c5e346db61f7e04c15bf8527d8eff3c">getBaseNode</a>()))</div>
|
|
379
|
+
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  && <span class="stringliteral">"empty refVal in a gep object whose base is a non-dummy object"</span>);</div>
|
|
380
|
+
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  }</div>
|
|
381
|
+
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keywordflow">else</span></div>
|
|
382
|
+
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  {</div>
|
|
383
|
+
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  assert((SVFUtil::isa<DummyObjVar, DummyValVar>(pnode))</div>
|
|
384
|
+
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  && <span class="stringliteral">"empty refVal in non-dummy object"</span>);</div>
|
|
385
|
+
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  }</div>
|
|
386
|
+
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
387
|
+
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  }</div>
|
|
388
|
+
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* mallocSite = SVFUtil::dyn_cast<SVFInstruction>(mem-><a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
|
|
389
|
+
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  {</div>
|
|
390
|
+
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svfFun = mallocSite->getFunction();</div>
|
|
391
|
+
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAVFSolver.html#aa1d1b6e8cc23f0a6d3935cbe4f02cbdf">_ander</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#aa725a0c9426e8615cbc078c88561f66a">isInRecursion</a>(svfFun))</div>
|
|
392
|
+
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
393
|
+
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">if</span>(var.<a class="code" href="classSVF_1_1CondVar.html#af84e7bfcff909009be5e109c600c63fe">get_cond</a>().isConcreteCxt() == <span class="keyword">false</span>)</div>
|
|
394
|
+
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
395
|
+
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#ae115e70bf53f25c0ca6b1f22acccf5b5">isInLoop</a>(mallocSite))</div>
|
|
396
|
+
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
397
|
+
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  }</div>
|
|
398
|
+
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  }</div>
|
|
399
|
+
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
400
|
+
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> }</div>
|
|
400
401
|
</div><!-- fragment --></div><!-- contents -->
|
|
401
402
|
<div class="ttc" id="aclassSVF_1_1PointsTo_html_af61271fefa574c39f405fdfee59a8b3f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">SVF::PointsTo::test</a></div><div class="ttdeci">bool test(u32_t n) const</div><div class="ttdoc">Returns true if n is in this set.</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00131">PointsTo.cpp:131</a></div></div>
|
|
402
403
|
<div class="ttc" id="aclassSVF_1_1CondStdSet_html_a07267b0a4f7cfeaa6d1f7d722932c4d5"><div class="ttname"><a href="classSVF_1_1CondStdSet.html#a07267b0a4f7cfeaa6d1f7d722932c4d5">SVF::CondStdSet::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00274">ConditionalPT.h:274</a></div></div>
|
|
@@ -437,9 +438,10 @@ $(function() {
|
|
|
437
438
|
<div class="ttc" id="aclassSVF_1_1ContextDDA_html_a337eb89cc5f31741ad8d840d9f284ca5"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a337eb89cc5f31741ad8d840d9f284ca5">SVF::ContextDDA::computeDDAPts</a></div><div class="ttdeci">virtual void computeDDAPts(NodeID id) override</div><div class="ttdoc">Compute points-to set for an unconditional pointer.</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#l00105">ContextDDA.cpp:105</a></div></div>
|
|
438
439
|
<div class="ttc" id="aclassSVF_1_1CxtStmtDPItem_html_a3bb07147466d6ccb397616e1c09fc60b"><div class="ttname"><a href="classSVF_1_1CxtStmtDPItem.html#a3bb07147466d6ccb397616e1c09fc60b">SVF::CxtStmtDPItem::pushContext</a></div><div class="ttdeci">bool pushContext(NodeID cxt)</div><div class="ttdoc">Push context.</div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00424">DPItem.h:424</a></div></div>
|
|
439
440
|
<div class="ttc" id="aclassSVF_1_1CxtStmtDPItem_html"><div class="ttname"><a href="classSVF_1_1CxtStmtDPItem.html">SVF::CxtStmtDPItem</a></div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00389">DPItem.h:389</a></div></div>
|
|
440
|
-
<div class="ttc" id="aclassSVF_1_1ContextDDA_html_a02902af9bc4455b994a5da4a9d6cf121"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a02902af9bc4455b994a5da4a9d6cf121">SVF::ContextDDA::isHeapCondMemObj</a></div><div class="ttdeci">virtual bool isHeapCondMemObj(const CxtVar &var, const StoreSVFGNode *store) override</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#
|
|
441
|
+
<div class="ttc" id="aclassSVF_1_1ContextDDA_html_a02902af9bc4455b994a5da4a9d6cf121"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a02902af9bc4455b994a5da4a9d6cf121">SVF::ContextDDA::isHeapCondMemObj</a></div><div class="ttdeci">virtual bool isHeapCondMemObj(const CxtVar &var, const StoreSVFGNode *store) override</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#l00335">ContextDDA.cpp:335</a></div></div>
|
|
441
442
|
<div class="ttc" id="aclassSVF_1_1DDAVFSolver_html_a7994236bff84ba8244592fdf5e546734"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a7994236bff84ba8244592fdf5e546734">SVF::DDAVFSolver< CxtVar, CxtPtSet, CxtLocDPItem >::isOutOfBudgetQuery</a></div><div class="ttdeci">bool isOutOfBudgetQuery() const</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00726">DDAVFSolver.h:726</a></div></div>
|
|
442
443
|
<div class="ttc" id="aclassSVF_1_1VFGEdge_html_a3937eef974c3953f1d1e7d64c5a24ff3"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a3937eef974c3953f1d1e7d64c5a24ff3">SVF::VFGEdge::isRetVFGEdge</a></div><div class="ttdeci">bool isRetVFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00088">VFGEdge.h:88</a></div></div>
|
|
444
|
+
<div class="ttc" id="aclassSVF_1_1AccessPath_html_a5427d08c9eb9d86e66c2bff6aeba6bac"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">SVF::AccessPath::getConstantStructFldIdx</a></div><div class="ttdeci">APOffset getConstantStructFldIdx() const</div><div class="ttdoc">Get methods.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00100">AccessPath.h:100</a></div></div>
|
|
443
445
|
<div class="ttc" id="aclassSVF_1_1ContextDDA_html_aefd2b50015aa98fa88a508e3ed1d402a"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#aefd2b50015aa98fa88a508e3ed1d402a">SVF::ContextDDA::processGepPts</a></div><div class="ttdeci">virtual CxtPtSet processGepPts(const GepSVFGNode *gep, const CxtPtSet &srcPts) override</div><div class="ttdoc">processGep node</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#l00154">ContextDDA.cpp:154</a></div></div>
|
|
444
446
|
<div class="ttc" id="aclassSVF_1_1DDAVFSolver_html_afdecfbacc64cb8d694268aa73ec8a7b6"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#afdecfbacc64cb8d694268aa73ec8a7b6">SVF::DDAVFSolver< CxtVar, CxtPtSet, CxtLocDPItem >::outOfBudgetQuery</a></div><div class="ttdeci">bool outOfBudgetQuery</div><div class="ttdoc">Whether the current query is out of step limits.</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00767">DDAVFSolver.h:767</a></div></div>
|
|
445
447
|
<div class="ttc" id="aclassSVF_1_1DDAStat_html_ac3189db5d8e17f64fdfcc9b040cf6100"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ac3189db5d8e17f64fdfcc9b040cf6100">SVF::DDAStat::_TotalTimeOfQueries</a></div><div class="ttdeci">double _TotalTimeOfQueries</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00063">DDAStat.h:63</a></div></div>
|
|
@@ -447,7 +449,6 @@ $(function() {
|
|
|
447
449
|
<div class="ttc" id="aOptions_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
|
|
448
450
|
<div class="ttc" id="aDDAClient_8h_html"><div class="ttname"><a href="DDAClient_8h.html">DDAClient.h</a></div></div>
|
|
449
451
|
<div class="ttc" id="aclassSVF_1_1CondStdSet_html_adf095111734d81b6ad1908a7f795b038"><div class="ttname"><a href="classSVF_1_1CondStdSet.html#adf095111734d81b6ad1908a7f795b038">SVF::CondStdSet::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators.</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00192">ConditionalPT.h:192</a></div></div>
|
|
450
|
-
<div class="ttc" id="aclassSVF_1_1AccessPath_html_a68e49bb797a84ea035ea338549f2e054"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a68e49bb797a84ea035ea338549f2e054">SVF::AccessPath::getConstantFieldIdx</a></div><div class="ttdeci">APOffset getConstantFieldIdx() const</div><div class="ttdoc">Get methods.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00098">AccessPath.h:98</a></div></div>
|
|
451
452
|
<div class="ttc" id="aclassSVF_1_1FlowDDA_html_af1fcf058a9feefeda63f07d4189513a1"><div class="ttname"><a href="classSVF_1_1FlowDDA.html#af1fcf058a9feefeda63f07d4189513a1">SVF::FlowDDA::initialize</a></div><div class="ttdeci">virtual void initialize() override</div><div class="ttdoc">Initialization of the analysis.</div><div class="ttdef"><b>Definition:</b> <a href="FlowDDA_8h_source.html#l00086">FlowDDA.h:86</a></div></div>
|
|
452
453
|
<div class="ttc" id="aclassSVF_1_1SVFStat_html_ac9d390c417df6f6af6b274618b87010d"><div class="ttname"><a href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">SVF::SVFStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00047">SVFStat.cpp:47</a></div></div>
|
|
453
454
|
<div class="ttc" id="aclassSVF_1_1CondVar_html_a5d64fa2be89051cd03301e3b07bffd6a"><div class="ttname"><a href="classSVF_1_1CondVar.html#a5d64fa2be89051cd03301e3b07bffd6a">SVF::CondVar::get_id</a></div><div class="ttdeci">NodeID get_id() const</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00104">ConditionalPT.h:104</a></div></div>
|
|
@@ -472,7 +473,7 @@ $(function() {
|
|
|
472
473
|
<div class="ttc" id="aclassSVF_1_1ContextDDA_html_adb9f21a86daeb2dd79537f3939c393cf"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#adb9f21a86daeb2dd79537f3939c393cf">SVF::ContextDDA::initialize</a></div><div class="ttdeci">virtual void initialize() override</div><div class="ttdoc">Initialization of the analysis.</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#l00062">ContextDDA.cpp:62</a></div></div>
|
|
473
474
|
<div class="ttc" id="aclassSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
|
|
474
475
|
<div class="ttc" id="aclassSVF_1_1CondPTAImpl_html_a1a95d1d6ac48157c896d9895cff697b4"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html#a1a95d1d6ac48157c896d9895cff697b4">SVF::CondPTAImpl< ContextCond >::unionPts</a></div><div class="ttdeci">virtual bool unionPts(CVar id, const CPtSet &target)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00367">PointerAnalysisImpl.h:367</a></div></div>
|
|
475
|
-
<div class="ttc" id="aclassSVF_1_1ContextDDA_html_aa8a7b6e99b92abfa5c2404515b703a2d"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#aa8a7b6e99b92abfa5c2404515b703a2d">SVF::ContextDDA::handleBKCondition</a></div><div class="ttdeci">virtual bool handleBKCondition(CxtLocDPItem &dpm, const SVFGEdge *edge) override</div><div class="ttdoc">Handle condition for context or path analysis (backward analysis)</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#
|
|
476
|
+
<div class="ttc" id="aclassSVF_1_1ContextDDA_html_aa8a7b6e99b92abfa5c2404515b703a2d"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#aa8a7b6e99b92abfa5c2404515b703a2d">SVF::ContextDDA::handleBKCondition</a></div><div class="ttdeci">virtual bool handleBKCondition(CxtLocDPItem &dpm, const SVFGEdge *edge) override</div><div class="ttdoc">Handle condition for context or path analysis (backward analysis)</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#l00256">ContextDDA.cpp:256</a></div></div>
|
|
476
477
|
<div class="ttc" id="aclassSVF_1_1CondVar_html_af84e7bfcff909009be5e109c600c63fe"><div class="ttname"><a href="classSVF_1_1CondVar.html#af84e7bfcff909009be5e109c600c63fe">SVF::CondVar::get_cond</a></div><div class="ttdeci">const Cond & get_cond() const</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00100">ConditionalPT.h:100</a></div></div>
|
|
477
478
|
<div class="ttc" id="aSVFType_8h_html_ab6f41e9db3675dc689c5492418885041"><div class="ttname"><a href="SVFType_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a></div><div class="ttdeci">#define DOTIMESTAT(X)</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00578">SVFType.h:578</a></div></div>
|
|
478
479
|
<div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_ac5683fe2e24b393ccc5cb6d8bc92cf2b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">SVF::PointerAnalysis::setObjFieldInsensitive</a></div><div class="ttdeci">void setObjFieldInsensitive(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00349">PointerAnalysis.h:349</a></div></div>
|
|
@@ -499,7 +500,7 @@ $(function() {
|
|
|
499
500
|
<div class="ttc" id="aclassSVF_1_1ContextDDA_html_a525949d1743136466d33bf4dc26ba423"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a525949d1743136466d33bf4dc26ba423">SVF::ContextDDA::isEdgeInRecursion</a></div><div class="ttdeci">virtual bool isEdgeInRecursion(CallSiteID csId)</div><div class="ttdoc">Whether call/return inside recursion.</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8h_source.html#l00134">ContextDDA.h:134</a></div></div>
|
|
500
501
|
<div class="ttc" id="aclassSVF_1_1GepVFGNode_html"><div class="ttname"><a href="classSVF_1_1GepVFGNode.html">SVF::GepVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00594">VFGNode.h:594</a></div></div>
|
|
501
502
|
<div class="ttc" id="aclassSVF_1_1CxtStmtDPItem_html_ab1098f5093419b62ea27a20933059270"><div class="ttname"><a href="classSVF_1_1CxtStmtDPItem.html#ab1098f5093419b62ea27a20933059270">SVF::CxtStmtDPItem::getCondVar</a></div><div class="ttdeci">CxtVar getCondVar() const</div><div class="ttdoc">Get context var.</div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00408">DPItem.h:408</a></div></div>
|
|
502
|
-
<div class="ttc" id="aclassSVF_1_1ContextDDA_html_a7687f36ad3f27bb16069975f00a1a202"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a7687f36ad3f27bb16069975f00a1a202">SVF::ContextDDA::getCSIDAtRet</a></div><div class="ttdeci">CallSiteID getCSIDAtRet(CxtLocDPItem &dpm, const SVFGEdge *edge)</div><div class="ttdoc">get callsite id from return, return 0 if it is a spurious return edge</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#
|
|
503
|
+
<div class="ttc" id="aclassSVF_1_1ContextDDA_html_a7687f36ad3f27bb16069975f00a1a202"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a7687f36ad3f27bb16069975f00a1a202">SVF::ContextDDA::getCSIDAtRet</a></div><div class="ttdeci">CallSiteID getCSIDAtRet(CxtLocDPItem &dpm, const SVFGEdge *edge)</div><div class="ttdoc">get callsite id from return, return 0 if it is a spurious return edge</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#l00234">ContextDDA.cpp:234</a></div></div>
|
|
503
504
|
<div class="ttc" id="aclassSVF_1_1FlowDDA_html_a113faa56ee75eff39da19fd4b47a47e0"><div class="ttname"><a href="classSVF_1_1FlowDDA.html#a113faa56ee75eff39da19fd4b47a47e0">SVF::FlowDDA::computeDDAPts</a></div><div class="ttdeci">void computeDDAPts(NodeID id) override</div><div class="ttdoc">Compute points-to set for all top variable.</div><div class="ttdef"><b>Definition:</b> <a href="FlowDDA_8cpp_source.html#l00043">FlowDDA.cpp:43</a></div></div>
|
|
504
505
|
<div class="ttc" id="aclassSVF_1_1Options_html_a3bbd106de519cb8d00f33e82f14d279b"><div class="ttname"><a href="classSVF_1_1Options.html#a3bbd106de519cb8d00f33e82f14d279b">SVF::Options::CxtBudget</a></div><div class="ttdeci">static const Option< u32_t > CxtBudget</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00081">Options.h:81</a></div></div>
|
|
505
506
|
<div class="ttc" id="anamespaceSVF_html_a03d88a0302bcd253387690f13f693f64"><div class="ttname"><a href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">SVF::CallSiteID</a></div><div class="ttdeci">unsigned CallSiteID</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00059">SVFType.h:59</a></div></div>
|
|
@@ -529,9 +530,9 @@ $(function() {
|
|
|
529
530
|
<div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_aa725a0c9426e8615cbc078c88561f66a"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aa725a0c9426e8615cbc078c88561f66a">SVF::PointerAnalysis::isInRecursion</a></div><div class="ttdeci">bool isInRecursion(const SVFFunction *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00414">PointerAnalysis.h:414</a></div></div>
|
|
530
531
|
<div class="ttc" id="aclassSVF_1_1CondStdSet_html_ae11deddad534be115d29daad08c90599"><div class="ttname"><a href="classSVF_1_1CondStdSet.html#ae11deddad534be115d29daad08c90599">SVF::CondStdSet::set</a></div><div class="ttdeci">void set(const Element &var)</div><div class="ttdoc">Add the element into set.</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00158">ConditionalPT.h:158</a></div></div>
|
|
531
532
|
<div class="ttc" id="aclassSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00028">PointsTo.h:28</a></div></div>
|
|
532
|
-
<div class="ttc" id="aclassSVF_1_1ContextDDA_html_a2ce589a1d63a5126e178fc47527e0f92"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a2ce589a1d63a5126e178fc47527e0f92">SVF::ContextDDA::getCSIDAtCall</a></div><div class="ttdeci">CallSiteID getCSIDAtCall(CxtLocDPItem &dpm, const SVFGEdge *edge)</div><div class="ttdoc">get callsite id from call, return 0 if it is a spurious call edge</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#
|
|
533
|
+
<div class="ttc" id="aclassSVF_1_1ContextDDA_html_a2ce589a1d63a5126e178fc47527e0f92"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a2ce589a1d63a5126e178fc47527e0f92">SVF::ContextDDA::getCSIDAtCall</a></div><div class="ttdeci">CallSiteID getCSIDAtCall(CxtLocDPItem &dpm, const SVFGEdge *edge)</div><div class="ttdoc">get callsite id from call, return 0 if it is a spurious call edge</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#l00210">ContextDDA.cpp:210</a></div></div>
|
|
533
534
|
<div class="ttc" id="aclassSVF_1_1PTACallGraph_html_a711bd8ad385f8454fbfcd20f134efe1b"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a711bd8ad385f8454fbfcd20f134efe1b">SVF::PTACallGraph::getCallSiteID</a></div><div class="ttdeci">CallSiteID getCallSiteID(const CallICFGNode *cs, const SVFFunction *callee) const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00344">PTACallGraph.h:344</a></div></div>
|
|
534
|
-
<div class="ttc" id="aclassSVF_1_1ContextDDA_html_a05ac33ca33efb58099839f72050bb008"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a05ac33ca33efb58099839f72050bb008">SVF::ContextDDA::testIndCallReachability</a></div><div class="ttdeci">bool testIndCallReachability(CxtLocDPItem &dpm, const SVFFunction *callee, const CallICFGNode *cs)</div><div class="ttdoc">refine indirect call edge</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#
|
|
535
|
+
<div class="ttc" id="aclassSVF_1_1ContextDDA_html_a05ac33ca33efb58099839f72050bb008"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a05ac33ca33efb58099839f72050bb008">SVF::ContextDDA::testIndCallReachability</a></div><div class="ttdeci">bool testIndCallReachability(CxtLocDPItem &dpm, const SVFFunction *callee, const CallICFGNode *cs)</div><div class="ttdoc">refine indirect call edge</div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#l00189">ContextDDA.cpp:189</a></div></div>
|
|
535
536
|
<div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00201">PointerAnalysis.h:201</a></div></div>
|
|
536
537
|
<div class="ttc" id="aclassSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00101">GenericGraph.h:101</a></div></div>
|
|
537
538
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ab2e0196e0ce547ab4a483cc6d2646b24"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab2e0196e0ce547ab4a483cc6d2646b24">SVF::SVFUtil::writeWrnMsg</a></div><div class="ttdeci">void writeWrnMsg(const std::string &msg)</div><div class="ttdoc">Writes a message run through wrnMsg.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00066">SVFUtil.cpp:66</a></div></div>
|