ssa: set pointer directiface
This commit is contained in:
@@ -567,6 +567,7 @@ _llgo_6: ; preds = %_llgo_5, %_llgo_4
|
||||
|
||||
_llgo_7: ; preds = %_llgo_6
|
||||
%72 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 26)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %72)
|
||||
store ptr %72, ptr @_llgo_Pointer, align 8
|
||||
br label %_llgo_8
|
||||
|
||||
@@ -918,6 +919,7 @@ _llgo_17: ; preds = %_llgo_16
|
||||
store i64 1, ptr %291, align 4
|
||||
%292 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %288, align 8
|
||||
%293 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %285, %"github.com/goplus/llgo/internal/runtime.Slice" %292, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %293)
|
||||
store ptr %293, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8
|
||||
br label %_llgo_18
|
||||
|
||||
@@ -1092,6 +1094,7 @@ _llgo_24: ; preds = %_llgo_100, %_llgo_2
|
||||
|
||||
_llgo_25: ; preds = %_llgo_23
|
||||
%395 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %21)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %395)
|
||||
store ptr %395, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8
|
||||
br label %_llgo_26
|
||||
|
||||
@@ -1123,6 +1126,7 @@ _llgo_27: ; preds = %_llgo_26
|
||||
store i64 1, ptr %410, align 4
|
||||
%411 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %407, align 8
|
||||
%412 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %404, %"github.com/goplus/llgo/internal/runtime.Slice" %411, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %412)
|
||||
store ptr %412, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8
|
||||
br label %_llgo_28
|
||||
|
||||
@@ -1389,6 +1393,7 @@ _llgo_35: ; preds = %_llgo_33
|
||||
store i64 1, ptr %572, align 4
|
||||
%573 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %569, align 8
|
||||
%574 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %566, %"github.com/goplus/llgo/internal/runtime.Slice" %573, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %574)
|
||||
store ptr %574, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8
|
||||
br label %_llgo_36
|
||||
|
||||
@@ -1776,6 +1781,7 @@ _llgo_51: ; preds = %_llgo_50
|
||||
store i64 1, ptr %800, align 4
|
||||
%801 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %797, align 8
|
||||
%802 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %794, %"github.com/goplus/llgo/internal/runtime.Slice" %801, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %802)
|
||||
store ptr %802, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8
|
||||
br label %_llgo_52
|
||||
|
||||
@@ -1860,6 +1866,7 @@ _llgo_53: ; preds = %_llgo_48
|
||||
store i64 1, ptr %849, align 4
|
||||
%850 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %846, align 8
|
||||
%851 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %843, %"github.com/goplus/llgo/internal/runtime.Slice" %850, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %851)
|
||||
store ptr %851, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8
|
||||
br label %_llgo_54
|
||||
|
||||
@@ -2515,6 +2522,7 @@ _llgo_63: ; preds = %_llgo_61
|
||||
store i64 1, ptr %1265, align 4
|
||||
%1266 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1262, align 8
|
||||
%1267 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1259, %"github.com/goplus/llgo/internal/runtime.Slice" %1266, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1267)
|
||||
store ptr %1267, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8
|
||||
br label %_llgo_64
|
||||
|
||||
@@ -3092,6 +3100,7 @@ _llgo_79: ; preds = %_llgo_78
|
||||
store i64 1, ptr %1618, align 4
|
||||
%1619 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1615, align 8
|
||||
%1620 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1612, %"github.com/goplus/llgo/internal/runtime.Slice" %1619, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1620)
|
||||
store ptr %1620, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8
|
||||
br label %_llgo_80
|
||||
|
||||
@@ -3154,6 +3163,7 @@ _llgo_80: ; preds = %_llgo_79, %_llgo_78
|
||||
|
||||
_llgo_81: ; preds = %_llgo_76
|
||||
%1655 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1535)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1655)
|
||||
store ptr %1655, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8
|
||||
br label %_llgo_82
|
||||
|
||||
@@ -3185,6 +3195,7 @@ _llgo_83: ; preds = %_llgo_82
|
||||
store i64 1, ptr %1670, align 4
|
||||
%1671 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1667, align 8
|
||||
%1672 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1664, %"github.com/goplus/llgo/internal/runtime.Slice" %1671, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1672)
|
||||
store ptr %1672, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8
|
||||
br label %_llgo_84
|
||||
|
||||
@@ -3262,6 +3273,7 @@ _llgo_84: ; preds = %_llgo_83, %_llgo_82
|
||||
|
||||
_llgo_85: ; preds = %_llgo_70
|
||||
%1712 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1292)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1712)
|
||||
store ptr %1712, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8
|
||||
br label %_llgo_86
|
||||
|
||||
@@ -3293,6 +3305,7 @@ _llgo_87: ; preds = %_llgo_86
|
||||
store i64 1, ptr %1727, align 4
|
||||
%1728 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1724, align 8
|
||||
%1729 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1721, %"github.com/goplus/llgo/internal/runtime.Slice" %1728, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1729)
|
||||
store ptr %1729, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8
|
||||
br label %_llgo_88
|
||||
|
||||
@@ -3395,6 +3408,7 @@ _llgo_88: ; preds = %_llgo_87, %_llgo_86
|
||||
|
||||
_llgo_89: ; preds = %_llgo_62
|
||||
%1784 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %876)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1784)
|
||||
store ptr %1784, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8
|
||||
br label %_llgo_90
|
||||
|
||||
@@ -3426,6 +3440,7 @@ _llgo_91: ; preds = %_llgo_90
|
||||
store i64 1, ptr %1799, align 4
|
||||
%1800 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1796, align 8
|
||||
%1801 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1793, %"github.com/goplus/llgo/internal/runtime.Slice" %1800, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1801)
|
||||
store ptr %1801, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8
|
||||
br label %_llgo_92
|
||||
|
||||
@@ -3588,6 +3603,7 @@ _llgo_92: ; preds = %_llgo_91, %_llgo_90
|
||||
|
||||
_llgo_93: ; preds = %_llgo_42
|
||||
%1896 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %599)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1896)
|
||||
store ptr %1896, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8
|
||||
br label %_llgo_94
|
||||
|
||||
@@ -3619,6 +3635,7 @@ _llgo_95: ; preds = %_llgo_94
|
||||
store i64 1, ptr %1911, align 4
|
||||
%1912 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1908, align 8
|
||||
%1913 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1905, %"github.com/goplus/llgo/internal/runtime.Slice" %1912, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1913)
|
||||
store ptr %1913, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8
|
||||
br label %_llgo_96
|
||||
|
||||
@@ -3868,6 +3885,7 @@ _llgo_96: ; preds = %_llgo_95, %_llgo_94
|
||||
|
||||
_llgo_97: ; preds = %_llgo_34
|
||||
%2064 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %437)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2064)
|
||||
store ptr %2064, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8
|
||||
br label %_llgo_98
|
||||
|
||||
@@ -3899,6 +3917,7 @@ _llgo_99: ; preds = %_llgo_98
|
||||
store i64 1, ptr %2079, align 4
|
||||
%2080 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2076, align 8
|
||||
%2081 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %2073, %"github.com/goplus/llgo/internal/runtime.Slice" %2080, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2081)
|
||||
store ptr %2081, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8
|
||||
br label %_llgo_100
|
||||
|
||||
@@ -4159,6 +4178,7 @@ _llgo_100: ; preds = %_llgo_99, %_llgo_98
|
||||
|
||||
_llgo_101: ; preds = %_llgo_24
|
||||
%2240 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %307)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2240)
|
||||
store ptr %2240, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8
|
||||
br label %_llgo_102
|
||||
|
||||
@@ -4190,6 +4210,7 @@ _llgo_103: ; preds = %_llgo_102
|
||||
store i64 1, ptr %2255, align 4
|
||||
%2256 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2252, align 8
|
||||
%2257 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %2249, %"github.com/goplus/llgo/internal/runtime.Slice" %2256, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2257)
|
||||
store ptr %2257, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8
|
||||
br label %_llgo_104
|
||||
|
||||
@@ -4554,6 +4575,8 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64)
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr, %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", ptr, %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice")
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice", i1)
|
||||
|
||||
declare i64 @"github.com/goplus/llgo/internal/abi.(*Type).Align"(ptr)
|
||||
|
||||
@@ -143,6 +143,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0
|
||||
_llgo_3: ; preds = %_llgo_2
|
||||
%8 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 3)
|
||||
%9 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %8)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %9)
|
||||
store ptr %9, ptr @"*_llgo_int8", align 8
|
||||
br label %_llgo_4
|
||||
|
||||
@@ -178,6 +179,8 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr)
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64)
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface")
|
||||
|
||||
@@ -668,6 +668,7 @@ _llgo_31: ; preds = %_llgo_30
|
||||
store i64 0, ptr %100, align 4
|
||||
%101 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %97, align 8
|
||||
%102 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %95, %"github.com/goplus/llgo/internal/runtime.Slice" %101, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %102)
|
||||
store ptr %102, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8
|
||||
br label %_llgo_32
|
||||
|
||||
@@ -679,6 +680,7 @@ _llgo_32: ; preds = %_llgo_31, %_llgo_30
|
||||
_llgo_33: ; preds = %_llgo_32
|
||||
%105 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%106 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %105)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %106)
|
||||
store ptr %106, ptr @"*_llgo_int", align 8
|
||||
br label %_llgo_34
|
||||
|
||||
@@ -838,6 +840,8 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice", i1)
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr)
|
||||
|
||||
@@ -5,6 +5,7 @@ func main() {
|
||||
make2()
|
||||
make3()
|
||||
make4()
|
||||
make5()
|
||||
}
|
||||
|
||||
func make1() {
|
||||
@@ -87,3 +88,16 @@ func make4() {
|
||||
println(k.(K2)[0].n1, v)
|
||||
}
|
||||
}
|
||||
|
||||
func make5() {
|
||||
ch := make(chan int)
|
||||
var a any = ch
|
||||
var b any = ch
|
||||
println(a == b)
|
||||
m := make(map[chan int]int)
|
||||
m[ch] = 100
|
||||
m[ch] = 200
|
||||
for k, v := range m {
|
||||
println(k, v)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,6 +44,9 @@ source_filename = "main"
|
||||
@"*_llgo_main.N" = linkonce global ptr null, align 8
|
||||
@"[1]*_llgo_main.N" = linkonce global ptr null, align 8
|
||||
@18 = private unnamed_addr constant [2 x i8] c"K2", align 1
|
||||
@"chan _llgo_int" = linkonce global ptr null, align 8
|
||||
@19 = private unnamed_addr constant [4 x i8] c"chan", align 1
|
||||
@"map[chan _llgo_int]_llgo_int" = linkonce global ptr null, align 8
|
||||
|
||||
define void @main.init() {
|
||||
_llgo_0:
|
||||
@@ -69,6 +72,7 @@ _llgo_0:
|
||||
call void @main.make2()
|
||||
call void @main.make3()
|
||||
call void @main.make4()
|
||||
call void @main.make5()
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
@@ -908,6 +912,91 @@ _llgo_8: ; preds = %_llgo_2
|
||||
unreachable
|
||||
}
|
||||
|
||||
define void @main.make5() {
|
||||
_llgo_0:
|
||||
%0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewChan"(i64 8, i64 0)
|
||||
%1 = load ptr, ptr @"chan _llgo_int", align 8
|
||||
%2 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8
|
||||
%3 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %2, i32 0, i32 0
|
||||
store ptr %1, ptr %3, align 8
|
||||
%4 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %2, i32 0, i32 1
|
||||
store ptr %0, ptr %4, align 8
|
||||
%5 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %2, align 8
|
||||
%6 = load ptr, ptr @"chan _llgo_int", align 8
|
||||
%7 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8
|
||||
%8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %7, i32 0, i32 0
|
||||
store ptr %6, ptr %8, align 8
|
||||
%9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %7, i32 0, i32 1
|
||||
store ptr %0, ptr %9, align 8
|
||||
%10 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %7, align 8
|
||||
%11 = call i1 @"github.com/goplus/llgo/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/internal/runtime.eface" %5, %"github.com/goplus/llgo/internal/runtime.eface" %10)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %11)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10)
|
||||
%12 = load ptr, ptr @"map[chan _llgo_int]_llgo_int", align 8
|
||||
%13 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %12, i64 0)
|
||||
%14 = load ptr, ptr @"map[chan _llgo_int]_llgo_int", align 8
|
||||
%15 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8)
|
||||
store ptr %0, ptr %15, align 8
|
||||
%16 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %14, ptr %13, ptr %15)
|
||||
store i64 100, ptr %16, align 4
|
||||
%17 = load ptr, ptr @"map[chan _llgo_int]_llgo_int", align 8
|
||||
%18 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8)
|
||||
store ptr %0, ptr %18, align 8
|
||||
%19 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %17, ptr %13, ptr %18)
|
||||
store i64 200, ptr %19, align 4
|
||||
%20 = load ptr, ptr @"map[chan _llgo_int]_llgo_int", align 8
|
||||
%21 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %20, ptr %13)
|
||||
br label %_llgo_1
|
||||
|
||||
_llgo_1: ; preds = %_llgo_2, %_llgo_0
|
||||
%22 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %21)
|
||||
%23 = extractvalue { i1, ptr, ptr } %22, 0
|
||||
br i1 %23, label %_llgo_4, label %_llgo_5
|
||||
|
||||
_llgo_2: ; preds = %_llgo_6
|
||||
%24 = extractvalue { i1, ptr, i64 } %40, 1
|
||||
%25 = extractvalue { i1, ptr, i64 } %40, 2
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintPointer"(ptr %24)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %25)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10)
|
||||
br label %_llgo_1
|
||||
|
||||
_llgo_3: ; preds = %_llgo_6
|
||||
ret void
|
||||
|
||||
_llgo_4: ; preds = %_llgo_1
|
||||
%26 = extractvalue { i1, ptr, ptr } %22, 1
|
||||
%27 = extractvalue { i1, ptr, ptr } %22, 2
|
||||
%28 = load ptr, ptr %26, align 8
|
||||
%29 = load i64, ptr %27, align 4
|
||||
%30 = alloca { i1, ptr, i64 }, align 8
|
||||
%31 = getelementptr inbounds { i1, ptr, i64 }, ptr %30, i32 0, i32 0
|
||||
store i1 true, ptr %31, align 1
|
||||
%32 = getelementptr inbounds { i1, ptr, i64 }, ptr %30, i32 0, i32 1
|
||||
store ptr %28, ptr %32, align 8
|
||||
%33 = getelementptr inbounds { i1, ptr, i64 }, ptr %30, i32 0, i32 2
|
||||
store i64 %29, ptr %33, align 4
|
||||
%34 = load { i1, ptr, i64 }, ptr %30, align 8
|
||||
br label %_llgo_6
|
||||
|
||||
_llgo_5: ; preds = %_llgo_1
|
||||
%35 = alloca { i1, ptr, i64 }, align 8
|
||||
%36 = getelementptr inbounds { i1, ptr, i64 }, ptr %35, i32 0, i32 0
|
||||
store i1 false, ptr %36, align 1
|
||||
%37 = getelementptr inbounds { i1, ptr, i64 }, ptr %35, i32 0, i32 1
|
||||
store ptr null, ptr %37, align 8
|
||||
%38 = getelementptr inbounds { i1, ptr, i64 }, ptr %35, i32 0, i32 2
|
||||
store i64 0, ptr %38, align 4
|
||||
%39 = load { i1, ptr, i64 }, ptr %35, align 8
|
||||
br label %_llgo_6
|
||||
|
||||
_llgo_6: ; preds = %_llgo_5, %_llgo_4
|
||||
%40 = phi { i1, ptr, i64 } [ %34, %_llgo_4 ], [ %39, %_llgo_5 ]
|
||||
%41 = extractvalue { i1, ptr, i64 } %40, 0
|
||||
br i1 %41, label %_llgo_2, label %_llgo_3
|
||||
}
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.init"()
|
||||
|
||||
define void @"main.init$after"() {
|
||||
@@ -1003,6 +1092,7 @@ _llgo_1: ; preds = %_llgo_0
|
||||
%60 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %56, align 8
|
||||
%61 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %50, i64 208, %"github.com/goplus/llgo/internal/runtime.Slice" %60)
|
||||
%62 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %2, ptr %3, ptr %61, i64 4)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %62)
|
||||
store ptr %62, ptr @"map[_llgo_int]_llgo_string", align 8
|
||||
br label %_llgo_2
|
||||
|
||||
@@ -1098,6 +1188,7 @@ _llgo_3: ; preds = %_llgo_2
|
||||
%123 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %119, align 8
|
||||
%124 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %113, i64 208, %"github.com/goplus/llgo/internal/runtime.Slice" %123)
|
||||
%125 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %65, ptr %66, ptr %124, i64 12)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %125)
|
||||
store ptr %125, ptr @"map[_llgo_string]_llgo_int", align 8
|
||||
br label %_llgo_4
|
||||
|
||||
@@ -1245,6 +1336,7 @@ _llgo_7: ; preds = %_llgo_6
|
||||
%217 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %213, align 8
|
||||
%218 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %207, i64 208, %"github.com/goplus/llgo/internal/runtime.Slice" %217)
|
||||
%219 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %145, ptr %146, ptr %218, i64 24)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %219)
|
||||
store ptr %219, ptr @"map[_llgo_any]_llgo_int", align 8
|
||||
br label %_llgo_8
|
||||
|
||||
@@ -1450,6 +1542,7 @@ _llgo_28: ; preds = %_llgo_27, %_llgo_26
|
||||
|
||||
_llgo_29: ; preds = %_llgo_28
|
||||
%315 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %254)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %315)
|
||||
store ptr %315, ptr @"*_llgo_main.N", align 8
|
||||
br label %_llgo_30
|
||||
|
||||
@@ -1487,6 +1580,134 @@ _llgo_33: ; preds = %_llgo_32
|
||||
br label %_llgo_34
|
||||
|
||||
_llgo_34: ; preds = %_llgo_33, %_llgo_32
|
||||
%330 = load ptr, ptr @"chan _llgo_int", align 8
|
||||
%331 = icmp eq ptr %330, null
|
||||
br i1 %331, label %_llgo_35, label %_llgo_36
|
||||
|
||||
_llgo_35: ; preds = %_llgo_34
|
||||
%332 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%333 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %332, i32 0, i32 0
|
||||
store ptr @19, ptr %333, align 8
|
||||
%334 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %332, i32 0, i32 1
|
||||
store i64 4, ptr %334, align 4
|
||||
%335 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %332, align 8
|
||||
%336 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%337 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" %335, ptr %336)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %337)
|
||||
store ptr %337, ptr @"chan _llgo_int", align 8
|
||||
br label %_llgo_36
|
||||
|
||||
_llgo_36: ; preds = %_llgo_35, %_llgo_34
|
||||
%338 = load ptr, ptr @"map[chan _llgo_int]_llgo_int", align 8
|
||||
%339 = icmp eq ptr %338, null
|
||||
br i1 %339, label %_llgo_37, label %_llgo_38
|
||||
|
||||
_llgo_37: ; preds = %_llgo_36
|
||||
%340 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%341 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %340, i32 0, i32 0
|
||||
store ptr @19, ptr %341, align 8
|
||||
%342 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %340, i32 0, i32 1
|
||||
store i64 4, ptr %342, align 4
|
||||
%343 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %340, align 8
|
||||
%344 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%345 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" %343, ptr %344)
|
||||
%346 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%347 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%348 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %347, i32 0, i32 0
|
||||
store ptr @0, ptr %348, align 8
|
||||
%349 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %347, i32 0, i32 1
|
||||
store i64 7, ptr %349, align 4
|
||||
%350 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %347, align 8
|
||||
%351 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%352 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %351, i32 0, i32 0
|
||||
store ptr null, ptr %352, align 8
|
||||
%353 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %351, i32 0, i32 1
|
||||
store i64 0, ptr %353, align 4
|
||||
%354 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %351, align 8
|
||||
%355 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 8)
|
||||
%356 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %355)
|
||||
%357 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %350, ptr %356, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %354, i1 false)
|
||||
%358 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%359 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %358, i32 0, i32 0
|
||||
store ptr @1, ptr %359, align 8
|
||||
%360 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %358, i32 0, i32 1
|
||||
store i64 4, ptr %360, align 4
|
||||
%361 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %358, align 8
|
||||
%362 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%363 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %362, i32 0, i32 0
|
||||
store ptr null, ptr %363, align 8
|
||||
%364 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %362, i32 0, i32 1
|
||||
store i64 0, ptr %364, align 4
|
||||
%365 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %362, align 8
|
||||
%366 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%367 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %366, i32 0, i32 0
|
||||
store ptr @19, ptr %367, align 8
|
||||
%368 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %366, i32 0, i32 1
|
||||
store i64 4, ptr %368, align 4
|
||||
%369 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %366, align 8
|
||||
%370 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%371 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" %369, ptr %370)
|
||||
%372 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %371)
|
||||
%373 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %361, ptr %372, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %365, i1 false)
|
||||
%374 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%375 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %374, i32 0, i32 0
|
||||
store ptr @2, ptr %375, align 8
|
||||
%376 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %374, i32 0, i32 1
|
||||
store i64 5, ptr %376, align 4
|
||||
%377 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %374, align 8
|
||||
%378 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%379 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %378, i32 0, i32 0
|
||||
store ptr null, ptr %379, align 8
|
||||
%380 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %378, i32 0, i32 1
|
||||
store i64 0, ptr %380, align 4
|
||||
%381 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %378, align 8
|
||||
%382 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%383 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %382)
|
||||
%384 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %377, ptr %383, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %381, i1 false)
|
||||
%385 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%386 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %385, i32 0, i32 0
|
||||
store ptr @3, ptr %386, align 8
|
||||
%387 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %385, i32 0, i32 1
|
||||
store i64 8, ptr %387, align 4
|
||||
%388 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %385, align 8
|
||||
%389 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%390 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %389, i32 0, i32 0
|
||||
store ptr null, ptr %390, align 8
|
||||
%391 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %389, i32 0, i32 1
|
||||
store i64 0, ptr %391, align 4
|
||||
%392 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %389, align 8
|
||||
%393 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 26)
|
||||
%394 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %388, ptr %393, i64 136, %"github.com/goplus/llgo/internal/runtime.String" %392, i1 false)
|
||||
%395 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%396 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %395, i32 0, i32 0
|
||||
store ptr @4, ptr %396, align 8
|
||||
%397 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %395, i32 0, i32 1
|
||||
store i64 4, ptr %397, align 4
|
||||
%398 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %395, align 8
|
||||
%399 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224)
|
||||
%400 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %399, i64 0
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %357, ptr %400, align 8
|
||||
%401 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %399, i64 1
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %373, ptr %401, align 8
|
||||
%402 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %399, i64 2
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %384, ptr %402, align 8
|
||||
%403 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %399, i64 3
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %394, ptr %403, align 8
|
||||
%404 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8
|
||||
%405 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %404, i32 0, i32 0
|
||||
store ptr %399, ptr %405, align 8
|
||||
%406 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %404, i32 0, i32 1
|
||||
store i64 4, ptr %406, align 4
|
||||
%407 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %404, i32 0, i32 2
|
||||
store i64 4, ptr %407, align 4
|
||||
%408 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %404, align 8
|
||||
%409 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %398, i64 144, %"github.com/goplus/llgo/internal/runtime.Slice" %408)
|
||||
%410 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %345, ptr %346, ptr %409, i64 4)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %410)
|
||||
store ptr %410, ptr @"map[chan _llgo_int]_llgo_int", align 8
|
||||
br label %_llgo_38
|
||||
|
||||
_llgo_38: ; preds = %_llgo_37, %_llgo_36
|
||||
ret void
|
||||
}
|
||||
|
||||
@@ -1502,6 +1723,8 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64, ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64)
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr, i64)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr, ptr, ptr)
|
||||
@@ -1540,6 +1763,8 @@ declare i1 @"github.com/goplus/llgo/internal/runtime.EfaceEqual"(%"github.com/go
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64)
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.NewChan"(i64, i64)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64, %"github.com/goplus/llgo/internal/runtime.String", ptr)
|
||||
|
||||
@@ -152,6 +152,7 @@ _llgo_1: ; preds = %_llgo_0
|
||||
%60 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %56, align 8
|
||||
%61 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %50, i64 144, %"github.com/goplus/llgo/internal/runtime.Slice" %60)
|
||||
%62 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %2, ptr %3, ptr %61, i64 4)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %62)
|
||||
store ptr %62, ptr @"map[_llgo_int]_llgo_int", align 8
|
||||
br label %_llgo_2
|
||||
|
||||
@@ -171,6 +172,8 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64, ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64)
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr, i64)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr, ptr, ptr)
|
||||
|
||||
Reference in New Issue
Block a user