ssa: set pointer directiface
This commit is contained in:
@@ -178,6 +178,7 @@ _llgo_3: ; preds = %_llgo_2
|
||||
store i64 1, ptr %45, align 4
|
||||
%46 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, align 8
|
||||
%47 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %39, %"github.com/goplus/llgo/internal/runtime.Slice" %46, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %47)
|
||||
store ptr %47, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8
|
||||
br label %_llgo_4
|
||||
|
||||
@@ -218,6 +219,7 @@ _llgo_4: ; preds = %_llgo_3, %_llgo_2
|
||||
%69 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %66, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, %"github.com/goplus/llgo/internal/runtime.String" %65, %"github.com/goplus/llgo/internal/runtime.String" %69, ptr %23, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %61)
|
||||
%70 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %0)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %70)
|
||||
store ptr %70, ptr @"*_llgo_main.errorString", align 8
|
||||
%71 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8
|
||||
%72 = load ptr, ptr @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU", align 8
|
||||
@@ -282,6 +284,8 @@ declare void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr, %"github.
|
||||
|
||||
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.Interface"(%"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.Slice")
|
||||
|
||||
@@ -820,6 +820,7 @@ _llgo_5: ; preds = %_llgo_4
|
||||
store i64 0, ptr %32, align 4
|
||||
%33 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %29, align 8
|
||||
%34 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %27, %"github.com/goplus/llgo/internal/runtime.Slice" %33, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %34)
|
||||
store ptr %34, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8
|
||||
br label %_llgo_6
|
||||
|
||||
@@ -1271,6 +1272,8 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.IfaceType"(%"github.com/go
|
||||
|
||||
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.NewItab"(ptr, ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64, i64, i64)
|
||||
|
||||
@@ -696,6 +696,7 @@ _llgo_5: ; preds = %_llgo_4
|
||||
store i64 1, ptr %43, align 4
|
||||
%44 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %40, align 8
|
||||
%45 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %37, %"github.com/goplus/llgo/internal/runtime.Slice" %44, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %45)
|
||||
store ptr %45, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8
|
||||
br label %_llgo_6
|
||||
|
||||
@@ -770,6 +771,7 @@ _llgo_9: ; preds = %_llgo_8
|
||||
store i64 1, ptr %84, align 4
|
||||
%85 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %81, align 8
|
||||
%86 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %78, %"github.com/goplus/llgo/internal/runtime.Slice" %85, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %86)
|
||||
store ptr %86, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8
|
||||
br label %_llgo_10
|
||||
|
||||
@@ -965,6 +967,8 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(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.Interface"(%"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.Slice")
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr, ptr)
|
||||
|
||||
@@ -343,6 +343,7 @@ _llgo_7: ; preds = %_llgo_5
|
||||
store i64 0, ptr %47, align 4
|
||||
%48 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %44, align 8
|
||||
%49 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %42, %"github.com/goplus/llgo/internal/runtime.Slice" %48, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %49)
|
||||
store ptr %49, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8
|
||||
br label %_llgo_8
|
||||
|
||||
@@ -432,6 +433,7 @@ _llgo_8: ; preds = %_llgo_7, %_llgo_5
|
||||
|
||||
_llgo_9: ; preds = %_llgo_6
|
||||
%101 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %2)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %101)
|
||||
store ptr %101, ptr @"*_llgo_main.Game1", align 8
|
||||
br label %_llgo_10
|
||||
|
||||
@@ -531,6 +533,7 @@ _llgo_16: ; preds = %_llgo_15, %_llgo_14
|
||||
|
||||
_llgo_17: ; preds = %_llgo_16
|
||||
%151 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %104)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %151)
|
||||
store ptr %151, ptr @"*_llgo_main.Game2", align 8
|
||||
br label %_llgo_18
|
||||
|
||||
|
||||
@@ -32,6 +32,29 @@ func (t *T3) Invoke() int {
|
||||
return 3
|
||||
}
|
||||
|
||||
type T4 [1]int
|
||||
|
||||
func (t T4) Invoke() int {
|
||||
println("invoke4", t[0])
|
||||
return 4
|
||||
}
|
||||
|
||||
type T5 struct {
|
||||
n int
|
||||
}
|
||||
|
||||
func (t T5) Invoke() int {
|
||||
println("invoke5", t.n)
|
||||
return 5
|
||||
}
|
||||
|
||||
// type T6 func() int
|
||||
|
||||
// func (t T6) Invoke() int {
|
||||
// println("invoke6", t())
|
||||
// return 6
|
||||
// }
|
||||
|
||||
type I interface {
|
||||
Invoke() int
|
||||
}
|
||||
@@ -41,6 +64,9 @@ func main() {
|
||||
var t1 = T1(100)
|
||||
var t2 = T2(100.1)
|
||||
var t3 = T3(127)
|
||||
var t4 = T4{200}
|
||||
var t5 = T5{300}
|
||||
//var t6 = T6(func() int { return 400 })
|
||||
invoke(t)
|
||||
invoke(&t)
|
||||
invoke(t1)
|
||||
@@ -48,6 +74,11 @@ func main() {
|
||||
invoke(t2)
|
||||
invoke(&t2)
|
||||
invoke(&t3)
|
||||
invoke(t4)
|
||||
invoke(&t4)
|
||||
invoke(t5)
|
||||
invoke(&t5)
|
||||
//invoke(t6)
|
||||
var m M
|
||||
var i I = m
|
||||
println(i, m)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1175,6 +1175,7 @@ _llgo_7: ; preds = %_llgo_6
|
||||
store i64 1, ptr %29, align 4
|
||||
%30 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %26, align 8
|
||||
%31 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %23, %"github.com/goplus/llgo/internal/runtime.Slice" %30, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %31)
|
||||
store ptr %31, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8
|
||||
br label %_llgo_8
|
||||
|
||||
@@ -1256,6 +1257,7 @@ _llgo_11: ; preds = %_llgo_10
|
||||
store i64 2, ptr %75, align 4
|
||||
%76 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %72, align 8
|
||||
%77 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %68, %"github.com/goplus/llgo/internal/runtime.Slice" %76, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %77)
|
||||
store ptr %77, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8
|
||||
br label %_llgo_12
|
||||
|
||||
@@ -1353,6 +1355,7 @@ _llgo_17: ; preds = %_llgo_16
|
||||
store i64 2, ptr %129, align 4
|
||||
%130 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %126, align 8
|
||||
%131 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %122, %"github.com/goplus/llgo/internal/runtime.Slice" %130, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %131)
|
||||
store ptr %131, ptr @"_llgo_func$MrYxYl10p_I07B55pBsGw9la9zbzU2vGDPLWrT714Uk", align 8
|
||||
br label %_llgo_18
|
||||
|
||||
@@ -1562,6 +1565,7 @@ _llgo_25: ; preds = %_llgo_24
|
||||
store i64 1, ptr %254, align 4
|
||||
%255 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %251, align 8
|
||||
%256 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %248, %"github.com/goplus/llgo/internal/runtime.Slice" %255, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %256)
|
||||
store ptr %256, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8
|
||||
br label %_llgo_26
|
||||
|
||||
@@ -1874,6 +1878,7 @@ _llgo_29: ; preds = %_llgo_28
|
||||
store i64 2, ptr %445, align 4
|
||||
%446 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %442, align 8
|
||||
%447 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %438, %"github.com/goplus/llgo/internal/runtime.Slice" %446, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %447)
|
||||
store ptr %447, ptr @"_llgo_func$thH5FBpdXzJNnCpSfiLU5ItTntFU6LWp0RJhDm2XJjw", align 8
|
||||
br label %_llgo_30
|
||||
|
||||
@@ -2071,6 +2076,7 @@ _llgo_35: ; preds = %_llgo_34
|
||||
store i64 1, ptr %566, align 4
|
||||
%567 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %563, align 8
|
||||
%568 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %560, %"github.com/goplus/llgo/internal/runtime.Slice" %567, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %568)
|
||||
store ptr %568, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8
|
||||
br label %_llgo_36
|
||||
|
||||
@@ -2145,6 +2151,7 @@ _llgo_37: ; preds = %_llgo_36
|
||||
store i64 2, ptr %611, align 4
|
||||
%612 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %608, align 8
|
||||
%613 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %604, %"github.com/goplus/llgo/internal/runtime.Slice" %612, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %613)
|
||||
store ptr %613, ptr @"_llgo_func$TY5Etv7VBKM_-2um1BDEeQEE2lP06Pt6G54EuKiNC3c", align 8
|
||||
br label %_llgo_38
|
||||
|
||||
@@ -2210,6 +2217,7 @@ _llgo_41: ; preds = %_llgo_40
|
||||
store i64 2, ptr %647, align 4
|
||||
%648 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %644, align 8
|
||||
%649 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %640, %"github.com/goplus/llgo/internal/runtime.Slice" %648, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %649)
|
||||
store ptr %649, ptr @"_llgo_func$6bvVpCcGPUc3z_EmsQTHB0AVT1hP5-NNLVRgm43teCM", align 8
|
||||
br label %_llgo_42
|
||||
|
||||
@@ -2278,6 +2286,7 @@ _llgo_45: ; preds = %_llgo_44
|
||||
store i64 3, ptr %685, align 4
|
||||
%686 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %682, align 8
|
||||
%687 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %677, %"github.com/goplus/llgo/internal/runtime.Slice" %686, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %687)
|
||||
store ptr %687, ptr @"_llgo_func$CB0CO6hV_feSzhi4pz1P4omza2fKNK930wvOR1T33fU", align 8
|
||||
br label %_llgo_46
|
||||
|
||||
@@ -2335,6 +2344,7 @@ _llgo_47: ; preds = %_llgo_46
|
||||
store i64 2, ptr %719, align 4
|
||||
%720 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %716, align 8
|
||||
%721 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %712, %"github.com/goplus/llgo/internal/runtime.Slice" %720, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %721)
|
||||
store ptr %721, ptr @"_llgo_func$HE7H49xPa1uXmrkMDpqB3RCRGf3qzhLGrxKCEXOYjms", align 8
|
||||
br label %_llgo_48
|
||||
|
||||
@@ -2383,6 +2393,7 @@ _llgo_49: ; preds = %_llgo_48
|
||||
store i64 1, ptr %747, align 4
|
||||
%748 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %744, align 8
|
||||
%749 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %741, %"github.com/goplus/llgo/internal/runtime.Slice" %748, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %749)
|
||||
store ptr %749, ptr @"_llgo_func$Eoig9xhJM5GShHH5aNPxTZZXp1IZxprRl4zPuv2hkug", align 8
|
||||
br label %_llgo_50
|
||||
|
||||
@@ -2492,6 +2503,7 @@ _llgo_50: ; preds = %_llgo_49, %_llgo_48
|
||||
%813 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %810, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %502, %"github.com/goplus/llgo/internal/runtime.String" %809, %"github.com/goplus/llgo/internal/runtime.String" %813, ptr %547, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %805)
|
||||
%814 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %502)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %814)
|
||||
store ptr %814, ptr @"*_llgo_main.stringReader", align 8
|
||||
%815 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8
|
||||
%816 = load ptr, ptr @"_llgo_iface$OFO8Us9n8ajWCabGedeuoJ-Za2zAMk4Jh0FunAcUCFE", align 8
|
||||
@@ -2617,6 +2629,7 @@ _llgo_52: ; preds = %_llgo_51, %_llgo_50
|
||||
%891 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %888, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %842, %"github.com/goplus/llgo/internal/runtime.String" %887, %"github.com/goplus/llgo/internal/runtime.String" %891, ptr %865, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %883)
|
||||
%892 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %842)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %892)
|
||||
store ptr %892, ptr @"*_llgo_main.errorString", align 8
|
||||
%893 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8
|
||||
%894 = load ptr, ptr @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU", align 8
|
||||
@@ -2675,6 +2688,8 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/
|
||||
|
||||
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.Interface"(%"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.Slice")
|
||||
|
||||
declare i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr, ptr)
|
||||
|
||||
@@ -340,6 +340,7 @@ _llgo_6: ; preds = %_llgo_5, %_llgo_3
|
||||
_llgo_7: ; preds = %_llgo_6
|
||||
%94 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 8)
|
||||
%95 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %94)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %95)
|
||||
store ptr %95, ptr @"*_llgo_byte", align 8
|
||||
br label %_llgo_8
|
||||
|
||||
@@ -371,6 +372,7 @@ _llgo_9: ; preds = %_llgo_8
|
||||
store i64 1, ptr %110, align 4
|
||||
%111 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %107, align 8
|
||||
%112 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %104, %"github.com/goplus/llgo/internal/runtime.Slice" %111, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %112)
|
||||
store ptr %112, ptr @"_llgo_func$NfGSLZ1QiKRoFkKeqYSXE5hUU5bpeteSJKrbMNUzYRE", align 8
|
||||
br label %_llgo_10
|
||||
|
||||
@@ -448,6 +450,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 ptr @"github.com/goplus/llgo/cl/internal/foo.(*Foo).Pb"(ptr)
|
||||
|
||||
@@ -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