svf-tools 1.0.813 → 1.0.814
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 +4 -4
- package/SVF-doxygen/html/AccessPath_8h_source.html +3 -3
- 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 +3 -3
- 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 +4 -4
- package/SVF-doxygen/html/SVFVariables_8h_source.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1AccessPath-members.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AccessPath.html +11 -11
- 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 +8 -8
- 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 +123 -121
- package/SVF-doxygen/html/functions_b.html +3 -3
- package/SVF-doxygen/html/functions_func_g.html +7 -5
- package/SVF-doxygen/html/functions_func_i.html +1 -1
- package/SVF-doxygen/html/functions_g.html +6 -4
- package/SVF-doxygen/html/functions_i.html +2 -2
- package/SVF-doxygen/html/functions_o.html +4 -4
- package/SVF-doxygen/html/functions_p.html +9 -9
- package/SVF-doxygen/html/functions_r.html +2 -4
- package/SVF-doxygen/html/functions_s.html +5 -5
- package/SVF-doxygen/html/functions_t.html +6 -6
- package/SVF-doxygen/html/functions_v.html +4 -6
- package/SVF-doxygen/html/functions_w.html +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_2.js +1 -1
- package/SVF-doxygen/html/search/all_7.js +715 -714
- 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 +853 -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 +33 -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 +2 -2
- 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 +2 -2
- 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 +4 -4
- 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 +2 -2
- package/svf-llvm/lib/SVFIRExtAPI.cpp +7 -5
|
@@ -758,9 +758,9 @@ Private Attributes</h2></td></tr>
|
|
|
758
758
|
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  {</div>
|
|
759
759
|
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html">LLVMModuleSet</a>* llvmmodule = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>();</div>
|
|
760
760
|
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* dElementType = <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a9f7c24325d897b598d6b989fdc4aae1e">getSymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a806ae865d29c4b05b69c499284758c6f">getFlatternedElemType</a>(llvmmodule-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(dtype),</div>
|
|
761
|
-
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  fields[<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>].
|
|
761
|
+
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  fields[<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>].getConstantStructFldIdx());</div>
|
|
762
762
|
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* sElementType = <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a9f7c24325d897b598d6b989fdc4aae1e">getSymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a806ae865d29c4b05b69c499284758c6f">getFlatternedElemType</a>(llvmmodule-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(stype),</div>
|
|
763
|
-
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  fields[<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>].
|
|
763
|
+
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  fields[<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>].getConstantStructFldIdx());</div>
|
|
764
764
|
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dField = <a class="code" href="classSVF_1_1SVFIRBuilder.html#ae4516ec05eabece1bc8e0cad1ec8cf1c">getGepValVar</a>(D,fields[<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>],dElementType);</div>
|
|
765
765
|
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> sField = <a class="code" href="classSVF_1_1SVFIRBuilder.html#ae4516ec05eabece1bc8e0cad1ec8cf1c">getGepValVar</a>(S,fields[<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>],sElementType);</div>
|
|
766
766
|
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dummy = <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#aa7e98cd2fd599aedefa4c2e6fb659da0">addDummyValNode</a>();</div>
|
|
@@ -1740,7 +1740,7 @@ Private Attributes</h2></td></tr>
|
|
|
1740
1740
|
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">continue</span>;</div>
|
|
1741
1741
|
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> idx = op->getSExtValue();</div>
|
|
1742
1742
|
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a9f7c24325d897b598d6b989fdc4aae1e">getSymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()->getSVFType(arrTy), idx);</div>
|
|
1743
|
-
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  ap.<a class="code" href="classSVF_1_1AccessPath.html#ab95df74c97fba13206df48e00131e15f">setFldIdx</a>(ap.<a class="code" href="classSVF_1_1AccessPath.html#
|
|
1743
|
+
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  ap.<a class="code" href="classSVF_1_1AccessPath.html#ab95df74c97fba13206df48e00131e15f">setFldIdx</a>(ap.<a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>() + <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
|
|
1744
1744
|
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  }</div>
|
|
1745
1745
|
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a> *ST = SVFUtil::dyn_cast<StructType>(gepTy))</div>
|
|
1746
1746
|
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  {</div>
|
|
@@ -1748,7 +1748,7 @@ Private Attributes</h2></td></tr>
|
|
|
1748
1748
|
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="comment">//The actual index</span></div>
|
|
1749
1749
|
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> idx = op->getSExtValue();</div>
|
|
1750
1750
|
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a9f7c24325d897b598d6b989fdc4aae1e">getSymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()->getSVFType(ST), idx);</div>
|
|
1751
|
-
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  ap.<a class="code" href="classSVF_1_1AccessPath.html#ab95df74c97fba13206df48e00131e15f">setFldIdx</a>(ap.<a class="code" href="classSVF_1_1AccessPath.html#
|
|
1751
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  ap.<a class="code" href="classSVF_1_1AccessPath.html#ab95df74c97fba13206df48e00131e15f">setFldIdx</a>(ap.<a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>() + <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
|
|
1752
1752
|
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  }</div>
|
|
1753
1753
|
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (gepTy->isSingleValueType())</div>
|
|
1754
1754
|
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  {</div>
|
|
@@ -2543,122 +2543,124 @@ Private Attributes</h2></td></tr>
|
|
|
2543
2543
|
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a> = 0; <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a> < sz; <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>++)</div>
|
|
2544
2544
|
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  {</div>
|
|
2545
2545
|
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html">LLVMModuleSet</a>* llvmmodule = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>();</div>
|
|
2546
|
-
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* dElementType = <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a9f7c24325d897b598d6b989fdc4aae1e">getSymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a806ae865d29c4b05b69c499284758c6f">getFlatternedElemType</a>(llvmmodule-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(dtype)
|
|
2547
|
-
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> 
|
|
2548
|
-
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <a class="code" href="
|
|
2549
|
-
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> 
|
|
2550
|
-
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> 
|
|
2551
|
-
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> 
|
|
2552
|
-
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> 
|
|
2553
|
-
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> 
|
|
2554
|
-
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> 
|
|
2555
|
-
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> 
|
|
2556
|
-
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> 
|
|
2557
|
-
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">
|
|
2558
|
-
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment">
|
|
2559
|
-
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment">
|
|
2560
|
-
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment">
|
|
2561
|
-
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment">
|
|
2562
|
-
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">
|
|
2563
|
-
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">
|
|
2564
|
-
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment">
|
|
2565
|
-
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment">
|
|
2566
|
-
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment">
|
|
2567
|
-
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">
|
|
2568
|
-
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> 
|
|
2569
|
-
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="
|
|
2570
|
-
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> 
|
|
2571
|
-
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  </div>
|
|
2572
|
-
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> 
|
|
2573
|
-
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> 
|
|
2574
|
-
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> 
|
|
2575
|
-
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> 
|
|
2576
|
-
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  </div>
|
|
2577
|
-
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> 
|
|
2578
|
-
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="
|
|
2579
|
-
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> 
|
|
2580
|
-
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  </div>
|
|
2581
|
-
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> 
|
|
2582
|
-
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="
|
|
2583
|
-
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> 
|
|
2584
|
-
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> 
|
|
2585
|
-
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> 
|
|
2586
|
-
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> 
|
|
2587
|
-
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> 
|
|
2588
|
-
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <a class="code" href="
|
|
2589
|
-
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> 
|
|
2590
|
-
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> 
|
|
2591
|
-
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> 
|
|
2592
|
-
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> 
|
|
2593
|
-
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> 
|
|
2594
|
-
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> 
|
|
2595
|
-
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  </div>
|
|
2596
|
-
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> 
|
|
2597
|
-
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="comment">//
|
|
2598
|
-
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <
|
|
2599
|
-
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <a class="code" href="namespaceSVF.html#
|
|
2600
|
-
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  </div>
|
|
2601
|
-
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> 
|
|
2602
|
-
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> 
|
|
2603
|
-
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  </div>
|
|
2604
|
-
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <
|
|
2605
|
-
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> 
|
|
2606
|
-
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="
|
|
2607
|
-
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> 
|
|
2608
|
-
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> 
|
|
2609
|
-
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> 
|
|
2610
|
-
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="
|
|
2611
|
-
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> 
|
|
2612
|
-
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <a class="code" href="
|
|
2613
|
-
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> 
|
|
2614
|
-
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <
|
|
2615
|
-
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> 
|
|
2616
|
-
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> 
|
|
2617
|
-
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> 
|
|
2618
|
-
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> 
|
|
2619
|
-
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> 
|
|
2620
|
-
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> 
|
|
2621
|
-
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> 
|
|
2622
|
-
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> 
|
|
2623
|
-
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> 
|
|
2624
|
-
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> 
|
|
2625
|
-
<div class="line"><a name="
|
|
2626
|
-
<div class="line"><a name="
|
|
2627
|
-
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> 
|
|
2628
|
-
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> 
|
|
2629
|
-
<div class="line"><a name="
|
|
2630
|
-
<div class="line"><a name="
|
|
2631
|
-
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> 
|
|
2632
|
-
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> 
|
|
2633
|
-
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <a class="code" href="
|
|
2634
|
-
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> 
|
|
2635
|
-
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> 
|
|
2636
|
-
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> 
|
|
2637
|
-
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> 
|
|
2638
|
-
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> 
|
|
2639
|
-
<div class="line"><a name="
|
|
2640
|
-
<div class="line"><a name="
|
|
2641
|
-
<div class="line"><a name="
|
|
2642
|
-
<div class="line"><a name="
|
|
2643
|
-
<div class="line"><a name="
|
|
2644
|
-
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> 
|
|
2645
|
-
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> 
|
|
2646
|
-
<div class="line"><a name="
|
|
2647
|
-
<div class="line"><a name="
|
|
2648
|
-
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="
|
|
2649
|
-
<div class="line"><a name="
|
|
2650
|
-
<div class="line"><a name="
|
|
2651
|
-
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> 
|
|
2652
|
-
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> 
|
|
2653
|
-
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <a class="code" href="
|
|
2654
|
-
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> 
|
|
2655
|
-
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> 
|
|
2656
|
-
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> 
|
|
2657
|
-
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> 
|
|
2658
|
-
<div class="line"><a name="
|
|
2659
|
-
<div class="line"><a name="
|
|
2660
|
-
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> 
|
|
2661
|
-
<div class="line"><a name="
|
|
2546
|
+
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* dElementType = <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a9f7c24325d897b598d6b989fdc4aae1e">getSymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a806ae865d29c4b05b69c499284758c6f">getFlatternedElemType</a>(llvmmodule-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(dtype),</div>
|
|
2547
|
+
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  dstFields[<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>].getConstantStructFldIdx());</div>
|
|
2548
|
+
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dField = <a class="code" href="classSVF_1_1SVFIRBuilder.html#ae4516ec05eabece1bc8e0cad1ec8cf1c">getGepValVar</a>(cs->getArgOperand(0), dstFields[<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>], dElementType);</div>
|
|
2549
|
+
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <a class="code" href="classSVF_1_1SVFIRBuilder.html#a30f043eeca79259d84b97e265110f018">addStoreEdge</a>(<a class="code" href="classSVF_1_1SVFIRBuilder.html#acc69fc638380f34164db649d9bf2a7d6">getValueNode</a>(cs->getArgOperand(1)),dField);</div>
|
|
2550
|
+
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  }</div>
|
|
2551
|
+
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">if</span>(SVFUtil::isa<PointerType>(cs->getType()))</div>
|
|
2552
|
+
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <a class="code" href="classSVF_1_1SVFIRBuilder.html#a140defeb309d895394822f8780deda16">addCopyEdge</a>(<a class="code" href="classSVF_1_1SVFIRBuilder.html#acc69fc638380f34164db649d9bf2a7d6">getValueNode</a>(cs->getArgOperand(0)), <a class="code" href="classSVF_1_1SVFIRBuilder.html#acc69fc638380f34164db649d9bf2a7d6">getValueNode</a>(cs));</div>
|
|
2553
|
+
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  }</div>
|
|
2554
|
+
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(svfCallee-><a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>().compare(<span class="stringliteral">"dlsym"</span>) == 0)</div>
|
|
2555
|
+
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  {</div>
|
|
2556
|
+
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="comment">/*</span></div>
|
|
2557
|
+
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"> Side-effects of void* dlsym( void* handle, const char* funName),</span></div>
|
|
2558
|
+
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"> Locate the function with the name "funName," then add a "copy" edge between the callsite and that function.</span></div>
|
|
2559
|
+
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> dlsym() example:</span></div>
|
|
2560
|
+
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"> int main() {</span></div>
|
|
2561
|
+
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment"> // Open the shared library</span></div>
|
|
2562
|
+
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment"> void* handle = dlopen("./my_shared_library.so", RTLD_LAZY);</span></div>
|
|
2563
|
+
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment"> // Find the function address</span></div>
|
|
2564
|
+
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment"> void (*myFunctionPtr)() = (void (*)())dlsym(handle, "myFunction");</span></div>
|
|
2565
|
+
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment"> // Call the function</span></div>
|
|
2566
|
+
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="comment"> myFunctionPtr();</span></div>
|
|
2567
|
+
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment"> }</span></div>
|
|
2568
|
+
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="comment"> */</span></div>
|
|
2569
|
+
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* src = cs->getArgOperand(1);</div>
|
|
2570
|
+
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ac4e93e1fec646ff222940a663843921b">GetElementPtrInst</a>* gep = SVFUtil::dyn_cast<GetElementPtrInst>(src))</div>
|
|
2571
|
+
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  src = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a07bd47ccfd02c5a2a6db26b537b2184f">stripConstantCasts</a>(gep->getPointerOperand());</div>
|
|
2572
|
+
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  </div>
|
|
2573
|
+
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keyword">auto</span> getHookFn = [](<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* src)-><span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>*</div>
|
|
2574
|
+
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  {</div>
|
|
2575
|
+
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">if</span> (!SVFUtil::isa<GlobalVariable>(src))</div>
|
|
2576
|
+
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
2577
|
+
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  </div>
|
|
2578
|
+
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keyword">auto</span> *glob = SVFUtil::cast<GlobalVariable>(src);</div>
|
|
2579
|
+
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">if</span> (!glob->hasInitializer() || !SVFUtil::isa<ConstantDataArray>(glob->getInitializer()))</div>
|
|
2580
|
+
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
2581
|
+
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  </div>
|
|
2582
|
+
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keyword">auto</span> *constarray = SVFUtil::cast<ConstantDataArray>(glob->getInitializer());</div>
|
|
2583
|
+
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a76b0d0ac69c170838cfc8ee26f4518a0">LLVMUtil::getProgFunction</a>(constarray->getAsCString().str());</div>
|
|
2584
|
+
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  };</div>
|
|
2585
|
+
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  </div>
|
|
2586
|
+
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *fn = getHookFn(src))</div>
|
|
2587
|
+
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  {</div>
|
|
2588
|
+
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> srcNode = <a class="code" href="classSVF_1_1SVFIRBuilder.html#acc69fc638380f34164db649d9bf2a7d6">getValueNode</a>(fn);</div>
|
|
2589
|
+
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="classSVF_1_1SVFIRBuilder.html#a140defeb309d895394822f8780deda16">addCopyEdge</a>(srcNode, <a class="code" href="classSVF_1_1SVFIRBuilder.html#acc69fc638380f34164db649d9bf2a7d6">getValueNode</a>(cs));</div>
|
|
2590
|
+
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  }</div>
|
|
2591
|
+
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  }</div>
|
|
2592
|
+
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(svfCallee-><a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>().find(<span class="stringliteral">"_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_"</span>) != std::string::npos)</div>
|
|
2593
|
+
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  {</div>
|
|
2594
|
+
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="comment">// The purpose of this function is to insert a new node into the red-black tree and then rebalance the tree to ensure that the red-black tree properties are maintained.</span></div>
|
|
2595
|
+
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  assert(svfCall-><a class="code" href="classSVF_1_1SVFCallInst.html#a496d0e963f0f6a4f9c08183fa91792b0">arg_size</a>() == 4 && <span class="stringliteral">"_Rb_tree_insert_and_rebalance should have 4 arguments.\n"</span>);</div>
|
|
2596
|
+
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  </div>
|
|
2597
|
+
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="comment">// We have vArg3 points to the entry of _Rb_tree_node_base { color; parent; left; right; }.</span></div>
|
|
2598
|
+
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="comment">// Now we calculate the offset from base to vArg3</span></div>
|
|
2599
|
+
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> vnArg3 = <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(svfCall-><a class="code" href="classSVF_1_1SVFCallInst.html#a3cbb4b4089c8b27d01da15f2d2f22e14">getArgOperand</a>(3));</div>
|
|
2600
|
+
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> =</div>
|
|
2601
|
+
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <a class="code" href="classSVF_1_1SVFIRBuilder.html#a7c401d6929e583be734c0c4e9957d0d7">getAccessPathFromBaseNode</a>(vnArg3).<a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>();</div>
|
|
2602
|
+
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  </div>
|
|
2603
|
+
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="comment">// We get all flattened fields of base</span></div>
|
|
2604
|
+
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  vector<AccessPath> fields = <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#adb6db6407bdc9a39e5bf8cd941f0ad15">getTypeLocSetsMap</a>(vnArg3).second;</div>
|
|
2605
|
+
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  </div>
|
|
2606
|
+
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="comment">// We summarize the side effects: arg3->parent = arg1, arg3->left = arg1, arg3->right = arg1</span></div>
|
|
2607
|
+
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="comment">// Note that arg0 is aligned with "offset".</span></div>
|
|
2608
|
+
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> i = <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> + 1; i <= <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> + 3; ++i)</div>
|
|
2609
|
+
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  {</div>
|
|
2610
|
+
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">if</span>((<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)i >= fields.size())</div>
|
|
2611
|
+
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">break</span>;</div>
|
|
2612
|
+
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* elementType = <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a9f7c24325d897b598d6b989fdc4aae1e">getSymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a806ae865d29c4b05b69c499284758c6f">getFlatternedElemType</a>(<a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#adb6db6407bdc9a39e5bf8cd941f0ad15">getTypeLocSetsMap</a>(vnArg3).first,</div>
|
|
2613
|
+
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  fields[i].getConstantStructFldIdx());</div>
|
|
2614
|
+
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> vnD = <a class="code" href="classSVF_1_1SVFIRBuilder.html#ae4516ec05eabece1bc8e0cad1ec8cf1c">getGepValVar</a>(cs->getArgOperand(3), fields[i], elementType);</div>
|
|
2615
|
+
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> vnS = <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(svfCall-><a class="code" href="classSVF_1_1SVFCallInst.html#a3cbb4b4089c8b27d01da15f2d2f22e14">getArgOperand</a>(1));</div>
|
|
2616
|
+
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">if</span>(vnD && vnS)</div>
|
|
2617
|
+
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <a class="code" href="classSVF_1_1SVFIRBuilder.html#a30f043eeca79259d84b97e265110f018">addStoreEdge</a>(vnS,vnD);</div>
|
|
2618
|
+
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  }</div>
|
|
2619
|
+
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  }</div>
|
|
2620
|
+
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  </div>
|
|
2621
|
+
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a5c2abeb363081381c3dc939ab511e3f0">isThreadForkCall</a>(svfInst))</div>
|
|
2622
|
+
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  {</div>
|
|
2623
|
+
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* forkedFun = SVFUtil::dyn_cast<SVFFunction>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a2790c5289dad1d6e80f7597a2ea458ab">getForkedFun</a>(svfInst)))</div>
|
|
2624
|
+
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  {</div>
|
|
2625
|
+
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  forkedFun = forkedFun->getDefFunForMultipleModule();</div>
|
|
2626
|
+
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* actualParm = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8c64663b564eb7c399013389920ab500">getActualParmAtForkSite</a>(svfInst);</div>
|
|
2627
|
+
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  assert((forkedFun->arg_size() <= 2) && <span class="stringliteral">"Size of formal parameter of start routine should be one"</span>);</div>
|
|
2628
|
+
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordflow">if</span> (forkedFun->arg_size() <= 2 && forkedFun->arg_size() >= 1)</div>
|
|
2629
|
+
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  {</div>
|
|
2630
|
+
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArgument.html">SVFArgument</a>* formalParm = forkedFun->getArg(0);</div>
|
|
2631
|
+
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">if</span> (actualParm-><a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()-><a class="code" href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">isPointerTy</a>() && formalParm-><a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()-><a class="code" href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">isPointerTy</a>())</div>
|
|
2632
|
+
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  {</div>
|
|
2633
|
+
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *icfgNode = <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(svfInst);</div>
|
|
2634
|
+
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a> *entry = <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#a0dca4655c2f6112a5be1f921b8e81076">getFunEntryICFGNode</a>(forkedFun);</div>
|
|
2635
|
+
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <a class="code" href="classSVF_1_1SVFIRBuilder.html#a54636413fd3ed7e634ac7428139966a4">addThreadForkEdge</a>(<a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(actualParm), <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(formalParm), icfgNode, entry);</div>
|
|
2636
|
+
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  }</div>
|
|
2637
|
+
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  }</div>
|
|
2638
|
+
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  }</div>
|
|
2639
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">else</span></div>
|
|
2640
|
+
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  {</div>
|
|
2641
|
+
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  }</div>
|
|
2642
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  }</div>
|
|
2643
|
+
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  </div>
|
|
2644
|
+
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a28fbb7cc51eb7e25d88f43e3eb1f30fb">isHareParForCall</a>(svfInst))</div>
|
|
2645
|
+
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  {</div>
|
|
2646
|
+
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* taskFunc = SVFUtil::dyn_cast<SVFFunction>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a5cee46f58bdab3f9b1c698e97290152f">getTaskFuncAtHareParForSite</a>(svfInst)))</div>
|
|
2647
|
+
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  {</div>
|
|
2648
|
+
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  assert((taskFunc->arg_size() == 3) && <span class="stringliteral">"Size of formal parameter of hare_parallel_for's task routine should be 3"</span>);</div>
|
|
2649
|
+
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* actualParm = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a2f74db48793a0db76c000ffecf9e1bd2">getTaskDataAtHareParForSite</a>(svfInst);</div>
|
|
2650
|
+
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArgument.html">SVFArgument</a>* formalParm = taskFunc->getArg(0);</div>
|
|
2651
|
+
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">if</span> (actualParm-><a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()-><a class="code" href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">isPointerTy</a>() && formalParm-><a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()-><a class="code" href="classSVF_1_1SVFType.html#a870b63af2bf9fe43cdf1df3d56b20f6c">isPointerTy</a>())</div>
|
|
2652
|
+
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  {</div>
|
|
2653
|
+
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *icfgNode = <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(svfInst);</div>
|
|
2654
|
+
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a> *entry = <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#a0dca4655c2f6112a5be1f921b8e81076">getFunEntryICFGNode</a>(taskFunc);</div>
|
|
2655
|
+
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="classSVF_1_1SVFIRBuilder.html#a54636413fd3ed7e634ac7428139966a4">addThreadForkEdge</a>(<a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(actualParm), <a class="code" href="classSVF_1_1SVFIRBuilder.html#a4ea94b0a8d6da904ff9a6c1b0341b9cb">pag</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(formalParm), icfgNode, entry);</div>
|
|
2656
|
+
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  }</div>
|
|
2657
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  }</div>
|
|
2658
|
+
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keywordflow">else</span></div>
|
|
2659
|
+
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  {</div>
|
|
2660
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  }</div>
|
|
2661
|
+
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  }</div>
|
|
2662
|
+
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  </div>
|
|
2663
|
+
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> }</div>
|
|
2662
2664
|
</div><!-- fragment -->
|
|
2663
2665
|
</div>
|
|
2664
2666
|
</div>
|
|
@@ -4780,6 +4782,7 @@ Private Attributes</h2></td></tr>
|
|
|
4780
4782
|
<div class="ttc" id="aclassSVF_1_1SVFType_html_a3672b4797c400aac90c6d36ce29e0e57"><div class="ttname"><a href="classSVF_1_1SVFType.html#a3672b4797c400aac90c6d36ce29e0e57">SVF::SVFType::getPointerTo</a></div><div class="ttdeci">const SVFPointerType * getPointerTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00297">SVFType.h:297</a></div></div>
|
|
4781
4783
|
<div class="ttc" id="anamespacellvm_html_a7cfc92a12082d69711c97bb3d1b99c48"><div class="ttname"><a href="namespacellvm.html#a7cfc92a12082d69711c97bb3d1b99c48">llvm::bridge_gep_end</a></div><div class="ttdeci">bridge_gep_iterator bridge_gep_end(const User *GEP)</div><div class="ttdef"><b>Definition:</b> <a href="GEPTypeBridgeIterator_8h_source.html#l00157">GEPTypeBridgeIterator.h:157</a></div></div>
|
|
4782
4784
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a2b1de62f88588b068d4eed125049ed8d"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2b1de62f88588b068d4eed125049ed8d">SVF::SVFIR::addBlackholePtrNode</a></div><div class="ttdeci">NodeID addBlackholePtrNode()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00596">SVFIR.h:596</a></div></div>
|
|
4785
|
+
<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#l00098">AccessPath.h:98</a></div></div>
|
|
4783
4786
|
<div class="ttc" id="anamespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00081">BasicTypes.h:81</a></div></div>
|
|
4784
4787
|
<div class="ttc" id="aclassSVF_1_1ICFG_html_a881fe977f3a6fde223bd786121e35fcf"><div class="ttname"><a href="classSVF_1_1ICFG.html#a881fe977f3a6fde223bd786121e35fcf">SVF::ICFG::getRetICFGNode</a></div><div class="ttdeci">RetICFGNode * getRetICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00254">ICFG.cpp:254</a></div></div>
|
|
4785
4788
|
<div class="ttc" id="aclassSVF_1_1CallPE_html"><div class="ttname"><a href="classSVF_1_1CallPE.html">SVF::CallPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00545">SVFStatements.h:545</a></div></div>
|
|
@@ -4802,7 +4805,6 @@ Private Attributes</h2></td></tr>
|
|
|
4802
4805
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a38f6d0c7db935fd4e556761f96f1fa09"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a38f6d0c7db935fd4e556761f96f1fa09">SVF::SVFIR::addRetNode</a></div><div class="ttdeci">NodeID addRetNode(const SVFFunction *val, NodeID i)</div><div class="ttdoc">Add a unique return node for a procedure.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00549">SVFIR.h:549</a></div></div>
|
|
4803
4806
|
<div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a24df52313f8093bb651ae9da972cd663"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">SVF::SymbolTableInfo::getFlattenedElemIdx</a></div><div class="ttdeci">u32_t getFlattenedElemIdx(const SVFType *T, u32_t origId)</div><div class="ttdoc">Flattened element idx of an array or struct by considering stride.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00181">SymbolTableInfo.cpp:181</a></div></div>
|
|
4804
4807
|
<div class="ttc" id="aclassSVF_1_1ICFG_html_aaf521832909781894659725300cf4f49"><div class="ttname"><a href="classSVF_1_1ICFG.html#aaf521832909781894659725300cf4f49">SVF::ICFG::getIntraICFGNode</a></div><div class="ttdeci">IntraICFGNode * getIntraICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00265">ICFG.cpp:265</a></div></div>
|
|
4805
|
-
<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>
|
|
4806
4808
|
<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>
|
|
4807
4809
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ac1a9d20d62066ec4e181fad223669e32"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ac1a9d20d62066ec4e181fad223669e32">SVF::LLVMModuleSet::getContext</a></div><div class="ttdeci">LLVMContext & getContext() const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00329">LLVMModule.h:329</a></div></div>
|
|
4808
4810
|
<div class="ttc" id="aclassSVF_1_1SVFIRBuilder_html_a4e1b6797df3e7b98da876f50741e6a3a"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html#a4e1b6797df3e7b98da876f50741e6a3a">SVF::SVFIRBuilder::addGepEdge</a></div><div class="ttdeci">void addGepEdge(NodeID src, NodeID dst, const AccessPath &ap, bool constGep)</div><div class="ttdoc">Add Gep edge.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8h_source.html#l00378">SVFIRBuilder.h:378</a></div></div>
|
|
@@ -379,12 +379,12 @@ $(function() {
|
|
|
379
379
|
<li>bugEventStack
|
|
380
380
|
: <a class="el" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">SVF::GenericBug</a>
|
|
381
381
|
</li>
|
|
382
|
-
<li>bugSet
|
|
383
|
-
: <a class="el" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">SVF::SVFBugReport</a>
|
|
384
|
-
</li>
|
|
385
382
|
<li>BugSet
|
|
386
383
|
: <a class="el" href="classSVF_1_1SVFBugReport.html#a357fa4ad635d2c53693ab147f255f7ac">SVF::SVFBugReport</a>
|
|
387
384
|
</li>
|
|
385
|
+
<li>bugSet
|
|
386
|
+
: <a class="el" href="classSVF_1_1SVFBugReport.html#acacf8d5aa4aab95be34a5a1cb21838b3">SVF::SVFBugReport</a>
|
|
387
|
+
</li>
|
|
388
388
|
<li>BugType
|
|
389
389
|
: <a class="el" href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecac">SVF::GenericBug</a>
|
|
390
390
|
</li>
|
|
@@ -660,10 +660,8 @@ $(function() {
|
|
|
660
660
|
, <a class="el" href="classSVF_1_1FlowDDA.html#a086e428c83c2c3ed7fdfbbfd17abdf78">SVF::FlowDDA</a>
|
|
661
661
|
</li>
|
|
662
662
|
<li>getConstantFieldIdx()
|
|
663
|
-
: <a class="el" href="
|
|
664
|
-
, <a class="el" href="classSVF_1_1DCHEdge.html#a500ccfa8f8327ab792844698423d8578">SVF::DCHEdge</a>
|
|
663
|
+
: <a class="el" href="classSVF_1_1DCHEdge.html#a500ccfa8f8327ab792844698423d8578">SVF::DCHEdge</a>
|
|
665
664
|
, <a class="el" href="classSVF_1_1GepObjVar.html#a10790e82dbb00532d4aa171f592c54bc">SVF::GepObjVar</a>
|
|
666
|
-
, <a class="el" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">SVF::GepStmt</a>
|
|
667
665
|
, <a class="el" href="classSVF_1_1GepValVar.html#ada19ed60cb6623867b00b0f59cf0453a">SVF::GepValVar</a>
|
|
668
666
|
, <a class="el" href="classSVF_1_1NormalGepCGEdge.html#ad00a9492e48686cb8a5d593a1a52e872">SVF::NormalGepCGEdge</a>
|
|
669
667
|
</li>
|
|
@@ -677,6 +675,10 @@ $(function() {
|
|
|
677
675
|
<li>getConstantSet()
|
|
678
676
|
: <a class="el" href="classSVF_1_1SVFModule.html#aa29e64e29db6af2387dec987a5e1985b">SVF::SVFModule</a>
|
|
679
677
|
</li>
|
|
678
|
+
<li>getConstantStructFldIdx()
|
|
679
|
+
: <a class="el" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">SVF::AccessPath</a>
|
|
680
|
+
, <a class="el" href="classSVF_1_1GepStmt.html#a71fcc6d100ce2a9785a02b8924261956">SVF::GepStmt</a>
|
|
681
|
+
</li>
|
|
680
682
|
<li>getConstraintGraph()
|
|
681
683
|
: <a class="el" href="classSVF_1_1AndersenBase.html#aaec5125db063f8c1e7431ac7fe7a70f2">SVF::AndersenBase</a>
|
|
682
684
|
</li>
|
|
@@ -2917,10 +2919,10 @@ $(function() {
|
|
|
2917
2919
|
: <a class="el" href="classSVF_1_1SVFConstantInt.html#aabc3c47a6e4036bf993fe29fa195bf1e">SVF::SVFConstantInt</a>
|
|
2918
2920
|
</li>
|
|
2919
2921
|
<li>global_begin()
|
|
2920
|
-
: <a class="el" href="classSVF_1_1SVFModule.html#
|
|
2922
|
+
: <a class="el" href="classSVF_1_1SVFModule.html#a4dc32c583d29d74d052eaa5665b0b70e">SVF::SVFModule</a>
|
|
2921
2923
|
</li>
|
|
2922
2924
|
<li>global_end()
|
|
2923
|
-
: <a class="el" href="classSVF_1_1SVFModule.html#
|
|
2925
|
+
: <a class="el" href="classSVF_1_1SVFModule.html#afa9068e662918f6649d5ca25340a3ae2">SVF::SVFModule</a>
|
|
2924
2926
|
</li>
|
|
2925
2927
|
<li>GlobalICFGNode()
|
|
2926
2928
|
: <a class="el" href="classSVF_1_1GlobalICFGNode.html#a01e8a9844fcad1cc5faa22d8b0e0efd7">SVF::GlobalICFGNode</a>
|
|
@@ -1279,7 +1279,7 @@ $(function() {
|
|
|
1279
1279
|
: <a class="el" href="classSVF_1_1ConstraintGraph.html#af790af4146197682dd4f9abfad1434f6">SVF::ConstraintGraph</a>
|
|
1280
1280
|
</li>
|
|
1281
1281
|
<li>iter_adaptor_base()
|
|
1282
|
-
: <a class="el" href="classSVF_1_1iter__adaptor__base.html#
|
|
1282
|
+
: <a class="el" href="classSVF_1_1iter__adaptor__base.html#ad3e91fd59221ddbdc889bc081159f611">SVF::iter_adaptor_base< DerivedT, WrappedIteratorT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT ></a>
|
|
1283
1283
|
</li>
|
|
1284
1284
|
<li>iter_range()
|
|
1285
1285
|
: <a class="el" href="classSVF_1_1iter__range.html#ac3a12d857b57fbe7b81987f56655cb3b">SVF::iter_range< IteratorT ></a>
|
|
@@ -725,10 +725,8 @@ $(function() {
|
|
|
725
725
|
, <a class="el" href="classSVF_1_1FlowDDA.html#a086e428c83c2c3ed7fdfbbfd17abdf78">SVF::FlowDDA</a>
|
|
726
726
|
</li>
|
|
727
727
|
<li>getConstantFieldIdx()
|
|
728
|
-
: <a class="el" href="
|
|
729
|
-
, <a class="el" href="classSVF_1_1DCHEdge.html#a500ccfa8f8327ab792844698423d8578">SVF::DCHEdge</a>
|
|
728
|
+
: <a class="el" href="classSVF_1_1DCHEdge.html#a500ccfa8f8327ab792844698423d8578">SVF::DCHEdge</a>
|
|
730
729
|
, <a class="el" href="classSVF_1_1GepObjVar.html#a10790e82dbb00532d4aa171f592c54bc">SVF::GepObjVar</a>
|
|
731
|
-
, <a class="el" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">SVF::GepStmt</a>
|
|
732
730
|
, <a class="el" href="classSVF_1_1GepValVar.html#ada19ed60cb6623867b00b0f59cf0453a">SVF::GepValVar</a>
|
|
733
731
|
, <a class="el" href="classSVF_1_1NormalGepCGEdge.html#ad00a9492e48686cb8a5d593a1a52e872">SVF::NormalGepCGEdge</a>
|
|
734
732
|
</li>
|
|
@@ -742,6 +740,10 @@ $(function() {
|
|
|
742
740
|
<li>getConstantSet()
|
|
743
741
|
: <a class="el" href="classSVF_1_1SVFModule.html#aa29e64e29db6af2387dec987a5e1985b">SVF::SVFModule</a>
|
|
744
742
|
</li>
|
|
743
|
+
<li>getConstantStructFldIdx()
|
|
744
|
+
: <a class="el" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">SVF::AccessPath</a>
|
|
745
|
+
, <a class="el" href="classSVF_1_1GepStmt.html#a71fcc6d100ce2a9785a02b8924261956">SVF::GepStmt</a>
|
|
746
|
+
</li>
|
|
745
747
|
<li>getConstraintGraph()
|
|
746
748
|
: <a class="el" href="classSVF_1_1AndersenBase.html#aaec5125db063f8c1e7431ac7fe7a70f2">SVF::AndersenBase</a>
|
|
747
749
|
</li>
|
|
@@ -2728,7 +2730,7 @@ $(function() {
|
|
|
2728
2730
|
: <a class="el" href="classSVF_1_1CFBasicBlockGWTO.html#a4fb40a0bed7cad99e9be5480455a6a71">SVF::CFBasicBlockGWTO</a>
|
|
2729
2731
|
</li>
|
|
2730
2732
|
<li>getTaskDataAtHareParForSite()
|
|
2731
|
-
: <a class="el" href="classSVF_1_1ThreadAPI.html#
|
|
2733
|
+
: <a class="el" href="classSVF_1_1ThreadAPI.html#a34ea034a2bd7b7cb51317ed441ca5b38">SVF::ThreadAPI</a>
|
|
2732
2734
|
</li>
|
|
2733
2735
|
<li>getTaskFuncAtHareParForSite()
|
|
2734
2736
|
: <a class="el" href="classSVF_1_1ThreadAPI.html#ae72d7dcd1e0836e5d1c5a2c682abe31c">SVF::ThreadAPI</a>
|