internal/runtime: named(ptr) type preset for method type

This commit is contained in:
visualfc
2024-12-20 11:37:30 +08:00
parent 05334de855
commit d251232f8a
20 changed files with 943 additions and 969 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -46,9 +46,8 @@ source_filename = "main"
@8 = private unnamed_addr constant [1 x i8] c"y", align 1
@9 = private unnamed_addr constant [1 x i8] c"z", align 1
@_llgo_main.T = linkonce global ptr null, align 8
@10 = private unnamed_addr constant [6 x i8] c"main.T", align 1
@10 = private unnamed_addr constant [1 x i8] c"T", align 1
@11 = private unnamed_addr constant [6 x i8] c"Invoke", align 1
@12 = private unnamed_addr constant [1 x i8] c"T", align 1
define void @"main.(*T).Invoke"(ptr %0) {
_llgo_0:
@@ -574,7 +573,7 @@ _llgo_40: ; preds = %_llgo_39, %_llgo_38
%102 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %101, i64 3, 2
%103 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 4 }, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %102)
store ptr %103, ptr @"main.struct$RKbUG45GE4henGMAdmt0Rju0JptyR8NsX7IZLsOI0OM", align 8
%104 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 6 }, i64 24, i64 16, i64 0, i64 1)
%104 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 1 }, i64 24, i64 16, i64 0, i64 1)
%105 = load ptr, ptr @_llgo_main.T, align 8
%106 = icmp eq ptr %105, null
br i1 %106, label %_llgo_41, label %_llgo_42
@@ -598,7 +597,7 @@ _llgo_43: ; preds = %_llgo_42
%114 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %112, 0
%115 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %114, i64 1, 1
%116 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %115, i64 1, 2
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %104, %"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 1 }, ptr %107, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %116)
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %104, ptr %107, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %116)
br label %_llgo_44
_llgo_44: ; preds = %_llgo_43, %_llgo_42
@@ -631,6 +630,6 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr)
declare ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr)
declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, i64)
declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, 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.InitNamed"(ptr, ptr, %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice")

View File

@@ -29,32 +29,27 @@ source_filename = "main"
@_llgo_any = linkonce global ptr null, align 8
@"map[_llgo_any]_llgo_int" = linkonce global ptr null, align 8
@_llgo_main.N1 = linkonce global ptr null, align 8
@12 = private unnamed_addr constant [7 x i8] c"main.N1", align 1
@12 = private unnamed_addr constant [2 x i8] c"N1", align 1
@"[1]_llgo_int" = linkonce global ptr null, align 8
@13 = private unnamed_addr constant [2 x i8] c"N1", align 1
@14 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1
@13 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1
@_llgo_main.K = linkonce global ptr null, align 8
@15 = private unnamed_addr constant [6 x i8] c"main.K", align 1
@14 = private unnamed_addr constant [1 x i8] c"K", align 1
@_llgo_main.N = linkonce global ptr null, align 8
@16 = private unnamed_addr constant [6 x i8] c"main.N", align 1
@15 = private unnamed_addr constant [1 x i8] c"N", align 1
@_llgo_int8 = linkonce global ptr null, align 8
@"main.struct$e65EDK9vxC36Nz3YTgO1ulssLlNH03Bva_WWaCjH-4A" = linkonce global ptr null, align 8
@17 = private unnamed_addr constant [2 x i8] c"n1", align 1
@18 = private unnamed_addr constant [2 x i8] c"n2", align 1
@19 = private unnamed_addr constant [1 x i8] c"N", align 1
@16 = private unnamed_addr constant [2 x i8] c"n1", align 1
@17 = private unnamed_addr constant [2 x i8] c"n2", align 1
@"[1]_llgo_main.N" = linkonce global ptr null, align 8
@20 = private unnamed_addr constant [1 x i8] c"K", align 1
@_llgo_main.K2 = linkonce global ptr null, align 8
@21 = private unnamed_addr constant [7 x i8] c"main.K2", align 1
@18 = private unnamed_addr constant [2 x i8] c"K2", align 1
@"*_llgo_main.N" = linkonce global ptr null, align 8
@"[1]*_llgo_main.N" = linkonce global ptr null, align 8
@22 = private unnamed_addr constant [2 x i8] c"K2", align 1
@"chan _llgo_int" = linkonce global ptr null, align 8
@23 = private unnamed_addr constant [4 x i8] c"chan", align 1
@19 = private unnamed_addr constant [4 x i8] c"chan", align 1
@"map[chan _llgo_int]_llgo_int" = linkonce global ptr null, align 8
@_llgo_main.M = linkonce global ptr null, align 8
@24 = private unnamed_addr constant [6 x i8] c"main.M", align 1
@25 = private unnamed_addr constant [1 x i8] c"M", align 1
@20 = private unnamed_addr constant [1 x i8] c"M", align 1
@"map[_llgo_main.N]_llgo_string" = linkonce global ptr null, align 8
define void @main.init() {
@@ -419,7 +414,7 @@ _llgo_7: ; preds = %_llgo_2
_llgo_8: ; preds = %_llgo_2
%72 = load ptr, ptr @_llgo_string, align 8
%73 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16)
store %"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 21 }, ptr %73, align 8
store %"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 21 }, ptr %73, align 8
%74 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %72, 0
%75 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %74, ptr %73, 1
call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %75)
@@ -551,7 +546,7 @@ _llgo_7: ; preds = %_llgo_2
_llgo_8: ; preds = %_llgo_2
%69 = load ptr, ptr @_llgo_string, align 8
%70 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16)
store %"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 21 }, ptr %70, align 8
store %"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 21 }, ptr %70, align 8
%71 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %69, 0
%72 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %71, ptr %70, 1
call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %72)
@@ -682,7 +677,7 @@ _llgo_7: ; preds = %_llgo_2
_llgo_8: ; preds = %_llgo_2
%70 = load ptr, ptr @_llgo_string, align 8
%71 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16)
store %"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 21 }, ptr %71, align 8
store %"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 21 }, ptr %71, align 8
%72 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %70, 0
%73 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %72, ptr %71, 1
call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %73)
@@ -1019,7 +1014,7 @@ _llgo_11: ; preds = %_llgo_10
br label %_llgo_12
_llgo_12: ; preds = %_llgo_11, %_llgo_10
%96 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 7 }, i64 17, i64 8, i64 0, i64 0)
%96 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 2 }, i64 17, i64 8, i64 0, i64 0)
%97 = load ptr, ptr @_llgo_main.N1, align 8
%98 = icmp eq ptr %97, null
br i1 %98, label %_llgo_13, label %_llgo_14
@@ -1044,11 +1039,11 @@ _llgo_16: ; preds = %_llgo_15, %_llgo_14
br i1 %98, label %_llgo_17, label %_llgo_18
_llgo_17: ; preds = %_llgo_16
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %96, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 2 }, ptr %103, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %96, ptr %103, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
br label %_llgo_18
_llgo_18: ; preds = %_llgo_17, %_llgo_16
%104 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 6 }, i64 17, i64 2, i64 0, i64 0)
%104 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 1 }, i64 17, i64 2, i64 0, i64 0)
%105 = load ptr, ptr @_llgo_main.K, align 8
%106 = icmp eq ptr %105, null
br i1 %106, label %_llgo_19, label %_llgo_20
@@ -1058,7 +1053,7 @@ _llgo_19: ; preds = %_llgo_18
br label %_llgo_20
_llgo_20: ; preds = %_llgo_19, %_llgo_18
%107 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 6 }, i64 25, i64 2, i64 0, i64 0)
%107 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 1 }, i64 25, i64 2, i64 0, i64 0)
%108 = load ptr, ptr @_llgo_main.N, align 8
%109 = icmp eq ptr %108, null
br i1 %109, label %_llgo_21, label %_llgo_22
@@ -1080,9 +1075,9 @@ _llgo_23: ; preds = %_llgo_22
_llgo_24: ; preds = %_llgo_23, %_llgo_22
%113 = load ptr, ptr @_llgo_int8, align 8
%114 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35)
%115 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 2 }, ptr %114, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%115 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 2 }, ptr %114, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%116 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35)
%117 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 2 }, ptr %116, i64 1, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%117 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 2 }, ptr %116, i64 1, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%118 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112)
%119 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %118, i64 0
store %"github.com/goplus/llgo/internal/abi.StructField" %115, ptr %119, align 8
@@ -1097,12 +1092,12 @@ _llgo_24: ; preds = %_llgo_23, %_llgo_22
br i1 %109, label %_llgo_25, label %_llgo_26
_llgo_25: ; preds = %_llgo_24
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %107, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 1 }, ptr %125, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %107, ptr %125, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
br label %_llgo_26
_llgo_26: ; preds = %_llgo_25, %_llgo_24
%126 = load ptr, ptr @_llgo_main.N, align 8
%127 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 6 }, i64 25, i64 2, i64 0, i64 0)
%127 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 1 }, i64 25, i64 2, i64 0, i64 0)
%128 = load ptr, ptr @"[1]_llgo_main.N", align 8
%129 = icmp eq ptr %128, null
br i1 %129, label %_llgo_27, label %_llgo_28
@@ -1117,11 +1112,11 @@ _llgo_28: ; preds = %_llgo_27, %_llgo_26
br i1 %106, label %_llgo_29, label %_llgo_30
_llgo_29: ; preds = %_llgo_28
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %104, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 1 }, ptr %131, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %104, ptr %131, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
br label %_llgo_30
_llgo_30: ; preds = %_llgo_29, %_llgo_28
%132 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 7 }, i64 17, i64 8, i64 0, i64 0)
%132 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 2 }, i64 17, i64 8, i64 0, i64 0)
%133 = load ptr, ptr @_llgo_main.K2, align 8
%134 = icmp eq ptr %133, null
br i1 %134, label %_llgo_31, label %_llgo_32
@@ -1132,7 +1127,7 @@ _llgo_31: ; preds = %_llgo_30
br label %_llgo_32
_llgo_32: ; preds = %_llgo_31, %_llgo_30
%135 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 6 }, i64 25, i64 2, i64 0, i64 0)
%135 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 1 }, i64 25, i64 2, i64 0, i64 0)
%136 = load ptr, ptr @"*_llgo_main.N", align 8
%137 = icmp eq ptr %136, null
br i1 %137, label %_llgo_33, label %_llgo_34
@@ -1145,7 +1140,7 @@ _llgo_33: ; preds = %_llgo_32
_llgo_34: ; preds = %_llgo_33, %_llgo_32
%139 = load ptr, ptr @"*_llgo_main.N", align 8
%140 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 6 }, i64 25, i64 2, i64 0, i64 0)
%140 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 1 }, i64 25, i64 2, i64 0, i64 0)
%141 = load ptr, ptr @"[1]*_llgo_main.N", align 8
%142 = icmp eq ptr %141, null
br i1 %142, label %_llgo_35, label %_llgo_36
@@ -1162,7 +1157,7 @@ _llgo_36: ; preds = %_llgo_35, %_llgo_34
br i1 %134, label %_llgo_37, label %_llgo_38
_llgo_37: ; preds = %_llgo_36
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %132, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 2 }, ptr %145, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %132, ptr %145, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
br label %_llgo_38
_llgo_38: ; preds = %_llgo_37, %_llgo_36
@@ -1172,7 +1167,7 @@ _llgo_38: ; preds = %_llgo_37, %_llgo_36
_llgo_39: ; preds = %_llgo_38
%148 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
%149 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 4 }, ptr %148)
%149 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 4 }, ptr %148)
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %149)
store ptr %149, ptr @"chan _llgo_int", align 8
br label %_llgo_40
@@ -1184,13 +1179,13 @@ _llgo_40: ; preds = %_llgo_39, %_llgo_38
_llgo_41: ; preds = %_llgo_40
%152 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
%153 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 4 }, ptr %152)
%153 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 4 }, ptr %152)
%154 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
%155 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40)
%156 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %155)
%157 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 7 }, ptr %156, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%158 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
%159 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 4 }, ptr %158)
%159 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 4 }, ptr %158)
%160 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %159)
%161 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, ptr %160, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%162 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
@@ -1217,7 +1212,7 @@ _llgo_41: ; preds = %_llgo_40
br label %_llgo_42
_llgo_42: ; preds = %_llgo_41, %_llgo_40
%177 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 6 }, i64 21, i64 8, i64 0, i64 0)
%177 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 1 }, i64 21, i64 8, i64 0, i64 0)
%178 = load ptr, ptr @_llgo_main.M, align 8
%179 = icmp eq ptr %178, null
br i1 %179, label %_llgo_43, label %_llgo_44
@@ -1232,12 +1227,12 @@ _llgo_44: ; preds = %_llgo_43, %_llgo_42
br i1 %179, label %_llgo_45, label %_llgo_46
_llgo_45: ; preds = %_llgo_44
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %177, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 1 }, ptr %180, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %177, ptr %180, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
br label %_llgo_46
_llgo_46: ; preds = %_llgo_45, %_llgo_44
%181 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 6 }, i64 2, i64 8, i64 0, i64 0)
%182 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 6 }, i64 2, i64 8, i64 0, i64 0)
%181 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 1 }, i64 2, i64 8, i64 0, i64 0)
%182 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 1 }, i64 2, i64 8, i64 0, i64 0)
%183 = load ptr, ptr @"map[_llgo_main.N]_llgo_string", align 8
%184 = icmp eq ptr %183, null
br i1 %184, label %_llgo_47, label %_llgo_48
@@ -1323,9 +1318,9 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/go
; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0
declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, i64)
declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, 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.InitNamed"(ptr, ptr, %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice")
declare i1 @"github.com/goplus/llgo/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/internal/runtime.eface", %"github.com/goplus/llgo/internal/runtime.eface")

View File

@@ -15,19 +15,18 @@ source_filename = "main"
@__llgo_argv = global ptr null, align 8
@0 = private unnamed_addr constant [1 x i8] c"a", align 1
@"_llgo_main.T[string,int]" = linkonce global ptr null, align 8
@1 = private unnamed_addr constant [18 x i8] c"main.T[string,int]", align 1
@1 = private unnamed_addr constant [4 x i8] c"main", align 1
@2 = private unnamed_addr constant [1 x i8] c"T", align 1
@_llgo_string = linkonce global ptr null, align 8
@_llgo_int = linkonce global ptr null, align 8
@"main.struct$A2OTYqQyUOqOQ-i_F5iXeAKWtxeWGEuyeN7HCfULCDk" = linkonce global ptr null, align 8
@2 = private unnamed_addr constant [1 x i8] c"m", align 1
@3 = private unnamed_addr constant [1 x i8] c"n", align 1
@4 = private unnamed_addr constant [4 x i8] c"main", align 1
@3 = private unnamed_addr constant [1 x i8] c"m", align 1
@4 = private unnamed_addr constant [1 x i8] c"n", align 1
@5 = private unnamed_addr constant [4 x i8] c"Demo", align 1
@"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac" = linkonce global ptr null, align 8
@6 = private unnamed_addr constant [4 x i8] c"Info", align 1
@7 = private unnamed_addr constant [13 x i8] c"T[string,int]", align 1
@8 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1
@9 = private unnamed_addr constant [5 x i8] c"hello", align 1
@7 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1
@8 = private unnamed_addr constant [5 x i8] c"hello", align 1
@"*_llgo_main.T[string,int]" = linkonce global ptr null, align 8
@"_llgo_iface$BP0p_lUsEd-IbbtJVukGmgrdQkqzcoYzSiwgUvgFvUs" = linkonce global ptr null, align 8
@@ -77,7 +76,7 @@ _llgo_1: ; preds = %_llgo_0
%16 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 24)
%17 = getelementptr inbounds %"main.T[string,int]", ptr %16, i32 0, i32 0
%18 = getelementptr inbounds %"main.T[string,int]", ptr %16, i32 0, i32 1
store %"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 5 }, ptr %17, align 8
store %"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 5 }, ptr %17, align 8
store i64 100, ptr %18, align 4
%19 = load ptr, ptr @"*_llgo_main.T[string,int]", align 8
%20 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8
@@ -114,7 +113,7 @@ _llgo_1: ; preds = %_llgo_0
_llgo_2: ; preds = %_llgo_0
%40 = load ptr, ptr @_llgo_string, align 8
%41 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16)
store %"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 21 }, ptr %41, align 8
store %"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 21 }, ptr %41, align 8
%42 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %40, 0
%43 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %42, ptr %41, 1
call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %43)
@@ -164,7 +163,7 @@ declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0
define void @"main.init$after"() {
_llgo_0:
%0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 18 }, i64 25, i64 24, i64 1, i64 2)
%0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 1 }, i64 25, i64 24, i64 1, i64 2)
%1 = load ptr, ptr @"_llgo_main.T[string,int]", align 8
%2 = icmp eq ptr %1, null
br i1 %2, label %_llgo_1, label %_llgo_2
@@ -197,9 +196,9 @@ _llgo_5: ; preds = %_llgo_4
_llgo_6: ; preds = %_llgo_5, %_llgo_4
%10 = load ptr, ptr @_llgo_int, align 8
%11 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24)
%12 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 1 }, ptr %11, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%12 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 1 }, ptr %11, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%13 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
%14 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 1 }, ptr %13, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%14 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 1 }, ptr %13, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%15 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112)
%16 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %15, i64 0
store %"github.com/goplus/llgo/internal/abi.StructField" %12, ptr %16, align 8
@@ -208,7 +207,7 @@ _llgo_6: ; preds = %_llgo_5, %_llgo_4
%18 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %15, 0
%19 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %18, i64 2, 1
%20 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %19, i64 2, 2
%21 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %20)
%21 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %20)
store ptr %21, ptr @"main.struct$A2OTYqQyUOqOQ-i_F5iXeAKWtxeWGEuyeN7HCfULCDk", align 8
%22 = load ptr, ptr @"main.struct$A2OTYqQyUOqOQ-i_F5iXeAKWtxeWGEuyeN7HCfULCDk", align 8
br i1 %2, label %_llgo_7, label %_llgo_8
@@ -219,7 +218,7 @@ _llgo_7: ; preds = %_llgo_6
br i1 %24, label %_llgo_9, label %_llgo_10
_llgo_8: ; preds = %_llgo_10, %_llgo_6
%25 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 18 }, i64 25, i64 24, i64 1, i64 2)
%25 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 1 }, i64 25, i64 24, i64 1, i64 2)
%26 = load ptr, ptr @"*_llgo_main.T[string,int]", align 8
%27 = icmp eq ptr %26, null
br i1 %27, label %_llgo_11, label %_llgo_12
@@ -264,7 +263,7 @@ _llgo_10: ; preds = %_llgo_9, %_llgo_7
%56 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %53, 0
%57 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %56, i64 2, 1
%58 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %57, i64 2, 2
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 13 }, ptr %22, %"github.com/goplus/llgo/internal/runtime.Slice" %52, %"github.com/goplus/llgo/internal/runtime.Slice" %58)
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, ptr %22, %"github.com/goplus/llgo/internal/runtime.Slice" %52, %"github.com/goplus/llgo/internal/runtime.Slice" %58)
br label %_llgo_8
_llgo_11: ; preds = %_llgo_8
@@ -287,7 +286,7 @@ _llgo_13: ; preds = %_llgo_12
%66 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %64, 0
%67 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %66, i64 1, 1
%68 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %67, i64 1, 2
%69 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %68)
%69 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %68)
store ptr %69, ptr @"_llgo_iface$BP0p_lUsEd-IbbtJVukGmgrdQkqzcoYzSiwgUvgFvUs", align 8
br label %_llgo_14
@@ -295,7 +294,7 @@ _llgo_14: ; preds = %_llgo_13, %_llgo_12
ret void
}
declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, i64)
declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, i64)
declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64)
@@ -305,7 +304,7 @@ declare %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/l
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.InitNamed"(ptr, ptr, %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice")
declare ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice", i1)

View File

@@ -13,38 +13,34 @@ source_filename = "main"
@__llgo_argc = global i32 0, align 4
@__llgo_argv = global ptr null, align 8
@_llgo_main.cacheKey = linkonce global ptr null, align 8
@0 = private unnamed_addr constant [13 x i8] c"main.cacheKey", align 1
@0 = private unnamed_addr constant [4 x i8] c"main", align 1
@1 = private unnamed_addr constant [8 x i8] c"cacheKey", align 1
@_llgo_main.T1 = linkonce global ptr null, align 8
@1 = private unnamed_addr constant [7 x i8] c"main.T1", align 1
@2 = private unnamed_addr constant [2 x i8] c"T1", align 1
@_llgo_int = linkonce global ptr null, align 8
@2 = private unnamed_addr constant [4 x i8] c"main", align 1
@3 = private unnamed_addr constant [2 x i8] c"T1", align 1
@_llgo_main.T2 = linkonce global ptr null, align 8
@4 = private unnamed_addr constant [7 x i8] c"main.T2", align 1
@3 = private unnamed_addr constant [2 x i8] c"T2", align 1
@"main.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88" = linkonce global ptr null, align 8
@5 = private unnamed_addr constant [1 x i8] c"v", align 1
@6 = private unnamed_addr constant [2 x i8] c"T2", align 1
@4 = private unnamed_addr constant [1 x i8] c"v", align 1
@"_llgo_main.T3[any]" = linkonce global ptr null, align 8
@7 = private unnamed_addr constant [12 x i8] c"main.T3[any]", align 1
@5 = private unnamed_addr constant [2 x i8] c"T3", align 1
@_llgo_any = linkonce global ptr null, align 8
@"main.struct$op7q0963ur0ih9ul6OteH-C75UVydPxwKOVpX1hUjzo" = linkonce global ptr null, align 8
@8 = private unnamed_addr constant [7 x i8] c"T3[any]", align 1
@"*_llgo_int" = linkonce global ptr null, align 8
@_llgo_uintptr = linkonce global ptr null, align 8
@"main.struct$ZLgMjv1XBA1L4yXCpdouRvQF2okeuHQ-YWVTE34gq4I" = linkonce global ptr null, align 8
@9 = private unnamed_addr constant [2 x i8] c"t1", align 1
@10 = private unnamed_addr constant [2 x i8] c"t2", align 1
@11 = private unnamed_addr constant [2 x i8] c"t3", align 1
@12 = private unnamed_addr constant [2 x i8] c"t4", align 1
@13 = private unnamed_addr constant [2 x i8] c"t5", align 1
@14 = private unnamed_addr constant [8 x i8] c"cacheKey", align 1
@6 = private unnamed_addr constant [2 x i8] c"t1", align 1
@7 = private unnamed_addr constant [2 x i8] c"t2", align 1
@8 = private unnamed_addr constant [2 x i8] c"t3", align 1
@9 = private unnamed_addr constant [2 x i8] c"t4", align 1
@10 = private unnamed_addr constant [2 x i8] c"t5", align 1
@_llgo_string = linkonce global ptr null, align 8
@"map[_llgo_main.cacheKey]_llgo_string" = linkonce global ptr null, align 8
@15 = private unnamed_addr constant [7 x i8] c"topbits", align 1
@16 = private unnamed_addr constant [4 x i8] c"keys", align 1
@17 = private unnamed_addr constant [5 x i8] c"elems", align 1
@18 = private unnamed_addr constant [8 x i8] c"overflow", align 1
@19 = private unnamed_addr constant [5 x i8] c"world", align 1
@11 = private unnamed_addr constant [7 x i8] c"topbits", align 1
@12 = private unnamed_addr constant [4 x i8] c"keys", align 1
@13 = private unnamed_addr constant [5 x i8] c"elems", align 1
@14 = private unnamed_addr constant [8 x i8] c"overflow", align 1
@15 = private unnamed_addr constant [5 x i8] c"world", align 1
define void @main.init() {
_llgo_0:
@@ -92,7 +88,7 @@ _llgo_0:
%19 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48)
store %main.cacheKey %17, ptr %19, align 8
%20 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %18, ptr %5, ptr %19)
store %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 5 }, ptr %20, align 8
store %"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 5 }, ptr %20, align 8
%21 = alloca %main.cacheKey, align 8
call void @llvm.memset(ptr %21, i8 0, i64 48, i1 false)
%22 = getelementptr inbounds %main.cacheKey, ptr %21, i32 0, i32 0
@@ -133,9 +129,9 @@ declare void @"github.com/goplus/llgo/internal/runtime.init"()
define void @"main.init$after"() {
_llgo_0:
%0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 13 }, i64 25, i64 48, i64 0, i64 0)
%0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 8 }, i64 25, i64 48, i64 0, i64 0)
store ptr %0, ptr @_llgo_main.cacheKey, align 8
%1 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 7 }, i64 2, i64 8, i64 0, i64 0)
%1 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 2 }, i64 2, i64 8, i64 0, i64 0)
%2 = load ptr, ptr @_llgo_main.T1, align 8
%3 = icmp eq ptr %2, null
br i1 %3, label %_llgo_1, label %_llgo_2
@@ -159,12 +155,12 @@ _llgo_4: ; preds = %_llgo_3, %_llgo_2
br i1 %3, label %_llgo_5, label %_llgo_6
_llgo_5: ; preds = %_llgo_4
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 2 }, ptr %7, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1, ptr %7, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
br label %_llgo_6
_llgo_6: ; preds = %_llgo_5, %_llgo_4
%8 = load ptr, ptr @_llgo_main.T1, align 8
%9 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 7 }, i64 25, i64 8, i64 0, i64 0)
%9 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 2 }, i64 25, i64 8, i64 0, i64 0)
%10 = load ptr, ptr @_llgo_main.T2, align 8
%11 = icmp eq ptr %10, null
br i1 %11, label %_llgo_7, label %_llgo_8
@@ -175,25 +171,25 @@ _llgo_7: ; preds = %_llgo_6
_llgo_8: ; preds = %_llgo_7, %_llgo_6
%12 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
%13 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 1 }, ptr %12, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%13 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 1 }, ptr %12, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%14 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56)
%15 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %14, i64 0
store %"github.com/goplus/llgo/internal/abi.StructField" %13, ptr %15, align 8
%16 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %14, 0
%17 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %16, i64 1, 1
%18 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %17, i64 1, 2
%19 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %18)
%19 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %18)
store ptr %19, ptr @"main.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88", align 8
%20 = load ptr, ptr @"main.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88", align 8
br i1 %11, label %_llgo_9, label %_llgo_10
_llgo_9: ; preds = %_llgo_8
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %9, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 2 }, ptr %20, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %9, ptr %20, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
br label %_llgo_10
_llgo_10: ; preds = %_llgo_9, %_llgo_8
%21 = load ptr, ptr @_llgo_main.T2, align 8
%22 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 12 }, i64 25, i64 16, i64 0, i64 0)
%22 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 2 }, i64 25, i64 16, i64 0, i64 0)
%23 = load ptr, ptr @"_llgo_main.T3[any]", align 8
%24 = icmp eq ptr %23, null
br i1 %24, label %_llgo_11, label %_llgo_12
@@ -212,7 +208,7 @@ _llgo_13: ; preds = %_llgo_12
%28 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %27, 0
%29 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %28, i64 0, 1
%30 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %29, i64 0, 2
%31 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %30)
%31 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %30)
store ptr %31, ptr @_llgo_any, align 8
br label %_llgo_14
@@ -222,21 +218,21 @@ _llgo_14: ; preds = %_llgo_13, %_llgo_12
%34 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %33, 0
%35 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %34, i64 0, 1
%36 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %35, i64 0, 2
%37 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %36)
%38 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 1 }, ptr %37, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%37 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %36)
%38 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 1 }, ptr %37, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%39 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56)
%40 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %39, i64 0
store %"github.com/goplus/llgo/internal/abi.StructField" %38, ptr %40, align 8
%41 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %39, 0
%42 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %41, i64 1, 1
%43 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %42, i64 1, 2
%44 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %43)
%44 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %43)
store ptr %44, ptr @"main.struct$op7q0963ur0ih9ul6OteH-C75UVydPxwKOVpX1hUjzo", align 8
%45 = load ptr, ptr @"main.struct$op7q0963ur0ih9ul6OteH-C75UVydPxwKOVpX1hUjzo", align 8
br i1 %24, label %_llgo_15, label %_llgo_16
_llgo_15: ; preds = %_llgo_14
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %22, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 7 }, ptr %45, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %22, ptr %45, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
br label %_llgo_16
_llgo_16: ; preds = %_llgo_15, %_llgo_14
@@ -265,17 +261,17 @@ _llgo_19: ; preds = %_llgo_18
_llgo_20: ; preds = %_llgo_19, %_llgo_18
%55 = load ptr, ptr @_llgo_uintptr, align 8
%56 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 7 }, i64 2, i64 8, i64 0, i64 0)
%57 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 7 }, i64 25, i64 8, i64 0, i64 0)
%58 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 12 }, i64 25, i64 16, i64 0, i64 0)
%59 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 2 }, ptr %56, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%60 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 2 }, ptr %57, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%61 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 2 }, ptr %58, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%56 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 2 }, i64 2, i64 8, i64 0, i64 0)
%57 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 2 }, i64 25, i64 8, i64 0, i64 0)
%58 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 2 }, i64 25, i64 16, i64 0, i64 0)
%59 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 2 }, ptr %56, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%60 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 2 }, ptr %57, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%61 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 2 }, ptr %58, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%62 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
%63 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %62)
%64 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 2 }, ptr %63, i64 32, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%64 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 2 }, ptr %63, i64 32, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%65 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44)
%66 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 2 }, ptr %65, i64 40, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%66 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 2 }, ptr %65, i64 40, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%67 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 280)
%68 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %67, i64 0
store %"github.com/goplus/llgo/internal/abi.StructField" %59, ptr %68, align 8
@@ -290,10 +286,10 @@ _llgo_20: ; preds = %_llgo_19, %_llgo_18
%73 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %67, 0
%74 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %73, i64 5, 1
%75 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %74, i64 5, 2
%76 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, i64 48, %"github.com/goplus/llgo/internal/runtime.Slice" %75)
%76 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, i64 48, %"github.com/goplus/llgo/internal/runtime.Slice" %75)
store ptr %76, ptr @"main.struct$ZLgMjv1XBA1L4yXCpdouRvQF2okeuHQ-YWVTE34gq4I", align 8
%77 = load ptr, ptr @"main.struct$ZLgMjv1XBA1L4yXCpdouRvQF2okeuHQ-YWVTE34gq4I", align 8
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 8 }, ptr %77, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, ptr %77, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
%78 = load ptr, ptr @_llgo_string, align 8
%79 = icmp eq ptr %78, null
br i1 %79, label %_llgo_21, label %_llgo_22
@@ -304,19 +300,19 @@ _llgo_21: ; preds = %_llgo_20
br label %_llgo_22
_llgo_22: ; preds = %_llgo_21, %_llgo_20
%81 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 13 }, i64 25, i64 48, i64 0, i64 0)
%82 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 13 }, i64 25, i64 48, i64 0, i64 0)
%81 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 8 }, i64 25, i64 48, i64 0, i64 0)
%82 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 8 }, i64 25, i64 48, i64 0, i64 0)
%83 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24)
%84 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40)
%85 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %84)
%86 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 7 }, ptr %85, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%86 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 7 }, ptr %85, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%87 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %82)
%88 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 4 }, ptr %87, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%88 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 4 }, ptr %87, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%89 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24)
%90 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %89)
%91 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 5 }, ptr %90, i64 392, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%91 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 5 }, ptr %90, i64 392, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%92 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58)
%93 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 8 }, ptr %92, i64 520, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%93 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 8 }, ptr %92, i64 520, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%94 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224)
%95 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %94, i64 0
store %"github.com/goplus/llgo/internal/abi.StructField" %86, ptr %95, align 8
@@ -329,18 +325,18 @@ _llgo_22: ; preds = %_llgo_21, %_llgo_20
%99 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %94, 0
%100 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %99, i64 4, 1
%101 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %100, i64 4, 2
%102 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, i64 528, %"github.com/goplus/llgo/internal/runtime.Slice" %101)
%102 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, i64 528, %"github.com/goplus/llgo/internal/runtime.Slice" %101)
%103 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %81, ptr %83, ptr %102, i64 24)
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %103)
store ptr %103, ptr @"map[_llgo_main.cacheKey]_llgo_string", align 8
ret void
}
declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, i64)
declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, i64)
declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(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.InitNamed"(ptr, ptr, %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice")
declare ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String", i64, %"github.com/goplus/llgo/internal/runtime.Slice")

View File

@@ -15,31 +15,29 @@ source_filename = "main"
@__llgo_argv = global ptr null, align 8
@0 = private unnamed_addr constant [7 x i8] c"foo.txt", align 1
@"_llgo_main.future[main.Tuple[error]]" = linkonce global ptr null, align 8
@1 = private unnamed_addr constant [30 x i8] c"main.future[main.Tuple[error]]", align 1
@1 = private unnamed_addr constant [4 x i8] c"main", align 1
@2 = private unnamed_addr constant [6 x i8] c"future", align 1
@"_llgo_main.Tuple[error]" = linkonce global ptr null, align 8
@2 = private unnamed_addr constant [17 x i8] c"main.Tuple[error]", align 1
@3 = private unnamed_addr constant [5 x i8] c"Tuple", align 1
@_llgo_error = linkonce global ptr null, align 8
@3 = private unnamed_addr constant [5 x i8] c"error", align 1
@4 = private unnamed_addr constant [5 x i8] c"error", align 1
@_llgo_string = linkonce global ptr null, align 8
@"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to" = linkonce global ptr null, align 8
@4 = private unnamed_addr constant [5 x i8] c"Error", align 1
@5 = private unnamed_addr constant [5 x i8] c"Error", align 1
@"main.struct$ddtj0teo4LtYcagzh1w6BsSZ7226uefXlqreeHsfVRo" = linkonce global ptr null, align 8
@5 = private unnamed_addr constant [1 x i8] c"v", align 1
@6 = private unnamed_addr constant [4 x i8] c"main", align 1
@6 = private unnamed_addr constant [1 x i8] c"v", align 1
@7 = private unnamed_addr constant [3 x i8] c"Get", align 1
@"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w" = linkonce global ptr null, align 8
@8 = private unnamed_addr constant [12 x i8] c"Tuple[error]", align 1
@"_llgo_func$1BeCdGdxwWG-Dtl1HbNuSy2_sb8rBMTmu7zhcPPofmU" = linkonce global ptr null, align 8
@_llgo_Pointer = linkonce global ptr null, align 8
@"main.struct$rDvDk5u0SueGnrMxDz_wBrplEFUjtXshBCEyKeM6edc" = linkonce global ptr null, align 8
@9 = private unnamed_addr constant [1 x i8] c"f", align 1
@10 = private unnamed_addr constant [4 x i8] c"data", align 1
@8 = private unnamed_addr constant [1 x i8] c"f", align 1
@9 = private unnamed_addr constant [4 x i8] c"data", align 1
@"_llgo_func$80MkNg5FlG-QIrR0qzHGiPc77AqvdbJflSWOeG5LcUY" = linkonce global ptr null, align 8
@"main.struct$mxZtxt4nClm7R35-Ksu7sUaZcPWf2mnqwCsrqo4qOB8" = linkonce global ptr null, align 8
@"main.struct$LaXSfCbp9zvBYWtLq2i0GtWrY5UrmS8NmXCVxsyY920" = linkonce global ptr null, align 8
@11 = private unnamed_addr constant [2 x i8] c"fn", align 1
@12 = private unnamed_addr constant [4 x i8] c"Then", align 1
@13 = private unnamed_addr constant [25 x i8] c"future[main.Tuple[error]]", align 1
@10 = private unnamed_addr constant [2 x i8] c"fn", align 1
@11 = private unnamed_addr constant [4 x i8] c"Then", align 1
@"*_llgo_main.future[main.Tuple[error]]" = linkonce global ptr null, align 8
@"_llgo_iface$siNiE0pGpvdoyzPUhSP4dREmGht9v7Axb0C9hezIyDM" = linkonce global ptr null, align 8
@@ -174,9 +172,9 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64)
define void @"main.init$after"() {
_llgo_0:
%0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 30 }, i64 25, i64 24, i64 0, i64 1)
%0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 6 }, i64 25, i64 24, i64 0, i64 1)
store ptr %0, ptr @"_llgo_main.future[main.Tuple[error]]", align 8
%1 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 17 }, i64 25, i64 16, i64 1, i64 1)
%1 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 5 }, i64 25, i64 16, i64 1, i64 1)
%2 = load ptr, ptr @"_llgo_main.Tuple[error]", align 8
%3 = icmp eq ptr %2, null
br i1 %3, label %_llgo_1, label %_llgo_2
@@ -186,7 +184,7 @@ _llgo_1: ; preds = %_llgo_0
br label %_llgo_2
_llgo_2: ; preds = %_llgo_1, %_llgo_0
%4 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 5 })
%4 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 5 })
%5 = load ptr, ptr @_llgo_error, align 8
%6 = icmp eq ptr %5, null
br i1 %6, label %_llgo_3, label %_llgo_4
@@ -233,7 +231,7 @@ _llgo_8: ; preds = %_llgo_7, %_llgo_6
br i1 %6, label %_llgo_9, label %_llgo_10
_llgo_9: ; preds = %_llgo_8
%25 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 5 }, ptr undef }, ptr %24, 1
%25 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 5 }, ptr undef }, ptr %24, 1
%26 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24)
%27 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %26, i64 0
store %"github.com/goplus/llgo/internal/abi.Imethod" %25, ptr %27, align 8
@@ -245,15 +243,15 @@ _llgo_9: ; preds = %_llgo_8
_llgo_10: ; preds = %_llgo_9, %_llgo_8
%31 = load ptr, ptr @_llgo_error, align 8
%32 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 5 })
%33 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 1 }, ptr %32, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%32 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 5 })
%33 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 1 }, ptr %32, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%34 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56)
%35 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %34, i64 0
store %"github.com/goplus/llgo/internal/abi.StructField" %33, ptr %35, align 8
%36 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %34, 0
%37 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %36, i64 1, 1
%38 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %37, i64 1, 2
%39 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %38)
%39 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %38)
store ptr %39, ptr @"main.struct$ddtj0teo4LtYcagzh1w6BsSZ7226uefXlqreeHsfVRo", align 8
%40 = load ptr, ptr @"main.struct$ddtj0teo4LtYcagzh1w6BsSZ7226uefXlqreeHsfVRo", align 8
br i1 %3, label %_llgo_11, label %_llgo_12
@@ -307,7 +305,7 @@ _llgo_14: ; preds = %_llgo_13, %_llgo_11
%72 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %70, 0
%73 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %72, i64 1, 1
%74 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %73, i64 1, 2
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1, %"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 12 }, ptr %40, %"github.com/goplus/llgo/internal/runtime.Slice" %69, %"github.com/goplus/llgo/internal/runtime.Slice" %74)
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1, ptr %40, %"github.com/goplus/llgo/internal/runtime.Slice" %69, %"github.com/goplus/llgo/internal/runtime.Slice" %74)
br label %_llgo_12
_llgo_15: ; preds = %_llgo_12
@@ -352,9 +350,9 @@ _llgo_18: ; preds = %_llgo_17, %_llgo_16
%98 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %97, i64 0, 1
%99 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %98, i64 0, 2
%100 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %95, %"github.com/goplus/llgo/internal/runtime.Slice" %99, i1 false)
%101 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, ptr %100, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%101 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 1 }, ptr %100, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%102 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58)
%103 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, ptr %102, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%103 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 4 }, ptr %102, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%104 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112)
%105 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %104, i64 0
store %"github.com/goplus/llgo/internal/abi.StructField" %101, ptr %105, align 8
@@ -363,7 +361,7 @@ _llgo_18: ; preds = %_llgo_17, %_llgo_16
%107 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %104, 0
%108 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %107, i64 2, 1
%109 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %108, i64 2, 2
%110 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %109)
%110 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %109)
store ptr %110, ptr @"main.struct$rDvDk5u0SueGnrMxDz_wBrplEFUjtXshBCEyKeM6edc", align 8
%111 = load ptr, ptr @"main.struct$rDvDk5u0SueGnrMxDz_wBrplEFUjtXshBCEyKeM6edc", align 8
%112 = load ptr, ptr @"main.struct$rDvDk5u0SueGnrMxDz_wBrplEFUjtXshBCEyKeM6edc", align 8
@@ -401,9 +399,9 @@ _llgo_20: ; preds = %_llgo_19, %_llgo_18
%134 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %133, i64 0, 1
%135 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %134, i64 0, 2
%136 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %131, %"github.com/goplus/llgo/internal/runtime.Slice" %135, i1 false)
%137 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, ptr %136, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%137 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 1 }, ptr %136, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%138 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58)
%139 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, ptr %138, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%139 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 4 }, ptr %138, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%140 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112)
%141 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %140, i64 0
store %"github.com/goplus/llgo/internal/abi.StructField" %137, ptr %141, align 8
@@ -412,7 +410,7 @@ _llgo_20: ; preds = %_llgo_19, %_llgo_18
%143 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %140, 0
%144 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %143, i64 2, 1
%145 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %144, i64 2, 2
%146 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %145)
%146 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %145)
store ptr %146, ptr @"main.struct$mxZtxt4nClm7R35-Ksu7sUaZcPWf2mnqwCsrqo4qOB8", align 8
%147 = load ptr, ptr @"main.struct$mxZtxt4nClm7R35-Ksu7sUaZcPWf2mnqwCsrqo4qOB8", align 8
%148 = load ptr, ptr @"main.struct$rDvDk5u0SueGnrMxDz_wBrplEFUjtXshBCEyKeM6edc", align 8
@@ -427,9 +425,9 @@ _llgo_20: ; preds = %_llgo_19, %_llgo_18
%156 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %155, i64 0, 1
%157 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %156, i64 0, 2
%158 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %153, %"github.com/goplus/llgo/internal/runtime.Slice" %157, i1 false)
%159 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, ptr %158, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%159 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 1 }, ptr %158, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%160 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58)
%161 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, ptr %160, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%161 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 4 }, ptr %160, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%162 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112)
%163 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %162, i64 0
store %"github.com/goplus/llgo/internal/abi.StructField" %159, ptr %163, align 8
@@ -438,21 +436,21 @@ _llgo_20: ; preds = %_llgo_19, %_llgo_18
%165 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %162, 0
%166 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %165, i64 2, 1
%167 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %166, i64 2, 2
%168 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %167)
%169 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 2 }, ptr %168, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%168 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %167)
%169 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 2 }, ptr %168, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false)
%170 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56)
%171 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %170, i64 0
store %"github.com/goplus/llgo/internal/abi.StructField" %169, ptr %171, align 8
%172 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %170, 0
%173 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %172, i64 1, 1
%174 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %173, i64 1, 2
%175 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %174)
%175 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %174)
store ptr %175, ptr @"main.struct$LaXSfCbp9zvBYWtLq2i0GtWrY5UrmS8NmXCVxsyY920", align 8
%176 = load ptr, ptr @"main.struct$LaXSfCbp9zvBYWtLq2i0GtWrY5UrmS8NmXCVxsyY920", align 8
%177 = load ptr, ptr @"_llgo_func$1BeCdGdxwWG-Dtl1HbNuSy2_sb8rBMTmu7zhcPPofmU", align 8
%178 = load ptr, ptr @"main.struct$rDvDk5u0SueGnrMxDz_wBrplEFUjtXshBCEyKeM6edc", align 8
%179 = load ptr, ptr @"_llgo_func$80MkNg5FlG-QIrR0qzHGiPc77AqvdbJflSWOeG5LcUY", align 8
%180 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %179, 1
%180 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %179, 1
%181 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %180, ptr @"main.(*future[main.Tuple[error]]).Then", 2
%182 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %181, ptr @"main.(*future[main.Tuple[error]]).Then", 3
%183 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40)
@@ -461,8 +459,8 @@ _llgo_20: ; preds = %_llgo_19, %_llgo_18
%185 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %183, 0
%186 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %185, i64 1, 1
%187 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %186, i64 1, 2
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, %"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 25 }, ptr %176, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %187)
%188 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 30 }, i64 25, i64 24, i64 0, i64 1)
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, ptr %176, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %187)
%188 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 6 }, i64 25, i64 24, i64 0, i64 1)
%189 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %188)
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %189)
store ptr %189, ptr @"*_llgo_main.future[main.Tuple[error]]", align 8
@@ -472,14 +470,14 @@ _llgo_20: ; preds = %_llgo_19, %_llgo_18
br i1 %192, label %_llgo_21, label %_llgo_22
_llgo_21: ; preds = %_llgo_20
%193 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 4 }, ptr undef }, ptr %190, 1
%193 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 4 }, ptr undef }, ptr %190, 1
%194 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24)
%195 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %194, i64 0
store %"github.com/goplus/llgo/internal/abi.Imethod" %193, ptr %195, align 8
%196 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %194, 0
%197 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %196, i64 1, 1
%198 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %197, i64 1, 2
%199 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %198)
%199 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %198)
store ptr %199, ptr @"_llgo_iface$siNiE0pGpvdoyzPUhSP4dREmGht9v7Axb0C9hezIyDM", align 8
br label %_llgo_22
@@ -487,7 +485,7 @@ _llgo_22: ; preds = %_llgo_21, %_llgo_20
ret void
}
declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, i64)
declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, i64)
declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String")
@@ -505,7 +503,7 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplu
declare %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String", ptr, i64, %"github.com/goplus/llgo/internal/runtime.String", i1)
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.InitNamed"(ptr, ptr, %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice")
declare ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr)

View File

@@ -10,16 +10,14 @@ source_filename = "main"
@__llgo_argv = global ptr null, align 8
@0 = private unnamed_addr constant [5 x i8] c"hello", align 1
@_llgo_main.T = linkonce global ptr null, align 8
@1 = private unnamed_addr constant [6 x i8] c"main.T", align 1
@1 = private unnamed_addr constant [4 x i8] c"main", align 1
@2 = private unnamed_addr constant [1 x i8] c"T", align 1
@_llgo_string = linkonce global ptr null, align 8
@2 = private unnamed_addr constant [4 x i8] c"main", align 1
@3 = private unnamed_addr constant [1 x i8] c"T", align 1
@4 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1
@3 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1
@_llgo_main.A = linkonce global ptr null, align 8
@5 = private unnamed_addr constant [6 x i8] c"main.A", align 1
@4 = private unnamed_addr constant [1 x i8] c"A", align 1
@_llgo_int = linkonce global ptr null, align 8
@"[2]_llgo_int" = linkonce global ptr null, align 8
@6 = private unnamed_addr constant [1 x i8] c"A", align 1
define void @main.init() {
_llgo_0:
@@ -64,7 +62,7 @@ _llgo_1: ; preds = %_llgo_0
_llgo_2: ; preds = %_llgo_0
%14 = load ptr, ptr @_llgo_string, align 8
%15 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16)
store %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 21 }, ptr %15, align 8
store %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 21 }, ptr %15, align 8
%16 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %14, 0
%17 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %16, ptr %15, 1
call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %17)
@@ -139,7 +137,7 @@ declare void @"github.com/goplus/llgo/internal/runtime.init"()
define void @"main.init$after"() {
_llgo_0:
%0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 6 }, i64 24, i64 16, i64 0, i64 0)
%0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 1 }, i64 24, i64 16, i64 0, i64 0)
%1 = load ptr, ptr @_llgo_main.T, align 8
%2 = icmp eq ptr %1, null
br i1 %2, label %_llgo_1, label %_llgo_2
@@ -163,11 +161,11 @@ _llgo_4: ; preds = %_llgo_3, %_llgo_2
br i1 %2, label %_llgo_5, label %_llgo_6
_llgo_5: ; preds = %_llgo_4
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 1 }, ptr %6, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, ptr %6, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
br label %_llgo_6
_llgo_6: ; preds = %_llgo_5, %_llgo_4
%7 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 6 }, i64 17, i64 16, i64 0, i64 0)
%7 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 1 }, i64 17, i64 16, i64 0, i64 0)
%8 = load ptr, ptr @_llgo_main.A, align 8
%9 = icmp eq ptr %8, null
br i1 %9, label %_llgo_7, label %_llgo_8
@@ -203,18 +201,18 @@ _llgo_12: ; preds = %_llgo_11, %_llgo_10
br i1 %9, label %_llgo_13, label %_llgo_14
_llgo_13: ; preds = %_llgo_12
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %7, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 1 }, ptr %18, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %7, ptr %18, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
br label %_llgo_14
_llgo_14: ; preds = %_llgo_13, %_llgo_12
ret void
}
declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, i64)
declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, i64)
declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(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.InitNamed"(ptr, ptr, %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice")
declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64)