From d251232f8a75ad30a69ef9cef6a161f75a840a0d Mon Sep 17 00:00:00 2001 From: visualfc Date: Fri, 20 Dec 2024 11:37:30 +0800 Subject: [PATCH] internal/runtime: named(ptr) type preset for method type --- cl/_testgo/cgocfiles/out.ll | 17 +- cl/_testgo/equal/out.ll | 34 +- cl/_testgo/errors/out.ll | 27 +- cl/_testgo/ifaceconv/out.ll | 68 ++-- cl/_testgo/ifaceprom/out.ll | 35 +- cl/_testgo/interface/out.ll | 85 ++-- cl/_testgo/invoke/out.ll | 113 +++--- cl/_testgo/reader/out.ll | 165 ++++---- cl/_testgo/reflect/out.ll | 95 +++-- cl/_testgo/struczero/out.ll | 50 ++- cl/_testrt/abinamed/out.ll | 764 ++++++++++++++++++------------------ cl/_testrt/eface/out.ll | 11 +- cl/_testrt/makemap/out.ll | 73 ++-- cl/_testrt/tpabi/out.ll | 35 +- cl/_testrt/tpmap/out.ll | 102 +++-- cl/_testrt/tpmethod/out.ll | 74 ++-- cl/_testrt/typed/out.ll | 24 +- internal/runtime/z_face.go | 98 +++-- internal/runtime/z_type.go | 32 ++ ssa/abitype.go | 10 +- 20 files changed, 943 insertions(+), 969 deletions(-) diff --git a/cl/_testgo/cgocfiles/out.ll b/cl/_testgo/cgocfiles/out.ll index ea10f13e3..099680c25 100644 --- a/cl/_testgo/cgocfiles/out.ll +++ b/cl/_testgo/cgocfiles/out.ll @@ -18,11 +18,10 @@ source_filename = "main" @__llgo_argc = global i32 0, align 4 @__llgo_argv = global ptr null, align 8 @_llgo_main._Ctype_int = linkonce global ptr null, align 8 -@0 = private unnamed_addr constant [15 x i8] c"main._Ctype_int", align 1 +@0 = private unnamed_addr constant [4 x i8] c"main", align 1 +@1 = private unnamed_addr constant [10 x i8] c"_Ctype_int", align 1 @_llgo_int32 = linkonce global ptr null, align 8 -@1 = private unnamed_addr constant [4 x i8] c"main", align 1 -@2 = private unnamed_addr constant [10 x i8] c"_Ctype_int", align 1 -@3 = private unnamed_addr constant [19 x i8] c"test_structs failed", align 1 +@2 = private unnamed_addr constant [19 x i8] c"test_structs failed", align 1 @_llgo_string = linkonce global ptr null, align 8 define i32 @main._Cfunc_test_structs(ptr %0, ptr %1, ptr %2, ptr %3, ptr %4) { @@ -120,7 +119,7 @@ _llgo_0: _llgo_1: ; preds = %_llgo_0 %35 = load ptr, ptr @_llgo_string, align 8 %36 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 19 }, ptr %36, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 19 }, ptr %36, align 8 %37 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %35, 0 %38 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %37, ptr %36, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %38) @@ -140,7 +139,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 @0, i64 15 }, i64 5, i64 4, 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 10 }, i64 5, i64 4, i64 0, i64 0) store ptr %0, ptr @_llgo_main._Ctype_int, align 8 %1 = load ptr, ptr @_llgo_int32, align 8 %2 = icmp eq ptr %1, null @@ -153,7 +152,7 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_1, %_llgo_0 %4 = load ptr, ptr @_llgo_int32, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, %"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 10 }, ptr %4, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, ptr %4, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) %5 = load ptr, ptr @_llgo_string, align 8 %6 = icmp eq ptr %5, null br i1 %6, label %_llgo_3, label %_llgo_4 @@ -167,11 +166,11 @@ _llgo_4: ; preds = %_llgo_3, %_llgo_2 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 { i64, %"github.com/goplus/llgo/internal/runtime.iface" } @fmt.Println(%"github.com/goplus/llgo/internal/runtime.Slice") diff --git a/cl/_testgo/equal/out.ll b/cl/_testgo/equal/out.ll index 839340667..3502028b2 100644 --- a/cl/_testgo/equal/out.ll +++ b/cl/_testgo/equal/out.ll @@ -17,22 +17,20 @@ source_filename = "main" @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw" = linkonce global ptr null, align 8 @3 = private unnamed_addr constant [4 x i8] c"main", align 1 @_llgo_main.T = linkonce global ptr null, align 8 -@4 = private unnamed_addr constant [6 x i8] c"main.T", align 1 +@4 = private unnamed_addr constant [1 x i8] c"T", align 1 @_llgo_any = linkonce global ptr null, align 8 @"_llgo_struct$5D_KhR3tDEp-wpx9caTiVZca43wS-XW6slE9Bsr8rsk" = linkonce global ptr null, align 8 @5 = private unnamed_addr constant [1 x i8] c"X", align 1 @6 = private unnamed_addr constant [1 x i8] c"Y", align 1 @7 = private unnamed_addr constant [1 x i8] c"Z", align 1 @8 = private unnamed_addr constant [1 x i8] c"V", align 1 -@9 = private unnamed_addr constant [1 x i8] c"T", align 1 @_llgo_main.N = linkonce global ptr null, align 8 -@10 = private unnamed_addr constant [6 x i8] c"main.N", align 1 -@11 = private unnamed_addr constant [1 x i8] c"N", align 1 +@9 = private unnamed_addr constant [1 x i8] c"N", align 1 @"map[_llgo_int]_llgo_string" = linkonce global ptr null, align 8 -@12 = private unnamed_addr constant [7 x i8] c"topbits", align 1 -@13 = private unnamed_addr constant [4 x i8] c"keys", align 1 -@14 = private unnamed_addr constant [5 x i8] c"elems", align 1 -@15 = private unnamed_addr constant [8 x i8] c"overflow", align 1 +@10 = private unnamed_addr constant [7 x i8] c"topbits", align 1 +@11 = private unnamed_addr constant [4 x i8] c"keys", align 1 +@12 = private unnamed_addr constant [5 x i8] c"elems", align 1 +@13 = private unnamed_addr constant [8 x i8] c"overflow", align 1 @__llgo_argc = global i32 0, align 4 @__llgo_argv = global ptr null, align 8 @@ -480,7 +478,7 @@ _llgo_5: ; preds = %_llgo_4 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %13 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 6 }, i64 25, i64 48, i64 0, i64 0) + %13 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 1 }, i64 25, i64 48, i64 0, i64 0) %14 = load ptr, ptr @_llgo_main.T, align 8 %15 = icmp eq ptr %14, null br i1 %15, label %_llgo_7, label %_llgo_8 @@ -543,11 +541,11 @@ _llgo_12: ; preds = %_llgo_11, %_llgo_10 br i1 %15, label %_llgo_13, label %_llgo_14 _llgo_13: ; preds = %_llgo_12 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %13, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, ptr %47, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %13, ptr %47, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_14 _llgo_14: ; preds = %_llgo_13, %_llgo_12 - %48 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 6 }, i64 25, i64 0, i64 0, i64 0) + %48 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, i64 25, i64 0, i64 0, i64 0) %49 = load ptr, ptr @_llgo_main.N, align 8 %50 = icmp eq ptr %49, null br i1 %50, label %_llgo_15, label %_llgo_16 @@ -561,7 +559,7 @@ _llgo_16: ; preds = %_llgo_15, %_llgo_14 br i1 %50, label %_llgo_17, label %_llgo_18 _llgo_17: ; preds = %_llgo_16 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %48, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 1 }, ptr %51, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %48, ptr %51, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_18 _llgo_18: ; preds = %_llgo_17, %_llgo_16 @@ -574,15 +572,15 @@ _llgo_19: ; preds = %_llgo_18 %55 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) %56 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) %57 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %56) - %58 = 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 7 }, ptr %57, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %58 = 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 7 }, ptr %57, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %59 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) %60 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %59) - %61 = 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 4 }, ptr %60, 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 4 }, ptr %60, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %62 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) %63 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, 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 @14, i64 5 }, ptr %63, i64 72, %"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 @12, i64 5 }, ptr %63, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %65 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %66 = 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 8 }, ptr %65, i64 200, %"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 @13, i64 8 }, ptr %65, i64 200, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %67 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) %68 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %67, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %58, ptr %68, align 8 @@ -630,11 +628,11 @@ 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 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.Interface"(%"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.Slice") -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.NewChan"(i64, i64) diff --git a/cl/_testgo/errors/out.ll b/cl/_testgo/errors/out.ll index 7328d32df..265da252c 100644 --- a/cl/_testgo/errors/out.ll +++ b/cl/_testgo/errors/out.ll @@ -11,19 +11,18 @@ source_filename = "main" @"main.init$guard" = global i1 false, align 1 @_llgo_main.errorString = linkonce global ptr null, align 8 -@0 = private unnamed_addr constant [16 x i8] c"main.errorString", align 1 +@0 = private unnamed_addr constant [4 x i8] c"main", align 1 +@1 = private unnamed_addr constant [11 x i8] c"errorString", align 1 @_llgo_string = linkonce global ptr null, align 8 @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ" = linkonce global ptr null, align 8 -@1 = private unnamed_addr constant [1 x i8] c"s", align 1 -@2 = private unnamed_addr constant [4 x i8] c"main", align 1 +@2 = private unnamed_addr constant [1 x i8] c"s", align 1 @3 = private unnamed_addr constant [5 x i8] c"Error", align 1 @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to" = linkonce global ptr null, align 8 -@4 = private unnamed_addr constant [11 x i8] c"errorString", align 1 @"*_llgo_main.errorString" = linkonce global ptr null, align 8 @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU" = linkonce global ptr null, align 8 @__llgo_argc = global i32 0, align 4 @__llgo_argv = global ptr null, align 8 -@5 = private unnamed_addr constant [8 x i8] c"an error", align 1 +@4 = private unnamed_addr constant [8 x i8] c"an error", align 1 define %"github.com/goplus/llgo/internal/runtime.iface" @main.New(%"github.com/goplus/llgo/internal/runtime.String" %0) { _llgo_0: @@ -67,7 +66,7 @@ _llgo_0: store ptr %1, ptr @__llgo_argv, align 8 call void @"github.com/goplus/llgo/internal/runtime.init"() call void @main.init() - %2 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.New(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 8 }) + %2 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.New(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 8 }) call void @"github.com/goplus/llgo/internal/runtime.PrintIface"(%"github.com/goplus/llgo/internal/runtime.iface" %2) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) %3 = call ptr @"github.com/goplus/llgo/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/internal/runtime.iface" %2) @@ -88,7 +87,7 @@ 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 @0, i64 16 }, i64 25, i64 16, i64 0, i64 1) + %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 11 }, i64 25, i64 16, i64 0, i64 1) store ptr %0, ptr @_llgo_main.errorString, align 8 %1 = load ptr, ptr @_llgo_string, align 8 %2 = icmp eq ptr %1, null @@ -102,14 +101,14 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_1, %_llgo_0 %4 = load ptr, ptr @_llgo_string, align 8 %5 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %6 = 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 1 }, ptr %5, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %6 = 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 %5, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %7 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) %8 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %7, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %6, ptr %8, align 8 %9 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %7, 0 %10 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %9, i64 1, 1 %11 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %10, i64 1, 2 - %12 = 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" %11) + %12 = 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" %11) store ptr %12, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 %13 = load ptr, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 %14 = load ptr, ptr @_llgo_string, align 8 @@ -144,8 +143,8 @@ _llgo_4: ; preds = %_llgo_3, %_llgo_2 %33 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %31, 0 %34 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %33, i64 1, 1 %35 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %34, i64 1, 2 - 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 @4, i64 11 }, ptr %13, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %35) - %36 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 16 }, i64 25, i64 16, i64 0, i64 1) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, ptr %13, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %35) + %36 = 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 11 }, i64 25, i64 16, i64 0, i64 1) %37 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %36) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %37) store ptr %37, ptr @"*_llgo_main.errorString", align 8 @@ -162,7 +161,7 @@ _llgo_5: ; preds = %_llgo_4 %44 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %42, 0 %45 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %44, i64 1, 1 %46 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %45, i64 1, 2 - %47 = 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" %46) + %47 = 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" %46) store ptr %47, ptr @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU", align 8 br label %_llgo_6 @@ -170,7 +169,7 @@ _llgo_6: ; preds = %_llgo_5, %_llgo_4 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) @@ -180,7 +179,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) diff --git a/cl/_testgo/ifaceconv/out.ll b/cl/_testgo/ifaceconv/out.ll index 2c2e1d33e..127bf8890 100644 --- a/cl/_testgo/ifaceconv/out.ll +++ b/cl/_testgo/ifaceconv/out.ll @@ -16,38 +16,36 @@ source_filename = "main" @__llgo_argv = global ptr null, align 8 @_llgo_main.I0 = linkonce global ptr null, align 8 @0 = private unnamed_addr constant [4 x i8] c"main", align 1 -@1 = private unnamed_addr constant [7 x i8] c"main.I0", align 1 +@1 = private unnamed_addr constant [2 x i8] c"I0", align 1 @2 = private unnamed_addr constant [21 x i8] c"nil i0.(I0) succeeded", align 1 @_llgo_string = linkonce global ptr null, align 8 @_llgo_main.I1 = linkonce global ptr null, align 8 -@3 = private unnamed_addr constant [7 x i8] c"main.I1", align 1 +@3 = private unnamed_addr constant [2 x i8] c"I1", align 1 @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac" = linkonce global ptr null, align 8 @4 = private unnamed_addr constant [6 x i8] c"main.f", align 1 @"main.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4" = linkonce global ptr null, align 8 @5 = private unnamed_addr constant [21 x i8] c"nil i1.(I1) succeeded", align 1 @_llgo_main.I2 = linkonce global ptr null, align 8 -@6 = private unnamed_addr constant [7 x i8] c"main.I2", align 1 +@6 = private unnamed_addr constant [2 x i8] c"I2", align 1 @7 = private unnamed_addr constant [6 x i8] c"main.g", align 1 @"main.iface$gZBF8fFlqIMZ9M6lT2VWPyc3eu5Co6j0WoKGIEgDPAw" = linkonce global ptr null, align 8 @8 = private unnamed_addr constant [21 x i8] c"nil i2.(I2) succeeded", align 1 @_llgo_main.C1 = linkonce global ptr null, align 8 -@9 = private unnamed_addr constant [7 x i8] c"main.C1", align 1 +@9 = private unnamed_addr constant [2 x i8] c"C1", align 1 @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw" = linkonce global ptr null, align 8 @10 = private unnamed_addr constant [1 x i8] c"f", align 1 -@11 = private unnamed_addr constant [2 x i8] c"C1", align 1 -@12 = private unnamed_addr constant [17 x i8] c"C1 i1.(I0) failed", align 1 -@13 = private unnamed_addr constant [17 x i8] c"C1 i1.(I1) failed", align 1 -@14 = private unnamed_addr constant [20 x i8] c"C1 i1.(I2) succeeded", align 1 +@11 = private unnamed_addr constant [17 x i8] c"C1 i1.(I0) failed", align 1 +@12 = private unnamed_addr constant [17 x i8] c"C1 i1.(I1) failed", align 1 +@13 = private unnamed_addr constant [20 x i8] c"C1 i1.(I2) succeeded", align 1 @_llgo_main.C2 = linkonce global ptr null, align 8 -@15 = private unnamed_addr constant [7 x i8] c"main.C2", align 1 -@16 = private unnamed_addr constant [1 x i8] c"g", align 1 -@17 = private unnamed_addr constant [2 x i8] c"C2", align 1 -@18 = private unnamed_addr constant [17 x i8] c"C2 i1.(I0) failed", align 1 -@19 = private unnamed_addr constant [17 x i8] c"C2 i1.(I1) failed", align 1 -@20 = private unnamed_addr constant [17 x i8] c"C2 i1.(I2) failed", align 1 -@21 = private unnamed_addr constant [17 x i8] c"C1 I0(i1) was nil", align 1 -@22 = private unnamed_addr constant [17 x i8] c"C1 I1(i1) was nil", align 1 -@23 = private unnamed_addr constant [4 x i8] c"pass", align 1 +@14 = private unnamed_addr constant [2 x i8] c"C2", align 1 +@15 = private unnamed_addr constant [1 x i8] c"g", align 1 +@16 = private unnamed_addr constant [17 x i8] c"C2 i1.(I0) failed", align 1 +@17 = private unnamed_addr constant [17 x i8] c"C2 i1.(I1) failed", align 1 +@18 = private unnamed_addr constant [17 x i8] c"C2 i1.(I2) failed", align 1 +@19 = private unnamed_addr constant [17 x i8] c"C1 I0(i1) was nil", align 1 +@20 = private unnamed_addr constant [17 x i8] c"C1 I1(i1) was nil", align 1 +@21 = private unnamed_addr constant [4 x i8] c"pass", align 1 define void @main.C1.f(%main.C1 %0) { _llgo_0: @@ -175,7 +173,7 @@ _llgo_6: ; preds = %_llgo_31 _llgo_7: ; preds = %_llgo_34 %42 = load ptr, ptr @_llgo_string, align 8 %43 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 17 }, ptr %43, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 17 }, ptr %43, align 8 %44 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %42, 0 %45 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %44, ptr %43, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %45) @@ -190,7 +188,7 @@ _llgo_8: ; preds = %_llgo_34 _llgo_9: ; preds = %_llgo_37 %49 = load ptr, ptr @_llgo_string, align 8 %50 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 17 }, ptr %50, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 17 }, ptr %50, align 8 %51 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %49, 0 %52 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %51, ptr %50, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %52) @@ -205,7 +203,7 @@ _llgo_10: ; preds = %_llgo_37 _llgo_11: ; preds = %_llgo_40 %56 = load ptr, ptr @_llgo_string, align 8 %57 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 20 }, ptr %57, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 20 }, ptr %57, align 8 %58 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %56, 0 %59 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %58, ptr %57, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %59) @@ -227,7 +225,7 @@ _llgo_12: ; preds = %_llgo_40 _llgo_13: ; preds = %_llgo_43 %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 @18, i64 17 }, ptr %70, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 17 }, 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) @@ -242,7 +240,7 @@ _llgo_14: ; preds = %_llgo_43 _llgo_15: ; preds = %_llgo_46 %76 = load ptr, ptr @_llgo_string, align 8 %77 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 17 }, ptr %77, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 17 }, ptr %77, align 8 %78 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %76, 0 %79 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %78, ptr %77, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %79) @@ -257,7 +255,7 @@ _llgo_16: ; preds = %_llgo_46 _llgo_17: ; preds = %_llgo_49 %83 = load ptr, ptr @_llgo_string, align 8 %84 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 17 }, ptr %84, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 17 }, ptr %84, align 8 %85 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %83, 0 %86 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %85, ptr %84, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %86) @@ -281,7 +279,7 @@ _llgo_18: ; preds = %_llgo_49 _llgo_19: ; preds = %_llgo_18 %98 = load ptr, ptr @_llgo_string, align 8 %99 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 17 }, ptr %99, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 17 }, ptr %99, align 8 %100 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %98, 0 %101 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %100, ptr %99, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %101) @@ -301,14 +299,14 @@ _llgo_20: ; preds = %_llgo_18 _llgo_21: ; preds = %_llgo_20 %110 = load ptr, ptr @_llgo_string, align 8 %111 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 17 }, ptr %111, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 17 }, ptr %111, align 8 %112 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %110, 0 %113 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %112, ptr %111, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %113) unreachable _llgo_22: ; preds = %_llgo_20 - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 4 }) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) ret i32 0 @@ -475,7 +473,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.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 7 }) + %0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 2 }) %1 = load ptr, ptr @_llgo_main.I0, align 8 %2 = icmp eq ptr %1, null br i1 %2, label %_llgo_1, label %_llgo_2 @@ -506,7 +504,7 @@ _llgo_5: ; preds = %_llgo_4 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %10 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 7 }) + %10 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 2 }) %11 = load ptr, ptr @_llgo_main.I1, align 8 %12 = icmp eq ptr %11, null br i1 %12, label %_llgo_7, label %_llgo_8 @@ -560,7 +558,7 @@ _llgo_12: ; preds = %_llgo_11, %_llgo_10 %37 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %36, i64 1, 2 %38 = 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" %37) store ptr %38, ptr @"main.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4", align 8 - %39 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 7 }) + %39 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 2 }) %40 = load ptr, ptr @_llgo_main.I2, align 8 %41 = icmp eq ptr %40, null br i1 %41, label %_llgo_13, label %_llgo_14 @@ -603,7 +601,7 @@ _llgo_16: ; preds = %_llgo_15, %_llgo_14 %61 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %60, i64 2, 2 %62 = 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" %61) store ptr %62, ptr @"main.iface$gZBF8fFlqIMZ9M6lT2VWPyc3eu5Co6j0WoKGIEgDPAw", align 8 - %63 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 7 }, i64 25, i64 0, i64 1, i64 1) + %63 = 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 @9, i64 2 }, i64 25, i64 0, i64 1, i64 1) %64 = load ptr, ptr @_llgo_main.C1, align 8 %65 = icmp eq ptr %64, null br i1 %65, label %_llgo_17, label %_llgo_18 @@ -650,11 +648,11 @@ _llgo_21: ; preds = %_llgo_20 %88 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %86, 0 %89 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %88, i64 1, 1 %90 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %89, i64 1, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %63, %"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 2 }, ptr %73, %"github.com/goplus/llgo/internal/runtime.Slice" %85, %"github.com/goplus/llgo/internal/runtime.Slice" %90) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %63, ptr %73, %"github.com/goplus/llgo/internal/runtime.Slice" %85, %"github.com/goplus/llgo/internal/runtime.Slice" %90) br label %_llgo_22 _llgo_22: ; preds = %_llgo_21, %_llgo_20 - %91 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 7 }, i64 25, i64 0, i64 2, i64 2) + %91 = 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 @14, i64 2 }, i64 25, i64 0, i64 2, i64 2) %92 = load ptr, ptr @_llgo_main.C2, align 8 %93 = icmp eq ptr %92, null br i1 %93, label %_llgo_23, label %_llgo_24 @@ -698,7 +696,7 @@ _llgo_25: ; preds = %_llgo_24 %118 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %115, 0 %119 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %118, i64 2, 1 %120 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %119, i64 2, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %91, %"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 2 }, ptr %94, %"github.com/goplus/llgo/internal/runtime.Slice" %114, %"github.com/goplus/llgo/internal/runtime.Slice" %120) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %91, ptr %94, %"github.com/goplus/llgo/internal/runtime.Slice" %114, %"github.com/goplus/llgo/internal/runtime.Slice" %120) br label %_llgo_26 _llgo_26: ; preds = %_llgo_25, %_llgo_24 @@ -727,13 +725,13 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/go declare ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr, 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 ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String", i64, %"github.com/goplus/llgo/internal/runtime.Slice") 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 i1 @"github.com/goplus/llgo/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/internal/runtime.eface", %"github.com/goplus/llgo/internal/runtime.eface") diff --git a/cl/_testgo/ifaceprom/out.ll b/cl/_testgo/ifaceprom/out.ll index d6f1fea0d..64cd34380 100644 --- a/cl/_testgo/ifaceprom/out.ll +++ b/cl/_testgo/ifaceprom/out.ll @@ -16,9 +16,9 @@ source_filename = "main" @__llgo_argc = global i32 0, align 4 @__llgo_argv = global ptr null, align 8 @_llgo_main.impl = linkonce global ptr null, align 8 -@1 = private unnamed_addr constant [9 x i8] c"main.impl", align 1 +@1 = private unnamed_addr constant [4 x i8] c"main", align 1 +@2 = private unnamed_addr constant [4 x i8] c"impl", align 1 @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw" = linkonce global ptr null, align 8 -@2 = private unnamed_addr constant [4 x i8] c"main", align 1 @3 = private unnamed_addr constant [3 x i8] c"one", align 1 @4 = private unnamed_addr constant [8 x i8] c"main.one", align 1 @_llgo_int = linkonce global ptr null, align 8 @@ -26,12 +26,11 @@ source_filename = "main" @5 = private unnamed_addr constant [8 x i8] c"main.two", align 1 @_llgo_string = linkonce global ptr null, align 8 @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to" = linkonce global ptr null, align 8 -@6 = private unnamed_addr constant [4 x i8] c"impl", align 1 @"main.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA" = linkonce global ptr null, align 8 @_llgo_main.I = linkonce global ptr null, align 8 -@7 = private unnamed_addr constant [6 x i8] c"main.I", align 1 -@8 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 -@9 = private unnamed_addr constant [4 x i8] c"pass", align 1 +@6 = private unnamed_addr constant [1 x i8] c"I", align 1 +@7 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 +@8 = private unnamed_addr constant [4 x i8] c"pass", align 1 define i64 @main.S.one(%main.S %0) { _llgo_0: @@ -322,7 +321,7 @@ _llgo_15: ; preds = %_llgo_23 unreachable _llgo_16: ; preds = %_llgo_23 - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 4 }) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) ret i32 0 @@ -345,7 +344,7 @@ _llgo_17: ; preds = %_llgo_4 _llgo_18: ; preds = %_llgo_4 %126 = load ptr, ptr @_llgo_string, align 8 %127 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 21 }, ptr %127, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 21 }, ptr %127, align 8 %128 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %126, 0 %129 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %128, ptr %127, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %129) @@ -370,7 +369,7 @@ _llgo_19: ; preds = %_llgo_6 _llgo_20: ; preds = %_llgo_6 %142 = load ptr, ptr @_llgo_string, align 8 %143 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 21 }, ptr %143, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 21 }, ptr %143, align 8 %144 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %142, 0 %145 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %144, ptr %143, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %145) @@ -396,7 +395,7 @@ _llgo_21: ; preds = %_llgo_12 _llgo_22: ; preds = %_llgo_12 %159 = load ptr, ptr @_llgo_string, align 8 %160 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 21 }, ptr %160, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 21 }, ptr %160, align 8 %161 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %159, 0 %162 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %161, ptr %160, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %162) @@ -422,7 +421,7 @@ _llgo_23: ; preds = %_llgo_14 _llgo_24: ; preds = %_llgo_14 %176 = load ptr, ptr @_llgo_string, align 8 %177 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 21 }, ptr %177, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 21 }, ptr %177, align 8 %178 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %176, 0 %179 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %178, ptr %177, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %179) @@ -438,7 +437,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 9 }, i64 25, i64 0, i64 2, 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 4 }, i64 25, i64 0, i64 2, i64 2) store ptr %0, ptr @_llgo_main.impl, align 8 %1 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 %2 = icmp eq ptr %1, null @@ -449,7 +448,7 @@ _llgo_1: ; preds = %_llgo_0 %4 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %3, 0 %5 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %4, i64 0, 1 %6 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %5, i64 0, 2 - %7 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, i64 0, %"github.com/goplus/llgo/internal/runtime.Slice" %6) + %7 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, i64 0, %"github.com/goplus/llgo/internal/runtime.Slice" %6) store ptr %7, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 br label %_llgo_2 @@ -551,7 +550,7 @@ _llgo_10: ; preds = %_llgo_9, %_llgo_8 %66 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %63, 0 %67 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %66, i64 2, 1 %68 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %67, i64 2, 2 - 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 @6, i64 4 }, ptr %8, %"github.com/goplus/llgo/internal/runtime.Slice" %62, %"github.com/goplus/llgo/internal/runtime.Slice" %68) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, ptr %8, %"github.com/goplus/llgo/internal/runtime.Slice" %62, %"github.com/goplus/llgo/internal/runtime.Slice" %68) %69 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 %70 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 %71 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 8 }, ptr undef }, ptr %69, 1 @@ -564,9 +563,9 @@ _llgo_10: ; preds = %_llgo_9, %_llgo_8 %76 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %73, 0 %77 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %76, i64 2, 1 %78 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %77, i64 2, 2 - %79 = 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" %78) + %79 = 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" %78) store ptr %79, ptr @"main.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 - %80 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 6 }) + %80 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 1 }) %81 = load ptr, ptr @_llgo_main.I, align 8 %82 = icmp eq ptr %81, null br i1 %82, label %_llgo_11, label %_llgo_12 @@ -598,7 +597,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.Struct"(%"github.com/goplus/llgo/internal/runtime.String", i64, %"github.com/goplus/llgo/internal/runtime.Slice") @@ -606,7 +605,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.Basic"(i64) diff --git a/cl/_testgo/interface/out.ll b/cl/_testgo/interface/out.ll index 44e92cf0d..7ab39e50e 100644 --- a/cl/_testgo/interface/out.ll +++ b/cl/_testgo/interface/out.ll @@ -14,31 +14,28 @@ source_filename = "main" @__llgo_argc = global i32 0, align 4 @__llgo_argv = global ptr null, align 8 @_llgo_main.Game1 = linkonce global ptr null, align 8 -@0 = private unnamed_addr constant [10 x i8] c"main.Game1", align 1 +@0 = private unnamed_addr constant [4 x i8] c"main", align 1 +@1 = private unnamed_addr constant [5 x i8] c"Game1", align 1 @"_llgo_github.com/goplus/llgo/cl/internal/foo.Game" = linkonce global ptr null, align 8 -@1 = private unnamed_addr constant [43 x i8] c"github.com/goplus/llgo/cl/internal/foo.Game", align 1 +@2 = private unnamed_addr constant [38 x i8] c"github.com/goplus/llgo/cl/internal/foo", align 1 +@3 = private unnamed_addr constant [4 x i8] c"Game", align 1 @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw" = linkonce global ptr null, align 8 -@2 = private unnamed_addr constant [4 x i8] c"main", align 1 -@3 = private unnamed_addr constant [4 x i8] c"Load", align 1 +@4 = private unnamed_addr constant [4 x i8] c"Load", align 1 @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac" = linkonce global ptr null, align 8 -@4 = private unnamed_addr constant [8 x i8] c"initGame", align 1 -@5 = private unnamed_addr constant [47 x i8] c"github.com/goplus/llgo/cl/internal/foo.initGame", align 1 -@6 = private unnamed_addr constant [38 x i8] c"github.com/goplus/llgo/cl/internal/foo", align 1 -@7 = private unnamed_addr constant [4 x i8] c"Game", align 1 +@5 = private unnamed_addr constant [8 x i8] c"initGame", align 1 +@6 = private unnamed_addr constant [47 x i8] c"github.com/goplus/llgo/cl/internal/foo.initGame", align 1 @"*_llgo_github.com/goplus/llgo/cl/internal/foo.Game" = linkonce global ptr null, align 8 @"_llgo_struct$cJmCzeVn0orHWafCrTGAnbbAF46F2A4Fms4bJBm8ITI" = linkonce global ptr null, align 8 -@8 = private unnamed_addr constant [5 x i8] c"Game1", align 1 @"*_llgo_main.Game1" = linkonce global ptr null, align 8 @_llgo_main.Game2 = linkonce global ptr null, align 8 -@9 = private unnamed_addr constant [10 x i8] c"main.Game2", align 1 -@10 = private unnamed_addr constant [13 x i8] c"main.initGame", align 1 -@11 = private unnamed_addr constant [5 x i8] c"Game2", align 1 +@7 = private unnamed_addr constant [5 x i8] c"Game2", align 1 +@8 = private unnamed_addr constant [13 x i8] c"main.initGame", align 1 @"*_llgo_main.Game2" = linkonce global ptr null, align 8 @"_llgo_github.com/goplus/llgo/cl/internal/foo.Gamer" = linkonce global ptr null, align 8 -@12 = private unnamed_addr constant [44 x i8] c"github.com/goplus/llgo/cl/internal/foo.Gamer", align 1 +@9 = private unnamed_addr constant [5 x i8] c"Gamer", align 1 @"main.iface$sO8a1LvuUsjXwiwaC6sR9-L4DiYgiOnZi7iosyShJXg" = linkonce global ptr null, align 8 -@13 = private unnamed_addr constant [2 x i8] c"OK", align 1 -@14 = private unnamed_addr constant [4 x i8] c"FAIL", align 1 +@10 = private unnamed_addr constant [2 x i8] c"OK", align 1 +@11 = private unnamed_addr constant [4 x i8] c"FAIL", align 1 define void @main.Game1.Load(%main.Game1 %0) { _llgo_0: @@ -157,7 +154,7 @@ _llgo_5: ; preds = %_llgo_4, %_llgo_3 %35 = phi { %"github.com/goplus/llgo/internal/runtime.iface", i1 } [ %34, %_llgo_3 ], [ zeroinitializer, %_llgo_4 ] %36 = extractvalue { %"github.com/goplus/llgo/internal/runtime.iface", i1 } %35, 0 %37 = extractvalue { %"github.com/goplus/llgo/internal/runtime.iface", i1 } %35, 1 - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 2 }) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 2 }) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) call void @"github.com/goplus/llgo/internal/runtime.PrintIface"(%"github.com/goplus/llgo/internal/runtime.iface" %36) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) @@ -182,7 +179,7 @@ _llgo_8: ; preds = %_llgo_7, %_llgo_6 %45 = phi { %"github.com/goplus/llgo/internal/runtime.iface", i1 } [ %44, %_llgo_6 ], [ zeroinitializer, %_llgo_7 ] %46 = extractvalue { %"github.com/goplus/llgo/internal/runtime.iface", i1 } %45, 0 %47 = extractvalue { %"github.com/goplus/llgo/internal/runtime.iface", i1 } %45, 1 - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 4 }) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 4 }) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) call void @"github.com/goplus/llgo/internal/runtime.PrintIface"(%"github.com/goplus/llgo/internal/runtime.iface" %46) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) @@ -206,7 +203,7 @@ 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 @0, i64 10 }, i64 25, i64 8, i64 2, i64 2) + %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 5 }, i64 25, i64 8, i64 2, i64 2) %1 = load ptr, ptr @_llgo_main.Game1, align 8 %2 = icmp eq ptr %1, null br i1 %2, label %_llgo_1, label %_llgo_2 @@ -217,7 +214,7 @@ _llgo_1: ; preds = %_llgo_0 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 - %3 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 43 }, i64 25, i64 0, i64 0, i64 2) + %3 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 38 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 0, i64 0, i64 2) %4 = load ptr, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Game", align 8 %5 = icmp eq ptr %4, null br i1 %5, label %_llgo_3, label %_llgo_4 @@ -236,7 +233,7 @@ _llgo_5: ; preds = %_llgo_4 %9 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %8, 0 %10 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %9, i64 0, 1 %11 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %10, i64 0, 2 - %12 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, i64 0, %"github.com/goplus/llgo/internal/runtime.Slice" %11) + %12 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, i64 0, %"github.com/goplus/llgo/internal/runtime.Slice" %11) store ptr %12, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 br label %_llgo_6 @@ -251,7 +248,7 @@ _llgo_7: ; preds = %_llgo_6 _llgo_8: ; preds = %_llgo_10, %_llgo_6 %16 = load ptr, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Game", align 8 - %17 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 43 }, i64 25, i64 0, i64 0, i64 2) + %17 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 38 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 0, i64 0, i64 2) %18 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/cl/internal/foo.Game", align 8 %19 = icmp eq ptr %18, null br i1 %19, label %_llgo_11, label %_llgo_12 @@ -272,11 +269,11 @@ _llgo_9: ; preds = %_llgo_7 _llgo_10: ; preds = %_llgo_9, %_llgo_7 %29 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %30 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %29, 1 + %30 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %29, 1 %31 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %30, ptr @"github.com/goplus/llgo/cl/internal/foo.(*Game).Load", 2 %32 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %31, ptr @"github.com/goplus/llgo/cl/internal/foo.(*Game).Load", 3 %33 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %34 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 47 }, ptr undef, ptr undef, ptr undef }, ptr %33, 1 + %34 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 47 }, ptr undef, ptr undef, ptr undef }, ptr %33, 1 %35 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %34, ptr @"github.com/goplus/llgo/cl/internal/foo.(*Game).initGame", 2 %36 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %35, ptr @"github.com/goplus/llgo/cl/internal/foo.(*Game).initGame", 3 %37 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) @@ -287,7 +284,7 @@ _llgo_10: ; preds = %_llgo_9, %_llgo_7 %40 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %37, 0 %41 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %40, i64 2, 1 %42 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %41, i64 2, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %3, %"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 38 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, ptr %13, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %42) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %3, ptr %13, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %42) br label %_llgo_8 _llgo_11: ; preds = %_llgo_8 @@ -298,21 +295,21 @@ _llgo_11: ; preds = %_llgo_8 _llgo_12: ; preds = %_llgo_11, %_llgo_8 %44 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/cl/internal/foo.Game", align 8 - %45 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 43 }, i64 25, i64 0, i64 0, i64 2) + %45 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 38 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 0, i64 0, i64 2) %46 = load ptr, ptr @"_llgo_struct$cJmCzeVn0orHWafCrTGAnbbAF46F2A4Fms4bJBm8ITI", align 8 %47 = icmp eq ptr %46, null br i1 %47, label %_llgo_13, label %_llgo_14 _llgo_13: ; preds = %_llgo_12 %48 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %45) - %49 = 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 4 }, ptr %48, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) + %49 = 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 4 }, ptr %48, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) %50 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) %51 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %50, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %49, ptr %51, align 8 %52 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %50, 0 %53 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %52, i64 1, 1 %54 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %53, i64 1, 2 - %55 = 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" %54) + %55 = 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" %54) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %55) store ptr %55, ptr @"_llgo_struct$cJmCzeVn0orHWafCrTGAnbbAF46F2A4Fms4bJBm8ITI", align 8 br label %_llgo_14 @@ -323,14 +320,14 @@ _llgo_14: ; preds = %_llgo_13, %_llgo_12 _llgo_15: ; preds = %_llgo_14 %57 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %58 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %57, 1 + %58 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %57, 1 %59 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %58, ptr @"main.(*Game1).Load", 2 %60 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %59, ptr @"main.(*Game1).Load", 3 - %61 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %57, 1 + %61 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %57, 1 %62 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %61, ptr @"main.(*Game1).Load", 2 %63 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %62, ptr @main.Game1.Load, 3 %64 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %65 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 47 }, ptr undef, ptr undef, ptr undef }, ptr %64, 1 + %65 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 47 }, ptr undef, ptr undef, ptr undef }, ptr %64, 1 %66 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %65, ptr @"github.com/goplus/llgo/cl/internal/foo.(*Game).initGame", 2 %67 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %66, ptr @"github.com/goplus/llgo/cl/internal/foo.(*Game).initGame", 3 %68 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) @@ -347,11 +344,11 @@ _llgo_15: ; preds = %_llgo_14 %76 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %73, 0 %77 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %76, i64 2, 1 %78 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %77, i64 2, 2 - 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 @8, i64 5 }, ptr %56, %"github.com/goplus/llgo/internal/runtime.Slice" %72, %"github.com/goplus/llgo/internal/runtime.Slice" %78) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, ptr %56, %"github.com/goplus/llgo/internal/runtime.Slice" %72, %"github.com/goplus/llgo/internal/runtime.Slice" %78) br label %_llgo_16 _llgo_16: ; preds = %_llgo_15, %_llgo_14 - %79 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 10 }, i64 25, i64 8, i64 2, i64 2) + %79 = 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 5 }, i64 25, i64 8, i64 2, i64 2) %80 = load ptr, ptr @"*_llgo_main.Game1", align 8 %81 = icmp eq ptr %80, null br i1 %81, label %_llgo_17, label %_llgo_18 @@ -363,7 +360,7 @@ _llgo_17: ; preds = %_llgo_16 br label %_llgo_18 _llgo_18: ; preds = %_llgo_17, %_llgo_16 - %83 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 10 }, i64 25, i64 0, i64 0, i64 1) + %83 = 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 @7, i64 5 }, i64 25, i64 0, i64 0, i64 1) %84 = load ptr, ptr @_llgo_main.Game2, align 8 %85 = icmp eq ptr %84, null br i1 %85, label %_llgo_19, label %_llgo_20 @@ -378,7 +375,7 @@ _llgo_20: ; preds = %_llgo_19, %_llgo_18 _llgo_21: ; preds = %_llgo_20 %87 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %88 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %87, 1 + %88 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %87, 1 %89 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %88, ptr @"main.(*Game2).initGame", 2 %90 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %89, ptr @"main.(*Game2).initGame", 3 %91 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) @@ -387,11 +384,11 @@ _llgo_21: ; preds = %_llgo_20 %93 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %91, 0 %94 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %93, i64 1, 1 %95 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %94, i64 1, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %83, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 5 }, ptr %86, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %95) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %83, ptr %86, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %95) br label %_llgo_22 _llgo_22: ; preds = %_llgo_21, %_llgo_20 - %96 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 10 }, i64 25, i64 0, i64 0, i64 1) + %96 = 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 @7, i64 5 }, i64 25, i64 0, i64 0, i64 1) %97 = load ptr, ptr @"*_llgo_main.Game2", align 8 %98 = icmp eq ptr %97, null br i1 %98, label %_llgo_23, label %_llgo_24 @@ -403,7 +400,7 @@ _llgo_23: ; preds = %_llgo_22 br label %_llgo_24 _llgo_24: ; preds = %_llgo_23, %_llgo_22 - %100 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 38 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 44 }) + %100 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 38 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 5 }) %101 = load ptr, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Gamer", align 8 %102 = icmp eq ptr %101, null br i1 %102, label %_llgo_25, label %_llgo_26 @@ -418,8 +415,8 @@ _llgo_26: ; preds = %_llgo_25, %_llgo_24 br i1 %102, label %_llgo_27, label %_llgo_28 _llgo_27: ; preds = %_llgo_26 - %105 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, ptr undef }, ptr %103, 1 - %106 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 47 }, ptr undef }, ptr %104, 1 + %105 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, ptr undef }, ptr %103, 1 + %106 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 47 }, ptr undef }, ptr %104, 1 %107 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48) %108 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %107, i64 0 store %"github.com/goplus/llgo/internal/abi.Imethod" %105, ptr %108, align 8 @@ -434,8 +431,8 @@ _llgo_27: ; preds = %_llgo_26 _llgo_28: ; preds = %_llgo_27, %_llgo_26 %113 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 %114 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %115 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, ptr undef }, ptr %113, 1 - %116 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 47 }, ptr undef }, ptr %114, 1 + %115 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, ptr undef }, ptr %113, 1 + %116 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 47 }, ptr undef }, ptr %114, 1 %117 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48) %118 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %117, i64 0 store %"github.com/goplus/llgo/internal/abi.Imethod" %115, ptr %118, align 8 @@ -444,12 +441,12 @@ _llgo_28: ; preds = %_llgo_27, %_llgo_26 %120 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %117, 0 %121 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %120, i64 2, 1 %122 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %121, i64 2, 2 - %123 = 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" %122) + %123 = 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" %122) store ptr %123, ptr @"main.iface$sO8a1LvuUsjXwiwaC6sR9-L4DiYgiOnZi7iosyShJXg", 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 void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr) @@ -459,7 +456,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) diff --git a/cl/_testgo/invoke/out.ll b/cl/_testgo/invoke/out.ll index 7754d3c8b..9080bdffb 100644 --- a/cl/_testgo/invoke/out.ll +++ b/cl/_testgo/invoke/out.ll @@ -24,57 +24,50 @@ source_filename = "main" @__llgo_argv = global ptr null, align 8 @7 = private unnamed_addr constant [5 x i8] c"hello", align 1 @_llgo_main.T = linkonce global ptr null, align 8 -@8 = private unnamed_addr constant [6 x i8] c"main.T", align 1 +@8 = private unnamed_addr constant [4 x i8] c"main", align 1 +@9 = private unnamed_addr constant [1 x i8] c"T", align 1 @_llgo_string = linkonce global ptr null, align 8 @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ" = linkonce global ptr null, align 8 -@9 = private unnamed_addr constant [1 x i8] c"s", align 1 -@10 = private unnamed_addr constant [4 x i8] c"main", align 1 +@10 = private unnamed_addr constant [1 x i8] c"s", align 1 @11 = private unnamed_addr constant [6 x i8] c"Invoke", align 1 @_llgo_int = linkonce global ptr null, align 8 @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA" = linkonce global ptr null, align 8 @12 = private unnamed_addr constant [6 x i8] c"Method", align 1 @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac" = linkonce global ptr null, align 8 -@13 = private unnamed_addr constant [1 x i8] c"T", align 1 @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0" = linkonce global ptr null, align 8 @"*_llgo_main.T" = linkonce global ptr null, align 8 @_llgo_main.T1 = linkonce global ptr null, align 8 -@14 = private unnamed_addr constant [7 x i8] c"main.T1", align 1 -@15 = private unnamed_addr constant [2 x i8] c"T1", align 1 +@13 = private unnamed_addr constant [2 x i8] c"T1", align 1 @"*_llgo_main.T1" = linkonce global ptr null, align 8 @_llgo_main.T2 = linkonce global ptr null, align 8 -@16 = private unnamed_addr constant [7 x i8] c"main.T2", align 1 +@14 = private unnamed_addr constant [2 x i8] c"T2", align 1 @_llgo_float64 = linkonce global ptr null, align 8 -@17 = private unnamed_addr constant [2 x i8] c"T2", align 1 @"*_llgo_main.T2" = linkonce global ptr null, align 8 @_llgo_main.T3 = linkonce global ptr null, align 8 -@18 = private unnamed_addr constant [7 x i8] c"main.T3", align 1 +@15 = private unnamed_addr constant [2 x i8] c"T3", align 1 @_llgo_int8 = linkonce global ptr null, align 8 -@19 = private unnamed_addr constant [2 x i8] c"T3", align 1 @"*_llgo_main.T3" = linkonce global ptr null, align 8 @_llgo_main.T4 = linkonce global ptr null, align 8 -@20 = private unnamed_addr constant [7 x i8] c"main.T4", align 1 +@16 = private unnamed_addr constant [2 x i8] c"T4", align 1 @"[1]_llgo_int" = linkonce global ptr null, align 8 -@21 = private unnamed_addr constant [2 x i8] c"T4", align 1 @"*_llgo_main.T4" = linkonce global ptr null, align 8 @_llgo_main.T5 = linkonce global ptr null, align 8 -@22 = private unnamed_addr constant [7 x i8] c"main.T5", align 1 +@17 = private unnamed_addr constant [2 x i8] c"T5", align 1 @"main.struct$eovYmOhZg4X0zMSsuscSshndnbbAGvB2E3cyG8E7Y4U" = linkonce global ptr null, align 8 -@23 = private unnamed_addr constant [1 x i8] c"n", align 1 -@24 = private unnamed_addr constant [2 x i8] c"T5", align 1 +@18 = private unnamed_addr constant [1 x i8] c"n", align 1 @"*_llgo_main.T5" = linkonce global ptr null, align 8 @_llgo_main.T6 = linkonce global ptr null, align 8 -@25 = private unnamed_addr constant [7 x i8] c"main.T6", align 1 +@19 = private unnamed_addr constant [2 x i8] c"T6", align 1 @_llgo_Pointer = linkonce global ptr null, align 8 @"main.struct$ShRx0rnZQIkym8zpNxljLHWZbDzaCdzDkVBTe78YZMw" = linkonce global ptr null, align 8 -@26 = private unnamed_addr constant [1 x i8] c"f", align 1 -@27 = private unnamed_addr constant [4 x i8] c"data", align 1 -@28 = private unnamed_addr constant [2 x i8] c"T6", align 1 +@20 = private unnamed_addr constant [1 x i8] c"f", align 1 +@21 = private unnamed_addr constant [4 x i8] c"data", align 1 @"*_llgo_main.T6" = linkonce global ptr null, align 8 @"_llgo_iface$jwmSdgh1zvY_TDIgLzCkvkbiyrdwl9N806DH0JGcyMI" = linkonce global ptr null, align 8 -@29 = private unnamed_addr constant [5 x i8] c"world", align 1 +@22 = private unnamed_addr constant [5 x i8] c"world", align 1 @_llgo_main.I = linkonce global ptr null, align 8 -@30 = private unnamed_addr constant [6 x i8] c"main.I", align 1 -@31 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 +@23 = private unnamed_addr constant [1 x i8] c"I", align 1 +@24 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 @_llgo_any = linkonce global ptr null, align 8 define i64 @main.T.Invoke(%main.T %0) { @@ -384,7 +377,7 @@ _llgo_0: %112 = alloca %main.T, align 8 call void @llvm.memset(ptr %112, i8 0, i64 16, i1 false) %113 = getelementptr inbounds %main.T, ptr %112, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @29, i64 5 }, ptr %113, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 5 }, ptr %113, align 8 %114 = load %main.T, ptr %112, align 8 %115 = load ptr, ptr @_llgo_main.T, align 8 %116 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) @@ -411,7 +404,7 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_0 %130 = load ptr, ptr @_llgo_string, align 8 %131 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @31, i64 21 }, ptr %131, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 21 }, ptr %131, align 8 %132 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %130, 0 %133 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %132, ptr %131, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %133) @@ -429,7 +422,7 @@ _llgo_3: ; preds = %_llgo_1 _llgo_4: ; preds = %_llgo_1 %140 = load ptr, ptr @_llgo_string, align 8 %141 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @31, i64 21 }, ptr %141, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 21 }, ptr %141, align 8 %142 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %140, 0 %143 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %142, ptr %141, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %143) @@ -447,7 +440,7 @@ _llgo_5: ; preds = %_llgo_3 _llgo_6: ; preds = %_llgo_3 %149 = load ptr, ptr @_llgo_string, align 8 %150 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @31, i64 21 }, ptr %150, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 21 }, ptr %150, align 8 %151 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %149, 0 %152 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %151, ptr %150, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %152) @@ -484,7 +477,7 @@ _llgo_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 @8, i64 6 }, i64 25, i64 16, i64 1, i64 2) + %0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, i64 25, i64 16, i64 1, i64 2) %1 = load ptr, ptr @_llgo_main.T, align 8 %2 = icmp eq ptr %1, null br i1 %2, label %_llgo_1, label %_llgo_2 @@ -506,14 +499,14 @@ _llgo_3: ; preds = %_llgo_2 _llgo_4: ; preds = %_llgo_3, %_llgo_2 %6 = load ptr, ptr @_llgo_string, align 8 %7 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %8 = 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 %7, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %8 = 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 1 }, ptr %7, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %9 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) %10 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %9, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %8, ptr %10, align 8 %11 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %9, 0 %12 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %11, i64 1, 1 %13 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %12, i64 1, 2 - %14 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %13) + %14 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %13) store ptr %14, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 %15 = load ptr, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 br i1 %2, label %_llgo_5, label %_llgo_6 @@ -602,7 +595,7 @@ _llgo_12: ; preds = %_llgo_11, %_llgo_10 %66 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %63, 0 %67 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %66, i64 2, 1 %68 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %67, i64 2, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, %"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 1 }, ptr %15, %"github.com/goplus/llgo/internal/runtime.Slice" %62, %"github.com/goplus/llgo/internal/runtime.Slice" %68) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, ptr %15, %"github.com/goplus/llgo/internal/runtime.Slice" %62, %"github.com/goplus/llgo/internal/runtime.Slice" %68) br label %_llgo_6 _llgo_13: ; preds = %_llgo_6 @@ -613,12 +606,12 @@ _llgo_13: ; preds = %_llgo_6 %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 - %75 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %74) + %75 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %74) store ptr %75, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 br label %_llgo_14 _llgo_14: ; preds = %_llgo_13, %_llgo_6 - %76 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 6 }, i64 25, i64 16, i64 1, i64 2) + %76 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, i64 25, i64 16, i64 1, i64 2) %77 = load ptr, ptr @"*_llgo_main.T", align 8 %78 = icmp eq ptr %77, null br i1 %78, label %_llgo_15, label %_llgo_16 @@ -630,7 +623,7 @@ _llgo_15: ; preds = %_llgo_14 br label %_llgo_16 _llgo_16: ; preds = %_llgo_15, %_llgo_14 - %80 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 7 }, i64 2, i64 8, i64 1, i64 1) + %80 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 2 }, i64 2, i64 8, i64 1, i64 1) %81 = load ptr, ptr @_llgo_main.T1, align 8 %82 = icmp eq ptr %81, null br i1 %82, label %_llgo_17, label %_llgo_18 @@ -663,11 +656,11 @@ _llgo_19: ; preds = %_llgo_18 %98 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %96, 0 %99 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %98, i64 1, 1 %100 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %99, i64 1, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %80, %"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 2 }, ptr %83, %"github.com/goplus/llgo/internal/runtime.Slice" %95, %"github.com/goplus/llgo/internal/runtime.Slice" %100) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %80, ptr %83, %"github.com/goplus/llgo/internal/runtime.Slice" %95, %"github.com/goplus/llgo/internal/runtime.Slice" %100) br label %_llgo_20 _llgo_20: ; preds = %_llgo_19, %_llgo_18 - %101 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 7 }, i64 2, i64 8, i64 1, i64 1) + %101 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 2 }, i64 2, i64 8, i64 1, i64 1) %102 = load ptr, ptr @"*_llgo_main.T1", align 8 %103 = icmp eq ptr %102, null br i1 %103, label %_llgo_21, label %_llgo_22 @@ -679,7 +672,7 @@ _llgo_21: ; preds = %_llgo_20 br label %_llgo_22 _llgo_22: ; preds = %_llgo_21, %_llgo_20 - %105 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 7 }, i64 14, i64 8, i64 1, i64 1) + %105 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 2 }, i64 14, i64 8, i64 1, i64 1) %106 = load ptr, ptr @_llgo_main.T2, align 8 %107 = icmp eq ptr %106, null br i1 %107, label %_llgo_23, label %_llgo_24 @@ -722,11 +715,11 @@ _llgo_27: ; preds = %_llgo_26 %126 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %124, 0 %127 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %126, i64 1, 1 %128 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %127, i64 1, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %105, %"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 2 }, ptr %111, %"github.com/goplus/llgo/internal/runtime.Slice" %123, %"github.com/goplus/llgo/internal/runtime.Slice" %128) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %105, ptr %111, %"github.com/goplus/llgo/internal/runtime.Slice" %123, %"github.com/goplus/llgo/internal/runtime.Slice" %128) br label %_llgo_28 _llgo_28: ; preds = %_llgo_27, %_llgo_26 - %129 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 7 }, i64 14, i64 8, i64 1, i64 1) + %129 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 2 }, i64 14, i64 8, i64 1, i64 1) %130 = load ptr, ptr @"*_llgo_main.T2", align 8 %131 = icmp eq ptr %130, null br i1 %131, label %_llgo_29, label %_llgo_30 @@ -738,7 +731,7 @@ _llgo_29: ; preds = %_llgo_28 br label %_llgo_30 _llgo_30: ; preds = %_llgo_29, %_llgo_28 - %133 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 7 }, i64 3, i64 1, i64 0, i64 1) + %133 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 2 }, i64 3, i64 1, i64 0, i64 1) %134 = load ptr, ptr @_llgo_main.T3, align 8 %135 = icmp eq ptr %134, null br i1 %135, label %_llgo_31, label %_llgo_32 @@ -772,11 +765,11 @@ _llgo_35: ; preds = %_llgo_34 %146 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %144, 0 %147 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %146, i64 1, 1 %148 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %147, i64 1, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %133, %"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 2 }, ptr %139, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %148) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %133, ptr %139, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %148) br label %_llgo_36 _llgo_36: ; preds = %_llgo_35, %_llgo_34 - %149 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 7 }, i64 3, i64 1, i64 0, i64 1) + %149 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 2 }, i64 3, i64 1, i64 0, i64 1) %150 = load ptr, ptr @"*_llgo_main.T3", align 8 %151 = icmp eq ptr %150, null br i1 %151, label %_llgo_37, label %_llgo_38 @@ -788,7 +781,7 @@ _llgo_37: ; preds = %_llgo_36 br label %_llgo_38 _llgo_38: ; preds = %_llgo_37, %_llgo_36 - %153 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 7 }, i64 17, i64 8, i64 1, i64 1) + %153 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 2 }, i64 17, i64 8, i64 1, i64 1) %154 = load ptr, ptr @_llgo_main.T4, align 8 %155 = icmp eq ptr %154, null br i1 %155, label %_llgo_39, label %_llgo_40 @@ -832,11 +825,11 @@ _llgo_43: ; preds = %_llgo_42 %175 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %173, 0 %176 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %175, i64 1, 1 %177 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %176, i64 1, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %153, %"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 2 }, ptr %160, %"github.com/goplus/llgo/internal/runtime.Slice" %172, %"github.com/goplus/llgo/internal/runtime.Slice" %177) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %153, ptr %160, %"github.com/goplus/llgo/internal/runtime.Slice" %172, %"github.com/goplus/llgo/internal/runtime.Slice" %177) br label %_llgo_44 _llgo_44: ; preds = %_llgo_43, %_llgo_42 - %178 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 7 }, i64 17, i64 8, i64 1, i64 1) + %178 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 2 }, i64 17, i64 8, i64 1, i64 1) %179 = load ptr, ptr @"*_llgo_main.T4", align 8 %180 = icmp eq ptr %179, null br i1 %180, label %_llgo_45, label %_llgo_46 @@ -848,7 +841,7 @@ _llgo_45: ; preds = %_llgo_44 br label %_llgo_46 _llgo_46: ; preds = %_llgo_45, %_llgo_44 - %182 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 7 }, i64 25, i64 8, i64 1, i64 1) + %182 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 2 }, i64 25, i64 8, i64 1, i64 1) %183 = load ptr, ptr @_llgo_main.T5, align 8 %184 = icmp eq ptr %183, null br i1 %184, label %_llgo_47, label %_llgo_48 @@ -859,14 +852,14 @@ _llgo_47: ; preds = %_llgo_46 _llgo_48: ; preds = %_llgo_47, %_llgo_46 %185 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %186 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 1 }, ptr %185, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %186 = 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 1 }, ptr %185, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %187 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) %188 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %187, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %186, ptr %188, align 8 %189 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %187, 0 %190 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %189, i64 1, 1 %191 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %190, i64 1, 2 - %192 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %191) + %192 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %191) store ptr %192, ptr @"main.struct$eovYmOhZg4X0zMSsuscSshndnbbAGvB2E3cyG8E7Y4U", align 8 %193 = load ptr, ptr @"main.struct$eovYmOhZg4X0zMSsuscSshndnbbAGvB2E3cyG8E7Y4U", align 8 br i1 %184, label %_llgo_49, label %_llgo_50 @@ -891,11 +884,11 @@ _llgo_49: ; preds = %_llgo_48 %208 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %206, 0 %209 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %208, i64 1, 1 %210 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %209, i64 1, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %182, %"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 2 }, ptr %193, %"github.com/goplus/llgo/internal/runtime.Slice" %205, %"github.com/goplus/llgo/internal/runtime.Slice" %210) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %182, ptr %193, %"github.com/goplus/llgo/internal/runtime.Slice" %205, %"github.com/goplus/llgo/internal/runtime.Slice" %210) br label %_llgo_50 _llgo_50: ; preds = %_llgo_49, %_llgo_48 - %211 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 7 }, i64 25, i64 8, i64 1, i64 1) + %211 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 2 }, i64 25, i64 8, i64 1, i64 1) %212 = load ptr, ptr @"*_llgo_main.T5", align 8 %213 = icmp eq ptr %212, null br i1 %213, label %_llgo_51, label %_llgo_52 @@ -907,7 +900,7 @@ _llgo_51: ; preds = %_llgo_50 br label %_llgo_52 _llgo_52: ; preds = %_llgo_51, %_llgo_50 - %215 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, i64 25, i64 24, i64 1, i64 1) + %215 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 2 }, i64 25, i64 24, i64 1, i64 1) %216 = load ptr, ptr @_llgo_main.T6, align 8 %217 = icmp eq ptr %216, null br i1 %217, label %_llgo_53, label %_llgo_54 @@ -942,9 +935,9 @@ _llgo_56: ; preds = %_llgo_55, %_llgo_54 %231 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %230, i64 1, 1 %232 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %231, i64 1, 2 %233 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %227, %"github.com/goplus/llgo/internal/runtime.Slice" %232, i1 false) - %234 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 1 }, ptr %233, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %234 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 1 }, ptr %233, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %235 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %236 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 4 }, ptr %235, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %236 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %235, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %237 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) %238 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %237, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %234, ptr %238, align 8 @@ -953,7 +946,7 @@ _llgo_56: ; preds = %_llgo_55, %_llgo_54 %240 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %237, 0 %241 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %240, i64 2, 1 %242 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %241, i64 2, 2 - %243 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %242) + %243 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %242) store ptr %243, ptr @"main.struct$ShRx0rnZQIkym8zpNxljLHWZbDzaCdzDkVBTe78YZMw", align 8 %244 = load ptr, ptr @"main.struct$ShRx0rnZQIkym8zpNxljLHWZbDzaCdzDkVBTe78YZMw", align 8 br i1 %217, label %_llgo_57, label %_llgo_58 @@ -978,11 +971,11 @@ _llgo_57: ; preds = %_llgo_56 %259 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %257, 0 %260 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %259, i64 1, 1 %261 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %260, i64 1, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %215, %"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 2 }, ptr %244, %"github.com/goplus/llgo/internal/runtime.Slice" %256, %"github.com/goplus/llgo/internal/runtime.Slice" %261) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %215, ptr %244, %"github.com/goplus/llgo/internal/runtime.Slice" %256, %"github.com/goplus/llgo/internal/runtime.Slice" %261) br label %_llgo_58 _llgo_58: ; preds = %_llgo_57, %_llgo_56 - %262 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, i64 25, i64 24, i64 1, i64 1) + %262 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 2 }, i64 25, i64 24, i64 1, i64 1) %263 = load ptr, ptr @"*_llgo_main.T6", align 8 %264 = icmp eq ptr %263, null br i1 %264, label %_llgo_59, label %_llgo_60 @@ -1011,12 +1004,12 @@ _llgo_61: ; preds = %_llgo_60 %275 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %272, 0 %276 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %275, i64 2, 1 %277 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %276, i64 2, 2 - %278 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %277) + %278 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %277) store ptr %278, ptr @"_llgo_iface$jwmSdgh1zvY_TDIgLzCkvkbiyrdwl9N806DH0JGcyMI", align 8 br label %_llgo_62 _llgo_62: ; preds = %_llgo_61, %_llgo_60 - %279 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 6 }) + %279 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 1 }) %280 = load ptr, ptr @_llgo_main.I, align 8 %281 = icmp eq ptr %280, null br i1 %281, label %_llgo_63, label %_llgo_64 @@ -1050,7 +1043,7 @@ _llgo_67: ; preds = %_llgo_66 %292 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %291, 0 %293 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %292, i64 0, 1 %294 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %293, i64 0, 2 - %295 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %294) + %295 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %294) store ptr %295, ptr @_llgo_any, align 8 br label %_llgo_68 @@ -1058,7 +1051,7 @@ _llgo_68: ; preds = %_llgo_67, %_llgo_66 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) @@ -1068,7 +1061,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) diff --git a/cl/_testgo/reader/out.ll b/cl/_testgo/reader/out.ll index 3e098b700..57145f4d2 100644 --- a/cl/_testgo/reader/out.ll +++ b/cl/_testgo/reader/out.ll @@ -18,9 +18,9 @@ source_filename = "main" @"main.init$guard" = global i1 false, align 1 @_llgo_main.WriterTo = linkonce global ptr null, align 8 @0 = private unnamed_addr constant [4 x i8] c"main", align 1 -@1 = private unnamed_addr constant [13 x i8] c"main.WriterTo", align 1 +@1 = private unnamed_addr constant [8 x i8] c"WriterTo", align 1 @_llgo_main.Writer = linkonce global ptr null, align 8 -@2 = private unnamed_addr constant [11 x i8] c"main.Writer", align 1 +@2 = private unnamed_addr constant [6 x i8] c"Writer", align 1 @_llgo_byte = linkonce global ptr null, align 8 @"[]_llgo_byte" = linkonce global ptr null, align 8 @_llgo_int = linkonce global ptr null, align 8 @@ -36,67 +36,62 @@ source_filename = "main" @6 = private unnamed_addr constant [7 x i8] c"WriteTo", align 1 @"_llgo_iface$eN81k1zqixGTyagHw_4nqH4mGfwwehTOCTXUlbT9kzk" = linkonce global ptr null, align 8 @_llgo_main.nopCloserWriterTo = linkonce global ptr null, align 8 -@7 = private unnamed_addr constant [22 x i8] c"main.nopCloserWriterTo", align 1 +@7 = private unnamed_addr constant [17 x i8] c"nopCloserWriterTo", align 1 @_llgo_main.Reader = linkonce global ptr null, align 8 -@8 = private unnamed_addr constant [11 x i8] c"main.Reader", align 1 +@8 = private unnamed_addr constant [6 x i8] c"Reader", align 1 @9 = private unnamed_addr constant [4 x i8] c"Read", align 1 @"_llgo_struct$_3ow4zXXILqvC0WDqDRNq5DPhjE1DInJgN924VHWc2Y" = linkonce global ptr null, align 8 -@10 = private unnamed_addr constant [6 x i8] c"Reader", align 1 -@11 = private unnamed_addr constant [5 x i8] c"Close", align 1 +@10 = private unnamed_addr constant [5 x i8] c"Close", align 1 @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w" = linkonce global ptr null, align 8 -@12 = private unnamed_addr constant [17 x i8] c"nopCloserWriterTo", align 1 @"_llgo_iface$L2Ik-AJcd0jsoBw5fQ07pQpfUM-kh78Wn2bOeak6M3I" = linkonce global ptr null, align 8 @_llgo_main.nopCloser = linkonce global ptr null, align 8 -@13 = private unnamed_addr constant [14 x i8] c"main.nopCloser", align 1 -@14 = private unnamed_addr constant [9 x i8] c"nopCloser", align 1 +@11 = private unnamed_addr constant [9 x i8] c"nopCloser", align 1 @_llgo_main.StringWriter = linkonce global ptr null, align 8 -@15 = private unnamed_addr constant [17 x i8] c"main.StringWriter", align 1 +@12 = private unnamed_addr constant [12 x i8] c"StringWriter", align 1 @"_llgo_func$thH5FBpdXzJNnCpSfiLU5ItTntFU6LWp0RJhDm2XJjw" = linkonce global ptr null, align 8 -@16 = private unnamed_addr constant [11 x i8] c"WriteString", align 1 +@13 = private unnamed_addr constant [11 x i8] c"WriteString", align 1 @"_llgo_iface$Ly4zXiUMEac-hYAMw6b6miJ1JEhGfLyBWyBOhpsRZcU" = linkonce global ptr null, align 8 -@17 = private unnamed_addr constant [3 x i8] c"EOF", align 1 -@18 = private unnamed_addr constant [11 x i8] c"short write", align 1 +@14 = private unnamed_addr constant [3 x i8] c"EOF", align 1 +@15 = private unnamed_addr constant [11 x i8] c"short write", align 1 @__llgo_argc = global i32 0, align 4 @__llgo_argv = global ptr null, align 8 -@19 = private unnamed_addr constant [11 x i8] c"hello world", align 1 +@16 = private unnamed_addr constant [11 x i8] c"hello world", align 1 @_llgo_main.stringReader = linkonce global ptr null, align 8 -@20 = private unnamed_addr constant [17 x i8] c"main.stringReader", align 1 +@17 = private unnamed_addr constant [12 x i8] c"stringReader", align 1 @"main.struct$Mdt84yjYYwxF9D2i4cRmpEPiWaO6tsjtrbGUjyESypk" = linkonce global ptr null, align 8 -@21 = private unnamed_addr constant [1 x i8] c"s", align 1 -@22 = private unnamed_addr constant [1 x i8] c"i", align 1 -@23 = private unnamed_addr constant [8 x i8] c"prevRune", align 1 -@24 = private unnamed_addr constant [3 x i8] c"Len", align 1 +@18 = private unnamed_addr constant [1 x i8] c"s", align 1 +@19 = private unnamed_addr constant [1 x i8] c"i", align 1 +@20 = private unnamed_addr constant [8 x i8] c"prevRune", align 1 +@21 = private unnamed_addr constant [3 x i8] c"Len", align 1 @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA" = linkonce global ptr null, align 8 -@25 = private unnamed_addr constant [6 x i8] c"ReadAt", align 1 +@22 = private unnamed_addr constant [6 x i8] c"ReadAt", align 1 @"_llgo_func$TY5Etv7VBKM_-2um1BDEeQEE2lP06Pt6G54EuKiNC3c" = linkonce global ptr null, align 8 -@26 = private unnamed_addr constant [8 x i8] c"ReadByte", align 1 +@23 = private unnamed_addr constant [8 x i8] c"ReadByte", align 1 @"_llgo_func$6bvVpCcGPUc3z_EmsQTHB0AVT1hP5-NNLVRgm43teCM" = linkonce global ptr null, align 8 -@27 = private unnamed_addr constant [8 x i8] c"ReadRune", align 1 +@24 = private unnamed_addr constant [8 x i8] c"ReadRune", align 1 @_llgo_rune = linkonce global ptr null, align 8 @"_llgo_func$CB0CO6hV_feSzhi4pz1P4omza2fKNK930wvOR1T33fU" = linkonce global ptr null, align 8 -@28 = private unnamed_addr constant [4 x i8] c"Seek", align 1 +@25 = private unnamed_addr constant [4 x i8] c"Seek", align 1 @"_llgo_func$HE7H49xPa1uXmrkMDpqB3RCRGf3qzhLGrxKCEXOYjms" = linkonce global ptr null, align 8 -@29 = private unnamed_addr constant [4 x i8] c"Size", align 1 +@26 = private unnamed_addr constant [4 x i8] c"Size", align 1 @"_llgo_func$Eoig9xhJM5GShHH5aNPxTZZXp1IZxprRl4zPuv2hkug" = linkonce global ptr null, align 8 -@30 = private unnamed_addr constant [10 x i8] c"UnreadByte", align 1 -@31 = private unnamed_addr constant [10 x i8] c"UnreadRune", align 1 -@32 = private unnamed_addr constant [12 x i8] c"stringReader", align 1 +@27 = private unnamed_addr constant [10 x i8] c"UnreadByte", align 1 +@28 = private unnamed_addr constant [10 x i8] c"UnreadRune", align 1 @"*_llgo_main.stringReader" = linkonce global ptr null, align 8 @"_llgo_iface$OFO8Us9n8ajWCabGedeuoJ-Za2zAMk4Jh0FunAcUCFE" = linkonce global ptr null, align 8 @_llgo_main.errorString = linkonce global ptr null, align 8 -@33 = private unnamed_addr constant [16 x i8] c"main.errorString", align 1 +@29 = private unnamed_addr constant [11 x i8] c"errorString", align 1 @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ" = linkonce global ptr null, align 8 -@34 = private unnamed_addr constant [11 x i8] c"errorString", align 1 @"*_llgo_main.errorString" = linkonce global ptr null, align 8 @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU" = linkonce global ptr null, align 8 -@35 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 -@36 = private unnamed_addr constant [37 x i8] c"stringsReader.ReadAt: negative offset", align 1 -@37 = private unnamed_addr constant [34 x i8] c"stringsReader.Seek: invalid whence", align 1 -@38 = private unnamed_addr constant [37 x i8] c"stringsReader.Seek: negative position", align 1 -@39 = private unnamed_addr constant [48 x i8] c"stringsReader.UnreadByte: at beginning of string", align 1 -@40 = private unnamed_addr constant [49 x i8] c"strings.Reader.UnreadRune: at beginning of string", align 1 -@41 = private unnamed_addr constant [62 x i8] c"strings.Reader.UnreadRune: previous operation was not ReadRune", align 1 -@42 = private unnamed_addr constant [48 x i8] c"stringsReader.WriteTo: invalid WriteString count", align 1 +@30 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 +@31 = private unnamed_addr constant [37 x i8] c"stringsReader.ReadAt: negative offset", align 1 +@32 = private unnamed_addr constant [34 x i8] c"stringsReader.Seek: invalid whence", align 1 +@33 = private unnamed_addr constant [37 x i8] c"stringsReader.Seek: negative position", align 1 +@34 = private unnamed_addr constant [48 x i8] c"stringsReader.UnreadByte: at beginning of string", align 1 +@35 = private unnamed_addr constant [49 x i8] c"strings.Reader.UnreadRune: at beginning of string", align 1 +@36 = private unnamed_addr constant [62 x i8] c"strings.Reader.UnreadRune: previous operation was not ReadRune", align 1 +@37 = private unnamed_addr constant [48 x i8] c"stringsReader.WriteTo: invalid WriteString count", align 1 define %"github.com/goplus/llgo/internal/runtime.iface" @main.NopCloser(%"github.com/goplus/llgo/internal/runtime.iface" %0) { _llgo_0: @@ -317,9 +312,9 @@ _llgo_1: ; preds = %_llgo_0 store i1 true, ptr @"main.init$guard", align 1 call void @"unicode/utf8.init"() call void @"main.init$after"() - %1 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.newError(%"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 3 }) + %1 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.newError(%"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 3 }) store %"github.com/goplus/llgo/internal/runtime.iface" %1, ptr @main.EOF, align 8 - %2 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.newError(%"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 11 }) + %2 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.newError(%"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 11 }) store %"github.com/goplus/llgo/internal/runtime.iface" %2, ptr @main.ErrShortWrite, align 8 br label %_llgo_2 @@ -335,7 +330,7 @@ _llgo_0: call void @main.init() %2 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 32) %3 = getelementptr inbounds %main.stringReader, ptr %2, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 11 }, ptr %3, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 11 }, ptr %3, align 8 %4 = load ptr, ptr @_llgo_main.stringReader, align 8 %5 = load ptr, ptr @"*_llgo_main.stringReader", align 8 %6 = load ptr, ptr @"_llgo_iface$OFO8Us9n8ajWCabGedeuoJ-Za2zAMk4Jh0FunAcUCFE", align 8 @@ -486,7 +481,7 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_0 %26 = load ptr, ptr @_llgo_string, align 8 %27 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 21 }, ptr %27, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 21 }, ptr %27, align 8 %28 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %26, 0 %29 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %28, ptr %27, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %29) @@ -597,7 +592,7 @@ _llgo_0: br i1 %3, label %_llgo_1, label %_llgo_2 _llgo_1: ; preds = %_llgo_0 - %4 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.newError(%"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 37 }) + %4 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.newError(%"github.com/goplus/llgo/internal/runtime.String" { ptr @31, i64 37 }) %5 = insertvalue { i64, %"github.com/goplus/llgo/internal/runtime.iface" } { i64 0, %"github.com/goplus/llgo/internal/runtime.iface" undef }, %"github.com/goplus/llgo/internal/runtime.iface" %4, 1 ret { i64, %"github.com/goplus/llgo/internal/runtime.iface" } %5 @@ -783,12 +778,12 @@ _llgo_6: ; preds = %_llgo_4 br i1 %15, label %_llgo_5, label %_llgo_7 _llgo_7: ; preds = %_llgo_6 - %16 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.newError(%"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 34 }) + %16 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.newError(%"github.com/goplus/llgo/internal/runtime.String" { ptr @32, i64 34 }) %17 = insertvalue { i64, %"github.com/goplus/llgo/internal/runtime.iface" } { i64 0, %"github.com/goplus/llgo/internal/runtime.iface" undef }, %"github.com/goplus/llgo/internal/runtime.iface" %16, 1 ret { i64, %"github.com/goplus/llgo/internal/runtime.iface" } %17 _llgo_8: ; preds = %_llgo_1 - %18 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.newError(%"github.com/goplus/llgo/internal/runtime.String" { ptr @38, i64 37 }) + %18 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.newError(%"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 37 }) %19 = insertvalue { i64, %"github.com/goplus/llgo/internal/runtime.iface" } { i64 0, %"github.com/goplus/llgo/internal/runtime.iface" undef }, %"github.com/goplus/llgo/internal/runtime.iface" %18, 1 ret { i64, %"github.com/goplus/llgo/internal/runtime.iface" } %19 @@ -816,7 +811,7 @@ _llgo_0: br i1 %3, label %_llgo_1, label %_llgo_2 _llgo_1: ; preds = %_llgo_0 - %4 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.newError(%"github.com/goplus/llgo/internal/runtime.String" { ptr @39, i64 48 }) + %4 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.newError(%"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 48 }) ret %"github.com/goplus/llgo/internal/runtime.iface" %4 _llgo_2: ; preds = %_llgo_0 @@ -838,7 +833,7 @@ _llgo_0: br i1 %3, label %_llgo_1, label %_llgo_2 _llgo_1: ; preds = %_llgo_0 - %4 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.newError(%"github.com/goplus/llgo/internal/runtime.String" { ptr @40, i64 49 }) + %4 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.newError(%"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 49 }) ret %"github.com/goplus/llgo/internal/runtime.iface" %4 _llgo_2: ; preds = %_llgo_0 @@ -848,7 +843,7 @@ _llgo_2: ; preds = %_llgo_0 br i1 %7, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 - %8 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.newError(%"github.com/goplus/llgo/internal/runtime.String" { ptr @41, i64 62 }) + %8 = call %"github.com/goplus/llgo/internal/runtime.iface" @main.newError(%"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 62 }) ret %"github.com/goplus/llgo/internal/runtime.iface" %8 _llgo_4: ; preds = %_llgo_2 @@ -893,7 +888,7 @@ _llgo_2: ; preds = %_llgo_0 _llgo_3: ; preds = %_llgo_2 %20 = load ptr, ptr @_llgo_string, align 8 %21 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @42, i64 48 }, ptr %21, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 48 }, ptr %21, align 8 %22 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %20, 0 %23 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %22, ptr %21, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %23) @@ -935,7 +930,7 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.IfaceType"(%"github.com/go define void @"main.init$after"() { _llgo_0: - %0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 13 }) + %0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 8 }) %1 = load ptr, ptr @_llgo_main.WriterTo, align 8 %2 = icmp eq ptr %1, null br i1 %2, label %_llgo_1, label %_llgo_2 @@ -945,7 +940,7 @@ _llgo_1: ; preds = %_llgo_0 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 - %3 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 11 }) + %3 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 6 }) %4 = load ptr, ptr @_llgo_main.Writer, align 8 %5 = icmp eq ptr %4, null br i1 %5, label %_llgo_3, label %_llgo_4 @@ -1164,9 +1159,9 @@ _llgo_29: ; preds = %_llgo_28 br label %_llgo_30 _llgo_30: ; preds = %_llgo_29, %_llgo_28 - %110 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 22 }, i64 25, i64 16, i64 3, i64 3) + %110 = 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 @7, i64 17 }, i64 25, i64 16, i64 3, i64 3) store ptr %110, ptr @_llgo_main.nopCloserWriterTo, align 8 - %111 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 11 }) + %111 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 6 }) %112 = load ptr, ptr @_llgo_main.Reader, align 8 %113 = icmp eq ptr %112, null br i1 %113, label %_llgo_31, label %_llgo_32 @@ -1193,13 +1188,13 @@ _llgo_33: ; preds = %_llgo_32 _llgo_34: ; preds = %_llgo_33, %_llgo_32 %122 = load ptr, ptr @_llgo_main.Reader, align 8 - %123 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 11 }) + %123 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 6 }) %124 = load ptr, ptr @"_llgo_struct$_3ow4zXXILqvC0WDqDRNq5DPhjE1DInJgN924VHWc2Y", align 8 %125 = icmp eq ptr %124, null br i1 %125, label %_llgo_35, label %_llgo_36 _llgo_35: ; preds = %_llgo_34 - %126 = 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 6 }, ptr %123, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) + %126 = 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 6 }, ptr %123, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) %127 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) %128 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %127, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %126, ptr %128, align 8 @@ -1235,10 +1230,10 @@ _llgo_37: ; preds = %_llgo_36 _llgo_38: ; preds = %_llgo_37, %_llgo_36 %147 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 - %148 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %147, 1 + %148 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %147, 1 %149 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %148, ptr @"main.(*nopCloserWriterTo).Close", 2 %150 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %149, ptr @"main.(*nopCloserWriterTo).Close", 3 - %151 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %147, 1 + %151 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %147, 1 %152 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %151, ptr @"main.(*nopCloserWriterTo).Close", 2 %153 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %152, ptr @main.nopCloserWriterTo.Close, 3 %154 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 @@ -1275,7 +1270,7 @@ _llgo_38: ; preds = %_llgo_37, %_llgo_36 %179 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %175, 0 %180 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %179, i64 3, 1 %181 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %180, i64 3, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %110, %"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 17 }, ptr %133, %"github.com/goplus/llgo/internal/runtime.Slice" %174, %"github.com/goplus/llgo/internal/runtime.Slice" %181) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %110, ptr %133, %"github.com/goplus/llgo/internal/runtime.Slice" %174, %"github.com/goplus/llgo/internal/runtime.Slice" %181) %182 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 %183 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 %184 = load ptr, ptr @"_llgo_iface$L2Ik-AJcd0jsoBw5fQ07pQpfUM-kh78Wn2bOeak6M3I", align 8 @@ -1283,7 +1278,7 @@ _llgo_38: ; preds = %_llgo_37, %_llgo_36 br i1 %185, label %_llgo_39, label %_llgo_40 _llgo_39: ; preds = %_llgo_38 - %186 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 5 }, ptr undef }, ptr %182, 1 + %186 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 5 }, ptr undef }, ptr %182, 1 %187 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 4 }, ptr undef }, ptr %183, 1 %188 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48) %189 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %188, i64 0 @@ -1298,14 +1293,14 @@ _llgo_39: ; preds = %_llgo_38 br label %_llgo_40 _llgo_40: ; preds = %_llgo_39, %_llgo_38 - %195 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 14 }, i64 25, i64 16, i64 2, i64 2) + %195 = 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 @11, i64 9 }, i64 25, i64 16, i64 2, i64 2) store ptr %195, ptr @_llgo_main.nopCloser, align 8 %196 = load ptr, ptr @"_llgo_struct$_3ow4zXXILqvC0WDqDRNq5DPhjE1DInJgN924VHWc2Y", align 8 %197 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 - %198 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %197, 1 + %198 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %197, 1 %199 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %198, ptr @"main.(*nopCloser).Close", 2 %200 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %199, ptr @"main.(*nopCloser).Close", 3 - %201 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %197, 1 + %201 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %197, 1 %202 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %201, ptr @"main.(*nopCloser).Close", 2 %203 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %202, ptr @main.nopCloser.Close, 3 %204 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 @@ -1331,8 +1326,8 @@ _llgo_40: ; preds = %_llgo_39, %_llgo_38 %220 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %217, 0 %221 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %220, i64 2, 1 %222 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %221, i64 2, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %195, %"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 9 }, ptr %196, %"github.com/goplus/llgo/internal/runtime.Slice" %216, %"github.com/goplus/llgo/internal/runtime.Slice" %222) - %223 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 17 }) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %195, ptr %196, %"github.com/goplus/llgo/internal/runtime.Slice" %216, %"github.com/goplus/llgo/internal/runtime.Slice" %222) + %223 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 12 }) %224 = load ptr, ptr @_llgo_main.StringWriter, align 8 %225 = icmp eq ptr %224, null br i1 %225, label %_llgo_41, label %_llgo_42 @@ -1374,7 +1369,7 @@ _llgo_44: ; preds = %_llgo_43, %_llgo_42 br i1 %225, label %_llgo_45, label %_llgo_46 _llgo_45: ; preds = %_llgo_44 - %244 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 11 }, ptr undef }, ptr %243, 1 + %244 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 11 }, ptr undef }, ptr %243, 1 %245 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) %246 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %245, i64 0 store %"github.com/goplus/llgo/internal/abi.Imethod" %244, ptr %246, align 8 @@ -1391,7 +1386,7 @@ _llgo_46: ; preds = %_llgo_45, %_llgo_44 br i1 %252, label %_llgo_47, label %_llgo_48 _llgo_47: ; preds = %_llgo_46 - %253 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 11 }, ptr undef }, ptr %250, 1 + %253 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 11 }, ptr undef }, ptr %250, 1 %254 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) %255 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %254, i64 0 store %"github.com/goplus/llgo/internal/abi.Imethod" %253, ptr %255, align 8 @@ -1403,14 +1398,14 @@ _llgo_47: ; preds = %_llgo_46 br label %_llgo_48 _llgo_48: ; preds = %_llgo_47, %_llgo_46 - %260 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 17 }, i64 25, i64 32, i64 0, i64 10) + %260 = 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 @17, i64 12 }, i64 25, i64 32, i64 0, i64 10) store ptr %260, ptr @_llgo_main.stringReader, align 8 %261 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %262 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 1 }, ptr %261, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %262 = 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 1 }, ptr %261, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %263 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 38) - %264 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 1 }, ptr %263, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %264 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 1 }, ptr %263, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %265 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %266 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 8 }, ptr %265, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %266 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 8 }, ptr %265, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %267 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) %268 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %267, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %262, ptr %268, align 8 @@ -1447,7 +1442,7 @@ _llgo_49: ; preds = %_llgo_48 _llgo_50: ; preds = %_llgo_49, %_llgo_48 %289 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %290 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %289, 1 + %290 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %289, 1 %291 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %290, ptr @"main.(*stringReader).Len", 2 %292 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %291, ptr @"main.(*stringReader).Len", 3 %293 = load ptr, ptr @"[]_llgo_byte", align 8 @@ -1488,7 +1483,7 @@ _llgo_51: ; preds = %_llgo_50 _llgo_52: ; preds = %_llgo_51, %_llgo_50 %318 = load ptr, ptr @"_llgo_func$TY5Etv7VBKM_-2um1BDEeQEE2lP06Pt6G54EuKiNC3c", align 8 - %319 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %318, 1 + %319 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %318, 1 %320 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %319, ptr @"main.(*stringReader).ReadAt", 2 %321 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %320, ptr @"main.(*stringReader).ReadAt", 3 %322 = load ptr, ptr @_llgo_byte, align 8 @@ -1517,7 +1512,7 @@ _llgo_53: ; preds = %_llgo_52 _llgo_54: ; preds = %_llgo_53, %_llgo_52 %337 = load ptr, ptr @"_llgo_func$6bvVpCcGPUc3z_EmsQTHB0AVT1hP5-NNLVRgm43teCM", align 8 - %338 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %337, 1 + %338 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %337, 1 %339 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %338, ptr @"main.(*stringReader).ReadByte", 2 %340 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %339, ptr @"main.(*stringReader).ReadByte", 3 %341 = load ptr, ptr @_llgo_rune, align 8 @@ -1560,7 +1555,7 @@ _llgo_57: ; preds = %_llgo_56 _llgo_58: ; preds = %_llgo_57, %_llgo_56 %362 = load ptr, ptr @"_llgo_func$CB0CO6hV_feSzhi4pz1P4omza2fKNK930wvOR1T33fU", align 8 - %363 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %362, 1 + %363 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %362, 1 %364 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %363, ptr @"main.(*stringReader).ReadRune", 2 %365 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %364, ptr @"main.(*stringReader).ReadRune", 3 %366 = load ptr, ptr @_llgo_int64, align 8 @@ -1595,7 +1590,7 @@ _llgo_59: ; preds = %_llgo_58 _llgo_60: ; preds = %_llgo_59, %_llgo_58 %385 = load ptr, ptr @"_llgo_func$HE7H49xPa1uXmrkMDpqB3RCRGf3qzhLGrxKCEXOYjms", align 8 - %386 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %385, 1 + %386 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %385, 1 %387 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %386, ptr @"main.(*stringReader).Seek", 2 %388 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %387, ptr @"main.(*stringReader).Seek", 3 %389 = load ptr, ptr @_llgo_int64, align 8 @@ -1621,15 +1616,15 @@ _llgo_61: ; preds = %_llgo_60 _llgo_62: ; preds = %_llgo_61, %_llgo_60 %402 = load ptr, ptr @"_llgo_func$Eoig9xhJM5GShHH5aNPxTZZXp1IZxprRl4zPuv2hkug", align 8 - %403 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @29, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %402, 1 + %403 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %402, 1 %404 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %403, ptr @"main.(*stringReader).Size", 2 %405 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %404, ptr @"main.(*stringReader).Size", 3 %406 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 - %407 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %406, 1 + %407 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %406, 1 %408 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %407, ptr @"main.(*stringReader).UnreadByte", 2 %409 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %408, ptr @"main.(*stringReader).UnreadByte", 3 %410 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 - %411 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @31, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %410, 1 + %411 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %410, 1 %412 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %411, ptr @"main.(*stringReader).UnreadRune", 2 %413 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %412, ptr @"main.(*stringReader).UnreadRune", 3 %414 = load ptr, ptr @"_llgo_func$MrYxYl10p_I07B55pBsGw9la9zbzU2vGDPLWrT714Uk", align 8 @@ -1660,8 +1655,8 @@ _llgo_62: ; preds = %_llgo_61, %_llgo_60 %429 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %418, 0 %430 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %429, i64 10, 1 %431 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %430, i64 10, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %260, %"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @32, i64 12 }, ptr %275, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %431) - %432 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 17 }, i64 25, i64 32, i64 0, i64 10) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %260, ptr %275, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %431) + %432 = 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 @17, i64 12 }, i64 25, i64 32, i64 0, i64 10) %433 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %432) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %433) store ptr %433, ptr @"*_llgo_main.stringReader", align 8 @@ -1683,10 +1678,10 @@ _llgo_63: ; preds = %_llgo_62 br label %_llgo_64 _llgo_64: ; preds = %_llgo_63, %_llgo_62 - %444 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 16 }, i64 25, i64 16, i64 0, i64 1) + %444 = 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 @29, i64 11 }, i64 25, i64 16, i64 0, i64 1) store ptr %444, ptr @_llgo_main.errorString, align 8 %445 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %446 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 1 }, ptr %445, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %446 = 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 1 }, ptr %445, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %447 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) %448 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %447, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %446, ptr %448, align 8 @@ -1706,8 +1701,8 @@ _llgo_64: ; preds = %_llgo_63, %_llgo_62 %460 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %458, 0 %461 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %460, i64 1, 1 %462 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %461, i64 1, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %444, %"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 11 }, ptr %453, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %462) - %463 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 16 }, i64 25, i64 16, i64 0, i64 1) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %444, ptr %453, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %462) + %463 = 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 @29, i64 11 }, i64 25, i64 16, i64 0, i64 1) %464 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %463) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %464) store ptr %464, ptr @"*_llgo_main.errorString", align 8 @@ -1755,13 +1750,13 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr, ptr) ; 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 ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String", i64, %"github.com/goplus/llgo/internal/runtime.Slice") 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.AllocZ"(i64) diff --git a/cl/_testgo/reflect/out.ll b/cl/_testgo/reflect/out.ll index dc4f4a833..36b0b9a1b 100644 --- a/cl/_testgo/reflect/out.ll +++ b/cl/_testgo/reflect/out.ll @@ -27,34 +27,33 @@ source_filename = "main" @7 = private unnamed_addr constant [4 x i8] c"func", align 1 @8 = private unnamed_addr constant [9 x i8] c"call.func", align 1 @_llgo_main.T = linkonce global ptr null, align 8 -@9 = private unnamed_addr constant [6 x i8] c"main.T", align 1 +@9 = private unnamed_addr constant [1 x i8] c"T", align 1 @"main.struct$eovYmOhZg4X0zMSsuscSshndnbbAGvB2E3cyG8E7Y4U" = linkonce global ptr null, align 8 @10 = private unnamed_addr constant [1 x i8] c"n", align 1 @11 = private unnamed_addr constant [3 x i8] c"Add", align 1 -@12 = private unnamed_addr constant [1 x i8] c"T", align 1 @"*_llgo_main.T" = linkonce global ptr null, align 8 @"_llgo_iface$VdBKYV8-gcMjZtZfcf-u2oKoj9Lu3VXwuG8TGCW2S4A" = linkonce global ptr null, align 8 -@13 = private unnamed_addr constant [7 x i8] c"imethod", align 1 -@14 = private unnamed_addr constant [6 x i8] c"method", align 1 +@12 = private unnamed_addr constant [7 x i8] c"imethod", align 1 +@13 = private unnamed_addr constant [6 x i8] c"method", align 1 @_llgo_any = linkonce global ptr null, align 8 @"[]_llgo_any" = linkonce global ptr null, align 8 @"_llgo_func$KK0iU4Wpi3BdRqssvycXqtgNe2Dq1riBlM61Rds1QsU" = linkonce global ptr null, align 8 @"main.struct$zCLFE3aa581X7nuJztqlq4JjJDbHkfoMY0CexWOzH8A" = linkonce global ptr null, align 8 -@15 = private unnamed_addr constant [10 x i8] c"call.slice", align 1 -@16 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 +@14 = private unnamed_addr constant [10 x i8] c"call.slice", align 1 +@15 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 @__llgo_argc = global i32 0, align 4 @__llgo_argv = global ptr null, align 8 @"map[_llgo_int]_llgo_string" = linkonce global ptr null, align 8 -@17 = private unnamed_addr constant [7 x i8] c"topbits", align 1 -@18 = private unnamed_addr constant [4 x i8] c"keys", align 1 -@19 = private unnamed_addr constant [5 x i8] c"elems", align 1 -@20 = private unnamed_addr constant [8 x i8] c"overflow", align 1 -@21 = private unnamed_addr constant [5 x i8] c"hello", align 1 -@22 = private unnamed_addr constant [5 x i8] c"world", align 1 -@23 = private unnamed_addr constant [14 x i8] c"MapIndex error", align 1 -@24 = private unnamed_addr constant [4 x i8] c"todo", align 1 -@25 = private unnamed_addr constant [12 x i8] c"must invalid", align 1 -@26 = private unnamed_addr constant [13 x i8] c"MapIter error", align 1 +@16 = private unnamed_addr constant [7 x i8] c"topbits", align 1 +@17 = private unnamed_addr constant [4 x i8] c"keys", align 1 +@18 = private unnamed_addr constant [5 x i8] c"elems", align 1 +@19 = private unnamed_addr constant [8 x i8] c"overflow", align 1 +@20 = private unnamed_addr constant [5 x i8] c"hello", align 1 +@21 = private unnamed_addr constant [5 x i8] c"world", align 1 +@22 = private unnamed_addr constant [14 x i8] c"MapIndex error", align 1 +@23 = private unnamed_addr constant [4 x i8] c"todo", align 1 +@24 = private unnamed_addr constant [12 x i8] c"must invalid", align 1 +@25 = private unnamed_addr constant [13 x i8] c"MapIter error", align 1 define i64 @"main.(*T).Add"(ptr %0, i64 %1) { _llgo_0: @@ -296,7 +295,7 @@ _llgo_0: %23 = extractvalue { ptr, ptr } %22, 1 %24 = extractvalue { ptr, ptr } %22, 0 %25 = call %"github.com/goplus/llgo/internal/runtime.String" %24(ptr %23) - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 7 }) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 7 }) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) call void @"github.com/goplus/llgo/internal/runtime.PrintUint"(i64 %15) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) @@ -368,7 +367,7 @@ _llgo_0: %15 = extractvalue { ptr, ptr } %14, 1 %16 = extractvalue { ptr, ptr } %14, 0 %17 = call %"github.com/goplus/llgo/internal/runtime.String" %16(ptr %15) - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 6 }) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 6 }) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) call void @"github.com/goplus/llgo/internal/runtime.PrintUint"(i64 %7) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) @@ -490,7 +489,7 @@ _llgo_0: %50 = getelementptr inbounds %reflect.Value, ptr %47, i64 1 %51 = load %reflect.Value, ptr %50, align 8 %52 = call i64 @reflect.Value.Int(%reflect.Value %51) - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 10 }) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 10 }) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %46) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) @@ -560,7 +559,7 @@ _llgo_0: %98 = getelementptr inbounds %reflect.Value, ptr %95, i64 1 %99 = load %reflect.Value, ptr %98, align 8 %100 = call i64 @reflect.Value.Int(%reflect.Value %99) - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 10 }) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 10 }) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %94) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) @@ -617,7 +616,7 @@ _llgo_4: ; preds = %_llgo_2 _llgo_5: ; preds = %_llgo_2 %38 = load ptr, ptr @_llgo_string, align 8 %39 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 21 }, ptr %39, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 21 }, ptr %39, align 8 %40 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %38, 0 %41 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %40, ptr %39, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %41) @@ -663,12 +662,12 @@ _llgo_0: %3 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) store i64 1, ptr %3, align 4 %4 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %2, ptr %1, ptr %3) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 5 }, ptr %4, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 5 }, ptr %4, align 8 %5 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 %6 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) store i64 2, ptr %6, align 4 %7 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %5, ptr %1, ptr %6) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 5 }, ptr %7, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 5 }, ptr %7, align 8 %8 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 %9 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %8, 0 %10 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %9, ptr %1, 1 @@ -693,7 +692,7 @@ _llgo_2: ; preds = %_llgo_3 %21 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %20) %22 = call %reflect.Value @reflect.Value.MapIndex(%reflect.Value %11, %reflect.Value %21) %23 = call %"github.com/goplus/llgo/internal/runtime.String" @reflect.Value.String(%reflect.Value %22) - %24 = call i1 @"github.com/goplus/llgo/internal/runtime.StringEqual"(%"github.com/goplus/llgo/internal/runtime.String" %23, %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 5 }) + %24 = call i1 @"github.com/goplus/llgo/internal/runtime.StringEqual"(%"github.com/goplus/llgo/internal/runtime.String" %23, %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 5 }) %25 = xor i1 %24, true br i1 %25, label %_llgo_4, label %_llgo_5 @@ -706,7 +705,7 @@ _llgo_3: ; preds = %_llgo_0 _llgo_4: ; preds = %_llgo_2 %29 = load ptr, ptr @_llgo_string, align 8 %30 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 14 }, ptr %30, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 14 }, ptr %30, align 8 %31 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %29, 0 %32 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %31, ptr %30, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %32) @@ -719,7 +718,7 @@ _llgo_5: ; preds = %_llgo_2 %36 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %35) %37 = load ptr, ptr @_llgo_string, align 8 %38 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 4 }, ptr %38, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 4 }, ptr %38, align 8 %39 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %37, 0 %40 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %39, ptr %38, 1 %41 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %40) @@ -730,14 +729,14 @@ _llgo_5: ; preds = %_llgo_2 %45 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %44) %46 = call %reflect.Value @reflect.Value.MapIndex(%reflect.Value %11, %reflect.Value %45) %47 = call %"github.com/goplus/llgo/internal/runtime.String" @reflect.Value.String(%reflect.Value %46) - %48 = call i1 @"github.com/goplus/llgo/internal/runtime.StringEqual"(%"github.com/goplus/llgo/internal/runtime.String" %47, %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 4 }) + %48 = call i1 @"github.com/goplus/llgo/internal/runtime.StringEqual"(%"github.com/goplus/llgo/internal/runtime.String" %47, %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 4 }) %49 = xor i1 %48, true br i1 %49, label %_llgo_6, label %_llgo_7 _llgo_6: ; preds = %_llgo_5 %50 = load ptr, ptr @_llgo_string, align 8 %51 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 14 }, ptr %51, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 14 }, ptr %51, align 8 %52 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %50, 0 %53 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %52, ptr %51, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %53) @@ -753,7 +752,7 @@ _llgo_7: ; preds = %_llgo_5 br i1 %59, label %_llgo_8, label %_llgo_9 _llgo_8: ; preds = %_llgo_7 - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 12 }) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 12 }) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) br label %_llgo_9 @@ -804,7 +803,7 @@ _llgo_12: ; preds = %_llgo_14, %_llgo_9 _llgo_13: ; preds = %_llgo_14, %_llgo_10 %90 = load ptr, ptr @_llgo_string, align 8 %91 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 13 }, ptr %91, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 13 }, ptr %91, align 8 %92 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %90, 0 %93 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %92, ptr %91, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %93) @@ -839,7 +838,7 @@ _llgo_0: %14 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %13) %15 = load ptr, ptr @_llgo_string, align 8 %16 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 5 }, ptr %16, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 5 }, ptr %16, align 8 %17 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %15, 0 %18 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %17, ptr %16, 1 %19 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %18) @@ -850,7 +849,7 @@ _llgo_0: %23 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %22) %24 = load ptr, ptr @_llgo_string, align 8 %25 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 5 }, ptr %25, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 5 }, ptr %25, align 8 %26 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %24, 0 %27 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %26, ptr %25, 1 %28 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %27) @@ -875,7 +874,7 @@ _llgo_2: ; preds = %_llgo_3 %38 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %37) %39 = call %reflect.Value @reflect.Value.MapIndex(%reflect.Value %10, %reflect.Value %38) %40 = call %"github.com/goplus/llgo/internal/runtime.String" @reflect.Value.String(%reflect.Value %39) - %41 = call i1 @"github.com/goplus/llgo/internal/runtime.StringEqual"(%"github.com/goplus/llgo/internal/runtime.String" %40, %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 5 }) + %41 = call i1 @"github.com/goplus/llgo/internal/runtime.StringEqual"(%"github.com/goplus/llgo/internal/runtime.String" %40, %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 5 }) %42 = xor i1 %41, true br i1 %42, label %_llgo_4, label %_llgo_5 @@ -888,7 +887,7 @@ _llgo_3: ; preds = %_llgo_0 _llgo_4: ; preds = %_llgo_2 %46 = load ptr, ptr @_llgo_string, align 8 %47 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 14 }, ptr %47, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 14 }, ptr %47, align 8 %48 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %46, 0 %49 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %48, ptr %47, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %49) @@ -901,7 +900,7 @@ _llgo_5: ; preds = %_llgo_2 %53 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %52) %54 = load ptr, ptr @_llgo_string, align 8 %55 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 4 }, ptr %55, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 4 }, ptr %55, align 8 %56 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %54, 0 %57 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %56, ptr %55, 1 %58 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %57) @@ -912,14 +911,14 @@ _llgo_5: ; preds = %_llgo_2 %62 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %61) %63 = call %reflect.Value @reflect.Value.MapIndex(%reflect.Value %10, %reflect.Value %62) %64 = call %"github.com/goplus/llgo/internal/runtime.String" @reflect.Value.String(%reflect.Value %63) - %65 = call i1 @"github.com/goplus/llgo/internal/runtime.StringEqual"(%"github.com/goplus/llgo/internal/runtime.String" %64, %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 4 }) + %65 = call i1 @"github.com/goplus/llgo/internal/runtime.StringEqual"(%"github.com/goplus/llgo/internal/runtime.String" %64, %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 4 }) %66 = xor i1 %65, true br i1 %66, label %_llgo_6, label %_llgo_7 _llgo_6: ; preds = %_llgo_5 %67 = load ptr, ptr @_llgo_string, align 8 %68 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 14 }, ptr %68, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 14 }, ptr %68, align 8 %69 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %67, 0 %70 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %69, ptr %68, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %70) @@ -935,7 +934,7 @@ _llgo_7: ; preds = %_llgo_5 br i1 %76, label %_llgo_8, label %_llgo_9 _llgo_8: ; preds = %_llgo_7 - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 12 }) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 12 }) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) br label %_llgo_9 @@ -986,7 +985,7 @@ _llgo_12: ; preds = %_llgo_14, %_llgo_9 _llgo_13: ; preds = %_llgo_14, %_llgo_10 %107 = load ptr, ptr @_llgo_string, align 8 %108 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 13 }, ptr %108, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 13 }, ptr %108, align 8 %109 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %107, 0 %110 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %109, ptr %108, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %110) @@ -1097,7 +1096,7 @@ _llgo_7: ; preds = %_llgo_6 br label %_llgo_8 _llgo_8: ; preds = %_llgo_7, %_llgo_6 - %47 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 6 }, i64 25, i64 8, i64 0, i64 1) + %47 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, i64 25, i64 8, i64 0, i64 1) %48 = load ptr, ptr @_llgo_main.T, align 8 %49 = icmp eq ptr %48, null br i1 %49, label %_llgo_9, label %_llgo_10 @@ -1131,11 +1130,11 @@ _llgo_11: ; preds = %_llgo_10 %65 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %63, 0 %66 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %65, i64 1, 1 %67 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %66, i64 1, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %47, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 1 }, ptr %58, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %67) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %47, ptr %58, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %67) br label %_llgo_12 _llgo_12: ; preds = %_llgo_11, %_llgo_10 - %68 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 6 }, i64 25, i64 8, i64 0, i64 1) + %68 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, i64 25, i64 8, i64 0, i64 1) %69 = load ptr, ptr @"*_llgo_main.T", align 8 %70 = icmp eq ptr %69, null br i1 %70, label %_llgo_13, label %_llgo_14 @@ -1316,15 +1315,15 @@ _llgo_23: ; preds = %_llgo_22 %178 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) %179 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) %180 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %179) - %181 = 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 7 }, ptr %180, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %181 = 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 7 }, ptr %180, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %182 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) %183 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %182) - %184 = 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 4 }, ptr %183, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %184 = 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 4 }, ptr %183, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %185 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) %186 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %185) - %187 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 5 }, ptr %186, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %187 = 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 5 }, ptr %186, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %188 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %189 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 8 }, ptr %188, i64 200, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %189 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 8 }, ptr %188, i64 200, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %190 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) %191 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %190, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %181, ptr %191, align 8 @@ -1385,9 +1384,9 @@ _llgo_0: ret i64 %2 } -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 ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr) diff --git a/cl/_testgo/struczero/out.ll b/cl/_testgo/struczero/out.ll index 13c9755d0..ab1c93358 100644 --- a/cl/_testgo/struczero/out.ll +++ b/cl/_testgo/struczero/out.ll @@ -11,26 +11,24 @@ source_filename = "main" @"main.init$guard" = global i1 false, align 1 @"_llgo_github.com/goplus/llgo/cl/internal/foo.Foo" = linkonce global ptr null, align 8 -@0 = private unnamed_addr constant [42 x i8] c"github.com/goplus/llgo/cl/internal/foo.Foo", align 1 +@0 = private unnamed_addr constant [38 x i8] c"github.com/goplus/llgo/cl/internal/foo", align 1 +@1 = private unnamed_addr constant [3 x i8] c"Foo", align 1 @_llgo_byte = linkonce global ptr null, align 8 @"*_llgo_byte" = linkonce global ptr null, align 8 @_llgo_float32 = linkonce global ptr null, align 8 @"main.struct$qQwZyFy_4JRalRxVVsVD8R09X5t58tWjTrtJPtHbEjs" = linkonce global ptr null, align 8 -@1 = private unnamed_addr constant [2 x i8] c"pb", align 1 -@2 = private unnamed_addr constant [1 x i8] c"F", align 1 -@3 = private unnamed_addr constant [4 x i8] c"main", align 1 -@4 = private unnamed_addr constant [2 x i8] c"Pb", align 1 +@2 = private unnamed_addr constant [2 x i8] c"pb", align 1 +@3 = private unnamed_addr constant [1 x i8] c"F", align 1 +@4 = private unnamed_addr constant [4 x i8] c"main", align 1 +@5 = private unnamed_addr constant [2 x i8] c"Pb", align 1 @"_llgo_func$NfGSLZ1QiKRoFkKeqYSXE5hUU5bpeteSJKrbMNUzYRE" = linkonce global ptr null, align 8 -@5 = private unnamed_addr constant [38 x i8] c"github.com/goplus/llgo/cl/internal/foo", align 1 -@6 = private unnamed_addr constant [3 x i8] c"Foo", align 1 @_llgo_main.bar = linkonce global ptr null, align 8 -@7 = private unnamed_addr constant [8 x i8] c"main.bar", align 1 +@6 = private unnamed_addr constant [3 x i8] c"bar", align 1 @"main.struct$Ci43nzKYkRLddRL_N4mkykxLXfJlqJGS5n04LKThPNo" = linkonce global ptr null, align 8 -@8 = private unnamed_addr constant [1 x i8] c"f", align 1 -@9 = private unnamed_addr constant [3 x i8] c"bar", align 1 +@7 = private unnamed_addr constant [1 x i8] c"f", align 1 @__llgo_argc = global i32 0, align 4 @__llgo_argv = global ptr null, align 8 -@10 = private unnamed_addr constant [6 x i8] c"notOk:", align 1 +@8 = private unnamed_addr constant [6 x i8] c"notOk:", align 1 define { %"github.com/goplus/llgo/cl/internal/foo.Foo", i1 } @main.Bar(%"github.com/goplus/llgo/internal/runtime.eface" %0) { _llgo_0: @@ -121,7 +119,7 @@ _llgo_0: %11 = fpext float %9 to double call void @"github.com/goplus/llgo/internal/runtime.PrintFloat"(double %11) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 6 }) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 6 }) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %10) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) @@ -152,7 +150,7 @@ _llgo_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 @0, i64 42 }, i64 25, i64 16, i64 1, i64 1) + %0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 38 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 3 }, i64 25, i64 16, i64 1, i64 1) %1 = load ptr, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Foo", align 8 %2 = icmp eq ptr %1, null br i1 %2, label %_llgo_1, label %_llgo_2 @@ -199,9 +197,9 @@ _llgo_8: ; preds = %_llgo_7, %_llgo_6 %15 = load ptr, ptr @_llgo_float32, align 8 %16 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) %17 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %16) - %18 = 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 2 }, ptr %17, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %18 = 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 2 }, ptr %17, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %19 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 45) - %20 = 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 %19, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %20 = 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 %19, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %21 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) %22 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %21, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %18, ptr %22, align 8 @@ -210,7 +208,7 @@ _llgo_8: ; preds = %_llgo_7, %_llgo_6 %24 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %21, 0 %25 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %24, i64 2, 1 %26 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %25, i64 2, 2 - %27 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %26) + %27 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %26) store ptr %27, ptr @"main.struct$qQwZyFy_4JRalRxVVsVD8R09X5t58tWjTrtJPtHbEjs", align 8 %28 = load ptr, ptr @"main.struct$qQwZyFy_4JRalRxVVsVD8R09X5t58tWjTrtJPtHbEjs", align 8 br i1 %2, label %_llgo_9, label %_llgo_10 @@ -223,14 +221,14 @@ _llgo_9: ; preds = %_llgo_8 br i1 %32, label %_llgo_11, label %_llgo_12 _llgo_10: ; preds = %_llgo_12, %_llgo_8 - %33 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 8 }, i64 25, i64 16, i64 0, i64 0) + %33 = 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 @6, i64 3 }, i64 25, i64 16, i64 0, i64 0) store ptr %33, ptr @_llgo_main.bar, align 8 %34 = load ptr, ptr @"*_llgo_byte", align 8 %35 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) %36 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %35) - %37 = 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 2 }, ptr %36, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %37 = 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 2 }, ptr %36, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %38 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 45) - %39 = 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 %38, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %39 = 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 1 }, ptr %38, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %40 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) %41 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %40, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %37, ptr %41, align 8 @@ -239,10 +237,10 @@ _llgo_10: ; preds = %_llgo_12, %_llgo_8 %43 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %40, 0 %44 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %43, i64 2, 1 %45 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %44, i64 2, 2 - %46 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %45) + %46 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %45) store ptr %46, ptr @"main.struct$Ci43nzKYkRLddRL_N4mkykxLXfJlqJGS5n04LKThPNo", align 8 %47 = load ptr, ptr @"main.struct$Ci43nzKYkRLddRL_N4mkykxLXfJlqJGS5n04LKThPNo", align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %33, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 3 }, ptr %47, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %33, ptr %47, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) ret void _llgo_11: ; preds = %_llgo_9 @@ -263,10 +261,10 @@ _llgo_11: ; preds = %_llgo_9 _llgo_12: ; preds = %_llgo_11, %_llgo_9 %58 = load ptr, ptr @"_llgo_func$NfGSLZ1QiKRoFkKeqYSXE5hUU5bpeteSJKrbMNUzYRE", align 8 - %59 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 2 }, ptr undef, ptr undef, ptr undef }, ptr %58, 1 + %59 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 2 }, ptr undef, ptr undef, ptr undef }, ptr %58, 1 %60 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %59, ptr @"github.com/goplus/llgo/cl/internal/foo.(*Foo).Pb", 2 %61 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %60, ptr @"github.com/goplus/llgo/cl/internal/foo.(*Foo).Pb", 3 - %62 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 2 }, ptr undef, ptr undef, ptr undef }, ptr %58, 1 + %62 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 2 }, ptr undef, ptr undef, ptr undef }, ptr %58, 1 %63 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %62, ptr @"github.com/goplus/llgo/cl/internal/foo.(*Foo).Pb", 2 %64 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %63, ptr @"github.com/goplus/llgo/cl/internal/foo.Foo.Pb", 3 %65 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) @@ -281,11 +279,11 @@ _llgo_12: ; preds = %_llgo_11, %_llgo_9 %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 %0, %"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 38 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 3 }, ptr %28, %"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 %0, ptr %28, %"github.com/goplus/llgo/internal/runtime.Slice" %69, %"github.com/goplus/llgo/internal/runtime.Slice" %74) br label %_llgo_10 } -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) @@ -299,7 +297,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) diff --git a/cl/_testrt/abinamed/out.ll b/cl/_testrt/abinamed/out.ll index b87237886..6f3d20060 100644 --- a/cl/_testrt/abinamed/out.ll +++ b/cl/_testrt/abinamed/out.ll @@ -15,174 +15,160 @@ source_filename = "main" @__llgo_argc = global i32 0, align 4 @__llgo_argv = global ptr null, align 8 @_llgo_main.T = linkonce global ptr null, align 8 -@0 = private unnamed_addr constant [6 x i8] c"main.T", align 1 +@0 = private unnamed_addr constant [4 x i8] c"main", align 1 +@1 = private unnamed_addr constant [1 x i8] c"T", align 1 @"*_llgo_main.T" = linkonce global ptr null, align 8 @"_llgo_github.com/goplus/llgo/internal/abi.Type" = linkonce global ptr null, align 8 -@1 = private unnamed_addr constant [40 x i8] c"github.com/goplus/llgo/internal/abi.Type", align 1 +@2 = private unnamed_addr constant [35 x i8] c"github.com/goplus/llgo/internal/abi", align 1 +@3 = private unnamed_addr constant [4 x i8] c"Type", align 1 @_llgo_uintptr = linkonce global ptr null, align 8 @_llgo_uint32 = linkonce global ptr null, align 8 @"_llgo_github.com/goplus/llgo/internal/abi.TFlag" = linkonce global ptr null, align 8 -@2 = private unnamed_addr constant [41 x i8] c"github.com/goplus/llgo/internal/abi.TFlag", align 1 -@_llgo_uint8 = linkonce global ptr null, align 8 -@3 = private unnamed_addr constant [35 x i8] c"github.com/goplus/llgo/internal/abi", align 1 @4 = private unnamed_addr constant [5 x i8] c"TFlag", align 1 +@_llgo_uint8 = linkonce global ptr null, align 8 @_llgo_Pointer = linkonce global ptr null, align 8 @_llgo_bool = linkonce global ptr null, align 8 @"_llgo_func$fC75jGwF1nV5TF91gEeTF_JCtbG9Z7_yOawHBxqBh6E" = linkonce global ptr null, align 8 @"main.struct$LkOyXt2ZOfLj0dN8XuScd4CdSpCRJ9cWp1KI05fr0Ls" = linkonce global ptr null, align 8 @5 = private unnamed_addr constant [1 x i8] c"f", align 1 @6 = private unnamed_addr constant [4 x i8] c"data", align 1 -@7 = private unnamed_addr constant [4 x i8] c"main", align 1 @_llgo_byte = linkonce global ptr null, align 8 @"*_llgo_byte" = linkonce global ptr null, align 8 @_llgo_string = linkonce global ptr null, align 8 @"*_llgo_github.com/goplus/llgo/internal/abi.Type" = linkonce global ptr null, align 8 @"main.struct$kUO272Qk09C5NvUyOEWKmjUAoxxi3RhHpgqoeM6e1Tk" = linkonce global ptr null, align 8 -@8 = private unnamed_addr constant [5 x i8] c"Size_", align 1 -@9 = private unnamed_addr constant [8 x i8] c"PtrBytes", align 1 -@10 = private unnamed_addr constant [4 x i8] c"Hash", align 1 -@11 = private unnamed_addr constant [6 x i8] c"Align_", align 1 -@12 = private unnamed_addr constant [11 x i8] c"FieldAlign_", align 1 -@13 = private unnamed_addr constant [5 x i8] c"Kind_", align 1 -@14 = private unnamed_addr constant [5 x i8] c"Equal", align 1 -@15 = private unnamed_addr constant [6 x i8] c"GCData", align 1 -@16 = private unnamed_addr constant [4 x i8] c"Str_", align 1 -@17 = private unnamed_addr constant [10 x i8] c"PtrToThis_", align 1 -@18 = private unnamed_addr constant [5 x i8] c"Align", align 1 +@7 = private unnamed_addr constant [5 x i8] c"Size_", align 1 +@8 = private unnamed_addr constant [8 x i8] c"PtrBytes", align 1 +@9 = private unnamed_addr constant [4 x i8] c"Hash", align 1 +@10 = private unnamed_addr constant [6 x i8] c"Align_", align 1 +@11 = private unnamed_addr constant [11 x i8] c"FieldAlign_", align 1 +@12 = private unnamed_addr constant [5 x i8] c"Kind_", align 1 +@13 = private unnamed_addr constant [5 x i8] c"Equal", align 1 +@14 = private unnamed_addr constant [6 x i8] c"GCData", align 1 +@15 = private unnamed_addr constant [4 x i8] c"Str_", align 1 +@16 = private unnamed_addr constant [10 x i8] c"PtrToThis_", align 1 +@17 = private unnamed_addr constant [5 x i8] c"Align", align 1 @_llgo_int = linkonce global ptr null, align 8 @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA" = linkonce global ptr null, align 8 -@19 = private unnamed_addr constant [9 x i8] c"ArrayType", align 1 +@18 = private unnamed_addr constant [9 x i8] c"ArrayType", align 1 @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType" = linkonce global ptr null, align 8 -@20 = private unnamed_addr constant [45 x i8] c"github.com/goplus/llgo/internal/abi.ArrayType", align 1 @"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY" = linkonce global ptr null, align 8 -@21 = private unnamed_addr constant [4 x i8] c"Type", align 1 -@22 = private unnamed_addr constant [4 x i8] c"Elem", align 1 -@23 = private unnamed_addr constant [5 x i8] c"Slice", align 1 -@24 = private unnamed_addr constant [3 x i8] c"Len", align 1 +@19 = private unnamed_addr constant [4 x i8] c"Elem", align 1 +@20 = private unnamed_addr constant [5 x i8] c"Slice", align 1 +@21 = private unnamed_addr constant [3 x i8] c"Len", align 1 @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType" = linkonce global ptr null, align 8 @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4" = linkonce global ptr null, align 8 -@25 = private unnamed_addr constant [7 x i8] c"ChanDir", align 1 +@22 = private unnamed_addr constant [7 x i8] c"ChanDir", align 1 @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir" = linkonce global ptr null, align 8 -@26 = private unnamed_addr constant [43 x i8] c"github.com/goplus/llgo/internal/abi.ChanDir", align 1 @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4" = linkonce global ptr null, align 8 -@27 = private unnamed_addr constant [6 x i8] c"Common", align 1 +@23 = private unnamed_addr constant [6 x i8] c"Common", align 1 @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo" = linkonce global ptr null, align 8 -@28 = private unnamed_addr constant [15 x i8] c"ExportedMethods", align 1 +@24 = private unnamed_addr constant [15 x i8] c"ExportedMethods", align 1 @"_llgo_github.com/goplus/llgo/internal/abi.Method" = linkonce global ptr null, align 8 -@29 = private unnamed_addr constant [42 x i8] c"github.com/goplus/llgo/internal/abi.Method", align 1 +@25 = private unnamed_addr constant [6 x i8] c"Method", align 1 @"_llgo_github.com/goplus/llgo/internal/abi.FuncType" = linkonce global ptr null, align 8 -@30 = private unnamed_addr constant [44 x i8] c"github.com/goplus/llgo/internal/abi.FuncType", align 1 +@26 = private unnamed_addr constant [8 x i8] c"FuncType", align 1 @"[]*_llgo_github.com/goplus/llgo/internal/abi.Type" = linkonce global ptr null, align 8 @"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw" = linkonce global ptr null, align 8 -@31 = private unnamed_addr constant [2 x i8] c"In", align 1 -@32 = private unnamed_addr constant [3 x i8] c"Out", align 1 +@27 = private unnamed_addr constant [2 x i8] c"In", align 1 +@28 = private unnamed_addr constant [3 x i8] c"Out", align 1 @"[]_llgo_github.com/goplus/llgo/internal/abi.Method" = linkonce global ptr null, align 8 @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg" = linkonce global ptr null, align 8 -@33 = private unnamed_addr constant [10 x i8] c"FieldAlign", align 1 -@34 = private unnamed_addr constant [8 x i8] c"FuncType", align 1 +@29 = private unnamed_addr constant [10 x i8] c"FieldAlign", align 1 @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType" = linkonce global ptr null, align 8 @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww" = linkonce global ptr null, align 8 -@35 = private unnamed_addr constant [7 x i8] c"HasName", align 1 +@30 = private unnamed_addr constant [7 x i8] c"HasName", align 1 @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk" = linkonce global ptr null, align 8 -@36 = private unnamed_addr constant [10 x i8] c"IfaceIndir", align 1 -@37 = private unnamed_addr constant [13 x i8] c"InterfaceType", align 1 +@31 = private unnamed_addr constant [10 x i8] c"IfaceIndir", align 1 +@32 = private unnamed_addr constant [13 x i8] c"InterfaceType", align 1 @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType" = linkonce global ptr null, align 8 -@38 = private unnamed_addr constant [49 x i8] c"github.com/goplus/llgo/internal/abi.InterfaceType", align 1 @"_llgo_github.com/goplus/llgo/internal/abi.Imethod" = linkonce global ptr null, align 8 -@39 = private unnamed_addr constant [43 x i8] c"github.com/goplus/llgo/internal/abi.Imethod", align 1 +@33 = private unnamed_addr constant [7 x i8] c"Imethod", align 1 @"_llgo_struct$-SVMNS9vOT5F9q4yodRiL9MFhdPf0tfZ2Cx2o7KjSDw" = linkonce global ptr null, align 8 -@40 = private unnamed_addr constant [5 x i8] c"Name_", align 1 -@41 = private unnamed_addr constant [4 x i8] c"Typ_", align 1 -@42 = private unnamed_addr constant [8 x i8] c"Exported", align 1 -@43 = private unnamed_addr constant [4 x i8] c"Name", align 1 +@34 = private unnamed_addr constant [5 x i8] c"Name_", align 1 +@35 = private unnamed_addr constant [4 x i8] c"Typ_", align 1 +@36 = private unnamed_addr constant [8 x i8] c"Exported", align 1 +@37 = private unnamed_addr constant [4 x i8] c"Name", align 1 @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to" = linkonce global ptr null, align 8 -@44 = private unnamed_addr constant [7 x i8] c"PkgPath", align 1 -@45 = private unnamed_addr constant [7 x i8] c"Imethod", align 1 +@38 = private unnamed_addr constant [7 x i8] c"PkgPath", align 1 @"[]_llgo_github.com/goplus/llgo/internal/abi.Imethod" = linkonce global ptr null, align 8 @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4" = linkonce global ptr null, align 8 -@46 = private unnamed_addr constant [8 x i8] c"PkgPath_", align 1 -@47 = private unnamed_addr constant [7 x i8] c"Methods", align 1 +@39 = private unnamed_addr constant [8 x i8] c"PkgPath_", align 1 +@40 = private unnamed_addr constant [7 x i8] c"Methods", align 1 @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType" = linkonce global ptr null, align 8 @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8" = linkonce global ptr null, align 8 -@48 = private unnamed_addr constant [9 x i8] c"IsClosure", align 1 -@49 = private unnamed_addr constant [13 x i8] c"IsDirectIface", align 1 -@50 = private unnamed_addr constant [3 x i8] c"Key", align 1 -@51 = private unnamed_addr constant [4 x i8] c"Kind", align 1 +@41 = private unnamed_addr constant [9 x i8] c"IsClosure", align 1 +@42 = private unnamed_addr constant [13 x i8] c"IsDirectIface", align 1 +@43 = private unnamed_addr constant [3 x i8] c"Key", align 1 +@44 = private unnamed_addr constant [4 x i8] c"Kind", align 1 @"_llgo_github.com/goplus/llgo/internal/abi.Kind" = linkonce global ptr null, align 8 -@52 = private unnamed_addr constant [40 x i8] c"github.com/goplus/llgo/internal/abi.Kind", align 1 @_llgo_uint = linkonce global ptr null, align 8 -@53 = private unnamed_addr constant [6 x i8] c"String", align 1 +@45 = private unnamed_addr constant [6 x i8] c"String", align 1 @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI" = linkonce global ptr null, align 8 -@54 = private unnamed_addr constant [7 x i8] c"MapType", align 1 +@46 = private unnamed_addr constant [7 x i8] c"MapType", align 1 @"_llgo_github.com/goplus/llgo/internal/abi.MapType" = linkonce global ptr null, align 8 -@55 = private unnamed_addr constant [43 x i8] c"github.com/goplus/llgo/internal/abi.MapType", align 1 @"_llgo_func$ahHMZCcDhfW-lrs446sPkiW0NoVa2vpmK_wKarVa_20" = linkonce global ptr null, align 8 @"main.struct$2gmPOZCguOeDHn3rO8wA0kSBY0yVjg54EviMsNeV45o" = linkonce global ptr null, align 8 @_llgo_uint16 = linkonce global ptr null, align 8 @"main.struct$jgHT3zlvUCWdGAH-l4Nn1MOOw31LQoSt74SxHNLR50Q" = linkonce global ptr null, align 8 -@56 = private unnamed_addr constant [6 x i8] c"Bucket", align 1 -@57 = private unnamed_addr constant [6 x i8] c"Hasher", align 1 -@58 = private unnamed_addr constant [7 x i8] c"KeySize", align 1 -@59 = private unnamed_addr constant [9 x i8] c"ValueSize", align 1 -@60 = private unnamed_addr constant [10 x i8] c"BucketSize", align 1 -@61 = private unnamed_addr constant [5 x i8] c"Flags", align 1 -@62 = private unnamed_addr constant [14 x i8] c"HashMightPanic", align 1 -@63 = private unnamed_addr constant [12 x i8] c"IndirectElem", align 1 -@64 = private unnamed_addr constant [11 x i8] c"IndirectKey", align 1 +@47 = private unnamed_addr constant [6 x i8] c"Bucket", align 1 +@48 = private unnamed_addr constant [6 x i8] c"Hasher", align 1 +@49 = private unnamed_addr constant [7 x i8] c"KeySize", align 1 +@50 = private unnamed_addr constant [9 x i8] c"ValueSize", align 1 +@51 = private unnamed_addr constant [10 x i8] c"BucketSize", align 1 +@52 = private unnamed_addr constant [5 x i8] c"Flags", align 1 +@53 = private unnamed_addr constant [14 x i8] c"HashMightPanic", align 1 +@54 = private unnamed_addr constant [12 x i8] c"IndirectElem", align 1 +@55 = private unnamed_addr constant [11 x i8] c"IndirectKey", align 1 @"*_llgo_github.com/goplus/llgo/internal/abi.MapType" = linkonce global ptr null, align 8 @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4" = linkonce global ptr null, align 8 -@65 = private unnamed_addr constant [13 x i8] c"NeedKeyUpdate", align 1 -@66 = private unnamed_addr constant [9 x i8] c"NumMethod", align 1 -@67 = private unnamed_addr constant [8 x i8] c"Pointers", align 1 -@68 = private unnamed_addr constant [12 x i8] c"ReflexiveKey", align 1 -@69 = private unnamed_addr constant [4 x i8] c"Size", align 1 +@56 = private unnamed_addr constant [13 x i8] c"NeedKeyUpdate", align 1 +@57 = private unnamed_addr constant [9 x i8] c"NumMethod", align 1 +@58 = private unnamed_addr constant [8 x i8] c"Pointers", align 1 +@59 = private unnamed_addr constant [12 x i8] c"ReflexiveKey", align 1 +@60 = private unnamed_addr constant [4 x i8] c"Size", align 1 @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s" = linkonce global ptr null, align 8 -@70 = private unnamed_addr constant [10 x i8] c"StructType", align 1 +@61 = private unnamed_addr constant [10 x i8] c"StructType", align 1 @"_llgo_github.com/goplus/llgo/internal/abi.StructType" = linkonce global ptr null, align 8 -@71 = private unnamed_addr constant [46 x i8] c"github.com/goplus/llgo/internal/abi.StructType", align 1 @"_llgo_github.com/goplus/llgo/internal/abi.StructField" = linkonce global ptr null, align 8 -@72 = private unnamed_addr constant [47 x i8] c"github.com/goplus/llgo/internal/abi.StructField", align 1 +@62 = private unnamed_addr constant [11 x i8] c"StructField", align 1 @"_llgo_struct$GYlWrg0B_axMyyq9xClGPKuTjurG0iQMRoz8Me1fQig" = linkonce global ptr null, align 8 -@73 = private unnamed_addr constant [3 x i8] c"Typ", align 1 -@74 = private unnamed_addr constant [6 x i8] c"Offset", align 1 -@75 = private unnamed_addr constant [4 x i8] c"Tag_", align 1 -@76 = private unnamed_addr constant [9 x i8] c"Embedded_", align 1 -@77 = private unnamed_addr constant [8 x i8] c"Embedded", align 1 -@78 = private unnamed_addr constant [11 x i8] c"StructField", align 1 +@63 = private unnamed_addr constant [3 x i8] c"Typ", align 1 +@64 = private unnamed_addr constant [6 x i8] c"Offset", align 1 +@65 = private unnamed_addr constant [4 x i8] c"Tag_", align 1 +@66 = private unnamed_addr constant [9 x i8] c"Embedded_", align 1 +@67 = private unnamed_addr constant [8 x i8] c"Embedded", align 1 @"[]_llgo_github.com/goplus/llgo/internal/abi.StructField" = linkonce global ptr null, align 8 @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0" = linkonce global ptr null, align 8 -@79 = private unnamed_addr constant [6 x i8] c"Fields", align 1 +@68 = private unnamed_addr constant [6 x i8] c"Fields", align 1 @"*_llgo_github.com/goplus/llgo/internal/abi.StructType" = linkonce global ptr null, align 8 @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U" = linkonce global ptr null, align 8 -@80 = private unnamed_addr constant [8 x i8] c"Uncommon", align 1 +@69 = private unnamed_addr constant [8 x i8] c"Uncommon", align 1 @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType" = linkonce global ptr null, align 8 -@81 = private unnamed_addr constant [48 x i8] c"github.com/goplus/llgo/internal/abi.UncommonType", align 1 +@70 = private unnamed_addr constant [12 x i8] c"UncommonType", align 1 @"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI" = linkonce global ptr null, align 8 -@82 = private unnamed_addr constant [6 x i8] c"Mcount", align 1 -@83 = private unnamed_addr constant [6 x i8] c"Xcount", align 1 -@84 = private unnamed_addr constant [4 x i8] c"Moff", align 1 -@85 = private unnamed_addr constant [12 x i8] c"UncommonType", align 1 +@71 = private unnamed_addr constant [6 x i8] c"Mcount", align 1 +@72 = private unnamed_addr constant [6 x i8] c"Xcount", align 1 +@73 = private unnamed_addr constant [4 x i8] c"Moff", align 1 @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType" = linkonce global ptr null, align 8 @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34" = linkonce global ptr null, align 8 -@86 = private unnamed_addr constant [8 x i8] c"Variadic", align 1 +@74 = private unnamed_addr constant [8 x i8] c"Variadic", align 1 @"_llgo_struct$SDp3TNnYnxb26MhB1v8VMbmY71BX77YOaY7lgS1cFx0" = linkonce global ptr null, align 8 -@87 = private unnamed_addr constant [5 x i8] c"Mtyp_", align 1 -@88 = private unnamed_addr constant [4 x i8] c"Ifn_", align 1 -@89 = private unnamed_addr constant [4 x i8] c"Tfn_", align 1 -@90 = private unnamed_addr constant [6 x i8] c"Method", align 1 +@75 = private unnamed_addr constant [5 x i8] c"Mtyp_", align 1 +@76 = private unnamed_addr constant [4 x i8] c"Ifn_", align 1 +@77 = private unnamed_addr constant [4 x i8] c"Tfn_", align 1 @"[]_llgo_main.T" = linkonce global ptr null, align 8 @"main.struct$FYfyNCnlvkYOztpQWjt-y8D_WY3tpxyt5Qo62CJffTE" = linkonce global ptr null, align 8 -@91 = private unnamed_addr constant [1 x i8] c"p", align 1 -@92 = private unnamed_addr constant [1 x i8] c"t", align 1 -@93 = private unnamed_addr constant [1 x i8] c"n", align 1 -@94 = private unnamed_addr constant [1 x i8] c"a", align 1 -@95 = private unnamed_addr constant [1 x i8] c"T", align 1 -@96 = private unnamed_addr constant [13 x i8] c"error field 0", align 1 -@97 = private unnamed_addr constant [18 x i8] c"error field 0 elem", align 1 -@98 = private unnamed_addr constant [13 x i8] c"error field 1", align 1 -@99 = private unnamed_addr constant [18 x i8] c"error field 1 elem", align 1 -@100 = private unnamed_addr constant [13 x i8] c"error field 2", align 1 -@101 = private unnamed_addr constant [13 x i8] c"error field 3", align 1 +@78 = private unnamed_addr constant [1 x i8] c"p", align 1 +@79 = private unnamed_addr constant [1 x i8] c"t", align 1 +@80 = private unnamed_addr constant [1 x i8] c"n", align 1 +@81 = private unnamed_addr constant [1 x i8] c"a", align 1 +@82 = private unnamed_addr constant [13 x i8] c"error field 0", align 1 +@83 = private unnamed_addr constant [18 x i8] c"error field 0 elem", align 1 +@84 = private unnamed_addr constant [13 x i8] c"error field 1", align 1 +@85 = private unnamed_addr constant [18 x i8] c"error field 1 elem", align 1 +@86 = private unnamed_addr constant [13 x i8] c"error field 2", align 1 +@87 = private unnamed_addr constant [13 x i8] c"error field 3", align 1 define void @main.init() { _llgo_0: @@ -263,7 +249,7 @@ _llgo_0: _llgo_1: ; preds = %_llgo_0 %42 = load ptr, ptr @_llgo_string, align 8 %43 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @96, i64 13 }, ptr %43, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @82, i64 13 }, ptr %43, align 8 %44 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %42, 0 %45 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %44, ptr %43, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %45) @@ -281,7 +267,7 @@ _llgo_2: ; preds = %_llgo_0 _llgo_3: ; preds = %_llgo_2 %52 = load ptr, ptr @_llgo_string, align 8 %53 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @97, i64 18 }, ptr %53, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @83, i64 18 }, ptr %53, align 8 %54 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %52, 0 %55 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %54, ptr %53, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %55) @@ -314,7 +300,7 @@ _llgo_4: ; preds = %_llgo_2 _llgo_5: ; preds = %_llgo_4 %74 = load ptr, ptr @_llgo_string, align 8 %75 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @98, i64 13 }, ptr %75, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @84, i64 13 }, ptr %75, align 8 %76 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %74, 0 %77 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %76, ptr %75, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %77) @@ -332,7 +318,7 @@ _llgo_6: ; preds = %_llgo_4 _llgo_7: ; preds = %_llgo_6 %84 = load ptr, ptr @_llgo_string, align 8 %85 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @99, i64 18 }, ptr %85, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @85, i64 18 }, ptr %85, align 8 %86 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %84, 0 %87 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %86, ptr %85, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %87) @@ -373,7 +359,7 @@ _llgo_8: ; preds = %_llgo_6 _llgo_9: ; preds = %_llgo_8 %113 = load ptr, ptr @_llgo_string, align 8 %114 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @100, i64 13 }, ptr %114, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @86, i64 13 }, ptr %114, align 8 %115 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %113, 0 %116 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %115, ptr %114, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %116) @@ -405,7 +391,7 @@ _llgo_10: ; preds = %_llgo_8 _llgo_11: ; preds = %_llgo_10 %134 = load ptr, ptr @_llgo_string, align 8 %135 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" { ptr @101, i64 13 }, ptr %135, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @87, i64 13 }, ptr %135, align 8 %136 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %134, 0 %137 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %136, ptr %135, 1 call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %137) @@ -428,7 +414,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 @0, i64 6 }, 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 1 }, i64 25, i64 48, 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 @@ -439,7 +425,7 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_1, %_llgo_0 %3 = load ptr, ptr @_llgo_main.T, align 8 - %4 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 6 }, i64 25, i64 48, i64 0, i64 0) + %4 = 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 1 }, i64 25, i64 48, i64 0, i64 0) %5 = load ptr, ptr @"*_llgo_main.T", align 8 %6 = icmp eq ptr %5, null br i1 %6, label %_llgo_3, label %_llgo_4 @@ -452,7 +438,7 @@ _llgo_3: ; preds = %_llgo_2 _llgo_4: ; preds = %_llgo_3, %_llgo_2 %8 = load ptr, ptr @"*_llgo_main.T", align 8 - %9 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %9 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 80, i64 0, i64 23) %10 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %11 = icmp eq ptr %10, null br i1 %11, label %_llgo_5, label %_llgo_6 @@ -484,7 +470,7 @@ _llgo_9: ; preds = %_llgo_8 _llgo_10: ; preds = %_llgo_9, %_llgo_8 %19 = load ptr, ptr @_llgo_uint32, align 8 - %20 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 41 }, i64 8, i64 1, i64 0, i64 0) + %20 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 5 }, i64 8, i64 1, i64 0, i64 0) %21 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.TFlag", align 8 %22 = icmp eq ptr %21, null br i1 %22, label %_llgo_11, label %_llgo_12 @@ -508,7 +494,7 @@ _llgo_14: ; preds = %_llgo_13, %_llgo_12 br i1 %22, label %_llgo_15, label %_llgo_16 _llgo_15: ; preds = %_llgo_14 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %20, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 5 }, ptr %26, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %20, ptr %26, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_16 _llgo_16: ; preds = %_llgo_15, %_llgo_14 @@ -594,7 +580,7 @@ _llgo_22: ; preds = %_llgo_21, %_llgo_20 %75 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %72, 0 %76 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %75, i64 2, 1 %77 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %76, i64 2, 2 - %78 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %77) + %78 = 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" %77) store ptr %78, ptr @"main.struct$LkOyXt2ZOfLj0dN8XuScd4CdSpCRJ9cWp1KI05fr0Ls", align 8 %79 = load ptr, ptr @"main.struct$LkOyXt2ZOfLj0dN8XuScd4CdSpCRJ9cWp1KI05fr0Ls", align 8 %80 = load ptr, ptr @_llgo_byte, align 8 @@ -633,7 +619,7 @@ _llgo_27: ; preds = %_llgo_26 _llgo_28: ; preds = %_llgo_27, %_llgo_26 %92 = load ptr, ptr @_llgo_string, align 8 %93 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %94 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 72, i64 0, i64 23) + %94 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 72, i64 0, i64 23) %95 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %96 = icmp eq ptr %95, null br i1 %96, label %_llgo_29, label %_llgo_30 @@ -646,24 +632,24 @@ _llgo_29: ; preds = %_llgo_28 _llgo_30: ; preds = %_llgo_29, %_llgo_28 %98 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %99 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 41 }, i64 8, i64 1, i64 0, i64 0) + %99 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 5 }, i64 8, i64 1, i64 0, i64 0) %100 = load ptr, ptr @_llgo_Pointer, align 8 %101 = load ptr, ptr @_llgo_Pointer, align 8 %102 = load ptr, ptr @_llgo_bool, align 8 - %103 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 72, i64 0, i64 23) + %103 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 72, i64 0, i64 23) %104 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - %105 = 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 5 }, ptr %104, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %105 = 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 5 }, ptr %104, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %106 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - %107 = 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 8 }, ptr %106, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %107 = 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 8 }, ptr %106, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %108 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) - %109 = 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 %108, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %109 = 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 %108, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %110 = 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 5 }, ptr %99, i64 20, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %111 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %112 = 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 6 }, ptr %111, i64 21, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %112 = 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 6 }, ptr %111, i64 21, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %113 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %114 = 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 11 }, ptr %113, i64 22, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %114 = 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 11 }, ptr %113, i64 22, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %115 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %116 = 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 %115, i64 23, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %116 = 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 5 }, ptr %115, i64 23, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %117 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) %118 = getelementptr ptr, ptr %117, i64 0 store ptr %100, ptr %118, align 8 @@ -690,15 +676,15 @@ _llgo_30: ; preds = %_llgo_29, %_llgo_28 %135 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %132, 0 %136 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %135, i64 2, 1 %137 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %136, i64 2, 2 - %138 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %137) - %139 = 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 5 }, ptr %138, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %138 = 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" %137) + %139 = 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 %138, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %140 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) %141 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %140) - %142 = 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 6 }, ptr %141, i64 40, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %142 = 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 6 }, ptr %141, i64 40, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %143 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %144 = 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 %143, i64 48, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %144 = 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 4 }, ptr %143, i64 48, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %145 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %103) - %146 = 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 10 }, ptr %145, i64 64, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %146 = 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 10 }, ptr %145, i64 64, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %147 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 616) %148 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %147, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %105, ptr %148, align 8 @@ -725,7 +711,7 @@ _llgo_30: ; preds = %_llgo_29, %_llgo_28 %159 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %147, 0 %160 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %159, i64 11, 1 %161 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %160, i64 11, 2 - %162 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 72, %"github.com/goplus/llgo/internal/runtime.Slice" %161) + %162 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, i64 72, %"github.com/goplus/llgo/internal/runtime.Slice" %161) store ptr %162, ptr @"main.struct$kUO272Qk09C5NvUyOEWKmjUAoxxi3RhHpgqoeM6e1Tk", align 8 %163 = load ptr, ptr @"main.struct$kUO272Qk09C5NvUyOEWKmjUAoxxi3RhHpgqoeM6e1Tk", align 8 br i1 %11, label %_llgo_31, label %_llgo_32 @@ -738,7 +724,7 @@ _llgo_31: ; preds = %_llgo_30 _llgo_32: ; preds = %_llgo_42, %_llgo_30 %166 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %167 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %168 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 6 }, i64 25, i64 48, i64 0, i64 0) + %168 = 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 1 }, i64 25, i64 48, i64 0, i64 0) %169 = load ptr, ptr @"[]_llgo_main.T", align 8 %170 = icmp eq ptr %169, null br i1 %170, label %_llgo_149, label %_llgo_150 @@ -773,10 +759,10 @@ _llgo_35: ; preds = %_llgo_34 _llgo_36: ; preds = %_llgo_35, %_llgo_34 %186 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %187 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %186, 1 + %187 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %186, 1 %188 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %187, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Align", 2 %189 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %188, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Align", 3 - %190 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 45 }, i64 25, i64 104, i64 0, i64 21) + %190 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 9 }, i64 25, i64 104, i64 0, i64 21) %191 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 %192 = icmp eq ptr %191, null br i1 %192, label %_llgo_37, label %_llgo_38 @@ -788,21 +774,21 @@ _llgo_37: ; preds = %_llgo_36 _llgo_38: ; preds = %_llgo_37, %_llgo_36 %193 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %194 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %195 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %196 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %197 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %195 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 80, i64 0, i64 23) + %196 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 80, i64 0, i64 23) + %197 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 80, i64 0, i64 23) %198 = load ptr, ptr @"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY", align 8 %199 = icmp eq ptr %198, null br i1 %199, label %_llgo_39, label %_llgo_40 _llgo_39: ; preds = %_llgo_38 - %200 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %195, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) + %200 = 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 4 }, ptr %195, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) %201 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %196) - %202 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr %201, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %202 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 4 }, ptr %201, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %203 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %197) - %204 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 5 }, ptr %203, i64 80, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %204 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 5 }, ptr %203, i64 80, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %205 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - %206 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr %205, i64 88, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %206 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 3 }, ptr %205, i64 88, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %207 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) %208 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %207, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %200, ptr %208, align 8 @@ -815,7 +801,7 @@ _llgo_39: ; preds = %_llgo_38 %212 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %207, 0 %213 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %212, i64 4, 1 %214 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %213, i64 4, 2 - %215 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 96, %"github.com/goplus/llgo/internal/runtime.Slice" %214) + %215 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, i64 96, %"github.com/goplus/llgo/internal/runtime.Slice" %214) store ptr %215, ptr @"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY", align 8 br label %_llgo_40 @@ -825,10 +811,10 @@ _llgo_40: ; preds = %_llgo_39, %_llgo_38 _llgo_41: ; preds = %_llgo_40 %217 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %218 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %217, 1 + %218 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %217, 1 %219 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %218, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Align", 2 %220 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %219, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Align", 3 - %221 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 45 }, i64 25, i64 104, i64 0, i64 21) + %221 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 9 }, i64 25, i64 104, i64 0, i64 21) %222 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 %223 = icmp eq ptr %222, null br i1 %223, label %_llgo_43, label %_llgo_44 @@ -837,99 +823,99 @@ _llgo_42: ; preds = %_llgo_148, %_llgo_4 %224 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 %225 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 %226 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %227 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %226, 1 + %227 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %226, 1 %228 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %227, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ArrayType", 2 %229 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %228, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ArrayType", 3 %230 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %231 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %230, 1 + %231 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %230, 1 %232 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %231, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ChanDir", 2 %233 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %232, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ChanDir", 3 %234 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %235 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %236 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %235, 1 + %236 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %235, 1 %237 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %236, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Common", 2 %238 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %237, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Common", 3 %239 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %240 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %241 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %240, 1 + %241 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %240, 1 %242 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %241, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Elem", 2 %243 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %242, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Elem", 3 %244 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 %245 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %246 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %245, 1 + %246 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %245, 1 %247 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %246, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ExportedMethods", 2 %248 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %247, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ExportedMethods", 3 %249 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %250 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %249, 1 + %250 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @29, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %249, 1 %251 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %250, ptr @"github.com/goplus/llgo/internal/abi.(*Type).FieldAlign", 2 %252 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %251, ptr @"github.com/goplus/llgo/internal/abi.(*Type).FieldAlign", 3 %253 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 %254 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %255 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %254, 1 + %255 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %254, 1 %256 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %255, ptr @"github.com/goplus/llgo/internal/abi.(*Type).FuncType", 2 %257 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %256, ptr @"github.com/goplus/llgo/internal/abi.(*Type).FuncType", 3 %258 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %259 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %258, 1 + %259 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %258, 1 %260 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %259, ptr @"github.com/goplus/llgo/internal/abi.(*Type).HasName", 2 %261 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %260, ptr @"github.com/goplus/llgo/internal/abi.(*Type).HasName", 3 %262 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %263 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %262, 1 + %263 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @31, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %262, 1 %264 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %263, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IfaceIndir", 2 %265 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %264, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IfaceIndir", 3 %266 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 %267 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %268 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %267, 1 + %268 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @32, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %267, 1 %269 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %268, ptr @"github.com/goplus/llgo/internal/abi.(*Type).InterfaceType", 2 %270 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %269, ptr @"github.com/goplus/llgo/internal/abi.(*Type).InterfaceType", 3 %271 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %272 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %271, 1 + %272 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @41, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %271, 1 %273 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %272, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IsClosure", 2 %274 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %273, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IsClosure", 3 %275 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %276 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %275, 1 + %276 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @42, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %275, 1 %277 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %276, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IsDirectIface", 2 %278 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %277, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IsDirectIface", 3 %279 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %280 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %281 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %280, 1 + %281 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @43, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %280, 1 %282 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %281, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Key", 2 %283 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %282, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Key", 3 %284 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %285 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %284, 1 + %285 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @44, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %284, 1 %286 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %285, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Kind", 2 %287 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %286, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Kind", 3 %288 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %289 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %288, 1 + %289 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %288, 1 %290 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %289, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Len", 2 %291 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %290, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Len", 3 %292 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 %293 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %294 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %293, 1 + %294 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %293, 1 %295 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %294, ptr @"github.com/goplus/llgo/internal/abi.(*Type).MapType", 2 %296 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %295, ptr @"github.com/goplus/llgo/internal/abi.(*Type).MapType", 3 %297 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %298 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %297, 1 + %298 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @57, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %297, 1 %299 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %298, ptr @"github.com/goplus/llgo/internal/abi.(*Type).NumMethod", 2 %300 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %299, ptr @"github.com/goplus/llgo/internal/abi.(*Type).NumMethod", 3 %301 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %302 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %301, 1 + %302 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @58, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %301, 1 %303 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %302, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Pointers", 2 %304 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %303, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Pointers", 3 %305 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %306 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %305, 1 + %306 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @60, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %305, 1 %307 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %306, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Size", 2 %308 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %307, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Size", 3 %309 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %310 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %309, 1 + %310 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @45, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %309, 1 %311 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %310, ptr @"github.com/goplus/llgo/internal/abi.(*Type).String", 2 %312 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %311, ptr @"github.com/goplus/llgo/internal/abi.(*Type).String", 3 %313 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 %314 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %315 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %314, 1 + %315 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @61, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %314, 1 %316 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %315, ptr @"github.com/goplus/llgo/internal/abi.(*Type).StructType", 2 %317 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %316, ptr @"github.com/goplus/llgo/internal/abi.(*Type).StructType", 3 %318 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %319 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %318, 1 + %319 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %318, 1 %320 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %319, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Uncommon", 2 %321 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %320, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Uncommon", 3 %322 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 920) @@ -982,7 +968,7 @@ _llgo_42: ; preds = %_llgo_148, %_llgo_4 %346 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %322, 0 %347 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %346, i64 23, 1 %348 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %347, i64 23, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %9, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %163, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %348) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %9, ptr %163, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %348) br label %_llgo_32 _llgo_43: ; preds = %_llgo_41 @@ -1016,10 +1002,10 @@ _llgo_45: ; preds = %_llgo_44 _llgo_46: ; preds = %_llgo_45, %_llgo_44 %364 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %365 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %364, 1 + %365 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %364, 1 %366 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %365, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ArrayType", 2 %367 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %366, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ArrayType", 3 - %368 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 43 }, i64 2, i64 8, i64 0, i64 0) + %368 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 7 }, i64 2, i64 8, i64 0, i64 0) %369 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir", align 8 %370 = icmp eq ptr %369, null br i1 %370, label %_llgo_47, label %_llgo_48 @@ -1033,7 +1019,7 @@ _llgo_48: ; preds = %_llgo_47, %_llgo_46 br i1 %370, label %_llgo_49, label %_llgo_50 _llgo_49: ; preds = %_llgo_48 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %368, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr %371, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %368, ptr %371, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_50 _llgo_50: ; preds = %_llgo_49, %_llgo_48 @@ -1061,7 +1047,7 @@ _llgo_51: ; preds = %_llgo_50 _llgo_52: ; preds = %_llgo_51, %_llgo_50 %386 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %387 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %386, 1 + %387 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %386, 1 %388 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %387, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ChanDir", 2 %389 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %388, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ChanDir", 3 %390 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 @@ -1088,10 +1074,10 @@ _llgo_53: ; preds = %_llgo_52 _llgo_54: ; preds = %_llgo_53, %_llgo_52 %404 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %405 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %404, 1 + %405 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %404, 1 %406 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %405, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Common", 2 %407 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %406, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Common", 3 - %408 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @29, i64 42 }, i64 25, i64 40, i64 0, i64 3) + %408 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 6 }, i64 25, i64 40, i64 0, i64 3) %409 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 %410 = icmp eq ptr %409, null br i1 %410, label %_llgo_55, label %_llgo_56 @@ -1101,7 +1087,7 @@ _llgo_55: ; preds = %_llgo_54 br label %_llgo_56 _llgo_56: ; preds = %_llgo_55, %_llgo_54 - %411 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 44 }, i64 25, i64 128, i64 0, i64 24) + %411 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 8 }, i64 25, i64 128, i64 0, i64 24) %412 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 %413 = icmp eq ptr %412, null br i1 %413, label %_llgo_57, label %_llgo_58 @@ -1112,7 +1098,7 @@ _llgo_57: ; preds = %_llgo_56 _llgo_58: ; preds = %_llgo_57, %_llgo_56 %414 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %415 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %415 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 80, i64 0, i64 23) %416 = load ptr, ptr @"[]*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %417 = icmp eq ptr %416, null br i1 %417, label %_llgo_59, label %_llgo_60 @@ -1127,21 +1113,21 @@ _llgo_60: ; preds = %_llgo_59, %_llgo_58 %420 = load ptr, ptr @"[]*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %421 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %422 = load ptr, ptr @"[]*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %423 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %424 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %425 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %423 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 80, i64 0, i64 23) + %424 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 80, i64 0, i64 23) + %425 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 80, i64 0, i64 23) %426 = load ptr, ptr @"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw", align 8 %427 = icmp eq ptr %426, null br i1 %427, label %_llgo_61, label %_llgo_62 _llgo_61: ; preds = %_llgo_60 - %428 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %423, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) + %428 = 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 4 }, ptr %423, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) %429 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %424) %430 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %429) - %431 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @31, i64 2 }, ptr %430, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %431 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 2 }, ptr %430, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %432 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %425) %433 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %432) - %434 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @32, i64 3 }, ptr %433, i64 96, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %434 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 3 }, ptr %433, i64 96, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %435 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) %436 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %435, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %428, ptr %436, align 8 @@ -1152,7 +1138,7 @@ _llgo_61: ; preds = %_llgo_60 %439 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %435, 0 %440 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %439, i64 3, 1 %441 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %440, i64 3, 2 - %442 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 120, %"github.com/goplus/llgo/internal/runtime.Slice" %441) + %442 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, i64 120, %"github.com/goplus/llgo/internal/runtime.Slice" %441) store ptr %442, ptr @"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw", align 8 br label %_llgo_62 @@ -1162,29 +1148,29 @@ _llgo_62: ; preds = %_llgo_61, %_llgo_60 _llgo_63: ; preds = %_llgo_62 %444 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %445 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %444, 1 + %445 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %444, 1 %446 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %445, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Align", 2 %447 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %446, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Align", 3 %448 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 %449 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %450 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %449, 1 + %450 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %449, 1 %451 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %450, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ArrayType", 2 %452 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %451, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ArrayType", 3 %453 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %454 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %453, 1 + %454 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %453, 1 %455 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %454, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ChanDir", 2 %456 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %455, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ChanDir", 3 %457 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %458 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %459 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %458, 1 + %459 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %458, 1 %460 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %459, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Common", 2 %461 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %460, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Common", 3 %462 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %463 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %464 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %463, 1 + %464 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %463, 1 %465 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %464, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Elem", 2 %466 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %465, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Elem", 3 - %467 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @29, i64 42 }, i64 25, i64 40, i64 0, i64 3) + %467 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 6 }, i64 25, i64 40, i64 0, i64 3) %468 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 %469 = icmp eq ptr %468, null br i1 %469, label %_llgo_65, label %_llgo_66 @@ -1192,7 +1178,7 @@ _llgo_63: ; preds = %_llgo_62 _llgo_64: ; preds = %_llgo_90, %_llgo_62 %470 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 %471 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %472 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 44 }, i64 25, i64 128, i64 0, i64 24) + %472 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 8 }, i64 25, i64 128, i64 0, i64 24) %473 = load ptr, ptr @"_llgo_struct$SDp3TNnYnxb26MhB1v8VMbmY71BX77YOaY7lgS1cFx0", align 8 %474 = icmp eq ptr %473, null br i1 %474, label %_llgo_145, label %_llgo_146 @@ -1227,14 +1213,14 @@ _llgo_67: ; preds = %_llgo_66 _llgo_68: ; preds = %_llgo_67, %_llgo_66 %490 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %491 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %490, 1 + %491 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %490, 1 %492 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %491, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ExportedMethods", 2 %493 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %492, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ExportedMethods", 3 %494 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %495 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %494, 1 + %495 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @29, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %494, 1 %496 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %495, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FieldAlign", 2 %497 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %496, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FieldAlign", 3 - %498 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 44 }, i64 25, i64 128, i64 0, i64 24) + %498 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 8 }, i64 25, i64 128, i64 0, i64 24) %499 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 %500 = icmp eq ptr %499, null br i1 %500, label %_llgo_69, label %_llgo_70 @@ -1270,7 +1256,7 @@ _llgo_71: ; preds = %_llgo_70 _llgo_72: ; preds = %_llgo_71, %_llgo_70 %516 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %517 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %516, 1 + %517 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %516, 1 %518 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %517, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FuncType", 2 %519 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %518, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FuncType", 3 %520 = load ptr, ptr @_llgo_bool, align 8 @@ -1296,14 +1282,14 @@ _llgo_73: ; preds = %_llgo_72 _llgo_74: ; preds = %_llgo_73, %_llgo_72 %533 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %534 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %533, 1 + %534 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %533, 1 %535 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %534, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).HasName", 2 %536 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %535, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).HasName", 3 %537 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %538 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %537, 1 + %538 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @31, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %537, 1 %539 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %538, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IfaceIndir", 2 %540 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %539, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IfaceIndir", 3 - %541 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @38, i64 49 }, i64 25, i64 120, i64 0, i64 23) + %541 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @32, i64 13 }, i64 25, i64 120, i64 0, i64 23) %542 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 %543 = icmp eq ptr %542, null br i1 %543, label %_llgo_75, label %_llgo_76 @@ -1313,7 +1299,7 @@ _llgo_75: ; preds = %_llgo_74 br label %_llgo_76 _llgo_76: ; preds = %_llgo_75, %_llgo_74 - %544 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @39, i64 43 }, i64 25, i64 24, i64 0, i64 3) + %544 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 7 }, i64 25, i64 24, i64 0, i64 3) %545 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 %546 = icmp eq ptr %545, null br i1 %546, label %_llgo_77, label %_llgo_78 @@ -1324,16 +1310,16 @@ _llgo_77: ; preds = %_llgo_76 _llgo_78: ; preds = %_llgo_77, %_llgo_76 %547 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %548 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 44 }, i64 25, i64 128, i64 0, i64 24) + %548 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 8 }, i64 25, i64 128, i64 0, i64 24) %549 = load ptr, ptr @"_llgo_struct$-SVMNS9vOT5F9q4yodRiL9MFhdPf0tfZ2Cx2o7KjSDw", align 8 %550 = icmp eq ptr %549, null br i1 %550, label %_llgo_79, label %_llgo_80 _llgo_79: ; preds = %_llgo_78 %551 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %552 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @40, i64 5 }, ptr %551, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %552 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 5 }, ptr %551, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %553 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %548) - %554 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @41, i64 4 }, ptr %553, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %554 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 4 }, ptr %553, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %555 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) %556 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %555, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %552, ptr %556, align 8 @@ -1342,7 +1328,7 @@ _llgo_79: ; preds = %_llgo_78 %558 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %555, 0 %559 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %558, i64 2, 1 %560 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %559, i64 2, 2 - %561 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %560) + %561 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %560) store ptr %561, ptr @"_llgo_struct$-SVMNS9vOT5F9q4yodRiL9MFhdPf0tfZ2Cx2o7KjSDw", align 8 br label %_llgo_80 @@ -1352,7 +1338,7 @@ _llgo_80: ; preds = %_llgo_79, %_llgo_78 _llgo_81: ; preds = %_llgo_80 %563 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %564 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @42, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %563, 1 + %564 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %563, 1 %565 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %564, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).Exported", 2 %566 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %565, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).Exported", 3 %567 = load ptr, ptr @_llgo_string, align 8 @@ -1362,7 +1348,7 @@ _llgo_81: ; preds = %_llgo_80 _llgo_82: ; preds = %_llgo_84, %_llgo_80 %570 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 - %571 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @39, i64 43 }, i64 25, i64 24, i64 0, i64 3) + %571 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 7 }, i64 25, i64 24, i64 0, i64 3) %572 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 %573 = icmp eq ptr %572, null br i1 %573, label %_llgo_85, label %_llgo_86 @@ -1385,11 +1371,11 @@ _llgo_83: ; preds = %_llgo_81 _llgo_84: ; preds = %_llgo_83, %_llgo_81 %584 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %585 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @43, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %584, 1 + %585 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %584, 1 %586 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %585, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).Name", 2 %587 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %586, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).Name", 3 %588 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %589 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @44, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %588, 1 + %589 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @38, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %588, 1 %590 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %589, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).PkgPath", 2 %591 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %590, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).PkgPath", 3 %592 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 120) @@ -1402,7 +1388,7 @@ _llgo_84: ; preds = %_llgo_83, %_llgo_81 %596 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %592, 0 %597 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %596, i64 3, 1 %598 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %597, i64 3, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %544, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @45, i64 7 }, ptr %562, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %598) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %544, ptr %562, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %598) br label %_llgo_82 _llgo_85: ; preds = %_llgo_82 @@ -1412,18 +1398,18 @@ _llgo_85: ; preds = %_llgo_82 _llgo_86: ; preds = %_llgo_85, %_llgo_82 %600 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 - %601 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %602 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @39, i64 43 }, i64 25, i64 24, i64 0, i64 3) + %601 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 80, i64 0, i64 23) + %602 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 7 }, i64 25, i64 24, i64 0, i64 3) %603 = load ptr, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", align 8 %604 = icmp eq ptr %603, null br i1 %604, label %_llgo_87, label %_llgo_88 _llgo_87: ; preds = %_llgo_86 - %605 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %601, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) + %605 = 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 4 }, ptr %601, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) %606 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %607 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 8 }, ptr %606, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %607 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @39, i64 8 }, ptr %606, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %608 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %602) - %609 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @47, i64 7 }, ptr %608, i64 88, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %609 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @40, i64 7 }, ptr %608, i64 88, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %610 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) %611 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %610, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %605, ptr %611, align 8 @@ -1434,7 +1420,7 @@ _llgo_87: ; preds = %_llgo_86 %614 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %610, 0 %615 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %614, i64 3, 1 %616 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %615, i64 3, 2 - %617 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 112, %"github.com/goplus/llgo/internal/runtime.Slice" %616) + %617 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, i64 112, %"github.com/goplus/llgo/internal/runtime.Slice" %616) store ptr %617, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", align 8 br label %_llgo_88 @@ -1444,51 +1430,51 @@ _llgo_88: ; preds = %_llgo_87, %_llgo_86 _llgo_89: ; preds = %_llgo_88 %619 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %620 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %619, 1 + %620 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %619, 1 %621 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %620, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Align", 2 %622 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %621, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Align", 3 %623 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 %624 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %625 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %624, 1 + %625 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %624, 1 %626 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %625, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ArrayType", 2 %627 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %626, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ArrayType", 3 %628 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %629 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %628, 1 + %629 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %628, 1 %630 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %629, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ChanDir", 2 %631 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %630, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ChanDir", 3 %632 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %633 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %634 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %633, 1 + %634 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %633, 1 %635 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %634, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Common", 2 %636 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %635, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Common", 3 %637 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %638 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %639 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %638, 1 + %639 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %638, 1 %640 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %639, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Elem", 2 %641 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %640, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Elem", 3 %642 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 %643 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %644 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %643, 1 + %644 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %643, 1 %645 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %644, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ExportedMethods", 2 %646 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %645, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ExportedMethods", 3 %647 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %648 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %647, 1 + %648 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @29, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %647, 1 %649 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %648, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FieldAlign", 2 %650 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %649, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FieldAlign", 3 %651 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 %652 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %653 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %652, 1 + %653 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %652, 1 %654 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %653, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FuncType", 2 %655 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %654, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FuncType", 3 %656 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %657 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %656, 1 + %657 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %656, 1 %658 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %657, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).HasName", 2 %659 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %658, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).HasName", 3 %660 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %661 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %660, 1 + %661 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @31, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %660, 1 %662 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %661, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IfaceIndir", 2 %663 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %662, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IfaceIndir", 3 - %664 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @38, i64 49 }, i64 25, i64 120, i64 0, i64 23) + %664 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @32, i64 13 }, i64 25, i64 120, i64 0, i64 23) %665 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 %666 = icmp eq ptr %665, null br i1 %666, label %_llgo_91, label %_llgo_92 @@ -1497,62 +1483,62 @@ _llgo_90: ; preds = %_llgo_110, %_llgo_8 %667 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 %668 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 %669 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %670 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %669, 1 + %670 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @32, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %669, 1 %671 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %670, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).InterfaceType", 2 %672 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %671, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).InterfaceType", 3 %673 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %674 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %673, 1 + %674 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @41, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %673, 1 %675 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %674, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IsClosure", 2 %676 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %675, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IsClosure", 3 %677 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %678 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %677, 1 + %678 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @42, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %677, 1 %679 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %678, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IsDirectIface", 2 %680 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %679, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IsDirectIface", 3 %681 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %682 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %683 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %682, 1 + %683 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @43, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %682, 1 %684 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %683, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Key", 2 %685 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %684, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Key", 3 %686 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %687 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %686, 1 + %687 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @44, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %686, 1 %688 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %687, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Kind", 2 %689 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %688, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Kind", 3 %690 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %691 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %690, 1 + %691 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %690, 1 %692 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %691, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Len", 2 %693 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %692, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Len", 3 %694 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 %695 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %696 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %695, 1 + %696 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %695, 1 %697 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %696, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).MapType", 2 %698 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %697, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).MapType", 3 %699 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %700 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %699, 1 + %700 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @57, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %699, 1 %701 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %700, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).NumMethod", 2 %702 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %701, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).NumMethod", 3 %703 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %704 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %703, 1 + %704 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @58, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %703, 1 %705 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %704, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Pointers", 2 %706 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %705, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Pointers", 3 %707 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %708 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %707, 1 + %708 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @60, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %707, 1 %709 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %708, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Size", 2 %710 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %709, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Size", 3 %711 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %712 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %711, 1 + %712 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @45, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %711, 1 %713 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %712, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).String", 2 %714 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %713, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).String", 3 %715 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 %716 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %717 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %716, 1 + %717 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @61, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %716, 1 %718 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %717, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).StructType", 2 %719 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %718, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).StructType", 3 %720 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %721 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %720, 1 + %721 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %720, 1 %722 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %721, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Uncommon", 2 %723 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %722, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Uncommon", 3 %724 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %725 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @86, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %724, 1 + %725 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @74, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %724, 1 %726 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %725, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Variadic", 2 %727 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %726, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Variadic", 3 %728 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 960) @@ -1607,7 +1593,7 @@ _llgo_90: ; preds = %_llgo_110, %_llgo_8 %753 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %728, 0 %754 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %753, i64 24, 1 %755 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %754, i64 24, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %411, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr %443, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %755) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %411, ptr %443, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %755) br label %_llgo_64 _llgo_91: ; preds = %_llgo_89 @@ -1641,23 +1627,23 @@ _llgo_93: ; preds = %_llgo_92 _llgo_94: ; preds = %_llgo_93, %_llgo_92 %771 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %772 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %771, 1 + %772 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @32, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %771, 1 %773 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %772, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).InterfaceType", 2 %774 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %773, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).InterfaceType", 3 %775 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %776 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %775, 1 + %776 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @41, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %775, 1 %777 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %776, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IsClosure", 2 %778 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %777, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IsClosure", 3 %779 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %780 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %779, 1 + %780 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @42, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %779, 1 %781 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %780, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IsDirectIface", 2 %782 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %781, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IsDirectIface", 3 %783 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %784 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %785 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %784, 1 + %785 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @43, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %784, 1 %786 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %785, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Key", 2 %787 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %786, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Key", 3 - %788 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @52, i64 40 }, i64 7, i64 8, i64 1, i64 1) + %788 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @44, i64 4 }, i64 7, i64 8, i64 1, i64 1) %789 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 %790 = icmp eq ptr %789, null br i1 %790, label %_llgo_95, label %_llgo_96 @@ -1682,10 +1668,10 @@ _llgo_98: ; preds = %_llgo_97, %_llgo_96 _llgo_99: ; preds = %_llgo_98 %795 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %796 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %795, 1 + %796 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @45, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %795, 1 %797 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %796, ptr @"github.com/goplus/llgo/internal/abi.(*Kind).String", 2 %798 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %797, ptr @"github.com/goplus/llgo/internal/abi.(*Kind).String", 3 - %799 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %795, 1 + %799 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @45, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %795, 1 %800 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %799, ptr @"github.com/goplus/llgo/internal/abi.(*Kind).String", 2 %801 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %800, ptr @"github.com/goplus/llgo/internal/abi.Kind.String", 3 %802 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) @@ -1700,7 +1686,7 @@ _llgo_99: ; preds = %_llgo_98 %809 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %807, 0 %810 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %809, i64 1, 1 %811 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %810, i64 1, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %788, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr %794, %"github.com/goplus/llgo/internal/runtime.Slice" %806, %"github.com/goplus/llgo/internal/runtime.Slice" %811) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %788, ptr %794, %"github.com/goplus/llgo/internal/runtime.Slice" %806, %"github.com/goplus/llgo/internal/runtime.Slice" %811) br label %_llgo_100 _llgo_100: ; preds = %_llgo_99, %_llgo_98 @@ -1728,14 +1714,14 @@ _llgo_101: ; preds = %_llgo_100 _llgo_102: ; preds = %_llgo_101, %_llgo_100 %826 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %827 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %826, 1 + %827 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @44, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %826, 1 %828 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %827, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Kind", 2 %829 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %828, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Kind", 3 %830 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %831 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %830, 1 + %831 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %830, 1 %832 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %831, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Len", 2 %833 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %832, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Len", 3 - %834 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @55, i64 43 }, i64 25, i64 136, i64 0, i64 26) + %834 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 7 }, i64 25, i64 136, i64 0, i64 26) %835 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 %836 = icmp eq ptr %835, null br i1 %836, label %_llgo_103, label %_llgo_104 @@ -1806,7 +1792,7 @@ _llgo_106: ; preds = %_llgo_105, %_llgo_1 %879 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %876, 0 %880 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %879, i64 2, 1 %881 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %880, i64 2, 2 - %882 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %881) + %882 = 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" %881) store ptr %882, ptr @"main.struct$2gmPOZCguOeDHn3rO8wA0kSBY0yVjg54EviMsNeV45o", align 8 %883 = load ptr, ptr @"main.struct$2gmPOZCguOeDHn3rO8wA0kSBY0yVjg54EviMsNeV45o", align 8 %884 = load ptr, ptr @_llgo_uint16, align 8 @@ -1820,20 +1806,20 @@ _llgo_107: ; preds = %_llgo_106 _llgo_108: ; preds = %_llgo_107, %_llgo_106 %887 = load ptr, ptr @_llgo_uint16, align 8 - %888 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %889 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %890 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %891 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %888 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 80, i64 0, i64 23) + %889 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 80, i64 0, i64 23) + %890 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 80, i64 0, i64 23) + %891 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 80, i64 0, i64 23) %892 = load ptr, ptr @_llgo_Pointer, align 8 %893 = load ptr, ptr @_llgo_uintptr, align 8 %894 = load ptr, ptr @_llgo_uintptr, align 8 - %895 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %888, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) + %895 = 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 4 }, ptr %888, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) %896 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %889) - %897 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr %896, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %897 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @43, i64 3 }, ptr %896, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %898 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %890) - %899 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr %898, i64 80, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %899 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 4 }, ptr %898, i64 80, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %900 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %891) - %901 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @56, i64 6 }, ptr %900, i64 88, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %901 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @47, i64 6 }, ptr %900, i64 88, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %902 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) %903 = getelementptr ptr, ptr %902, i64 0 store ptr %892, ptr %903, align 8 @@ -1860,16 +1846,16 @@ _llgo_108: ; preds = %_llgo_107, %_llgo_1 %920 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %917, 0 %921 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %920, i64 2, 1 %922 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %921, i64 2, 2 - %923 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %922) - %924 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @57, i64 6 }, ptr %923, i64 96, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %923 = 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" %922) + %924 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 6 }, ptr %923, i64 96, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %925 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %926 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @58, i64 7 }, ptr %925, i64 112, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %926 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 7 }, ptr %925, i64 112, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %927 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %928 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @59, i64 9 }, ptr %927, i64 113, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %928 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 9 }, ptr %927, i64 113, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %929 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) - %930 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @60, i64 10 }, ptr %929, i64 114, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %930 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 10 }, ptr %929, i64 114, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %931 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) - %932 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @61, i64 5 }, ptr %931, i64 116, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %932 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @52, i64 5 }, ptr %931, i64 116, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %933 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 504) %934 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %933, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %895, ptr %934, align 8 @@ -1892,86 +1878,86 @@ _llgo_108: ; preds = %_llgo_107, %_llgo_1 %943 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %933, 0 %944 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %943, i64 9, 1 %945 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %944, i64 9, 2 - %946 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 120, %"github.com/goplus/llgo/internal/runtime.Slice" %945) + %946 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, i64 120, %"github.com/goplus/llgo/internal/runtime.Slice" %945) store ptr %946, ptr @"main.struct$jgHT3zlvUCWdGAH-l4Nn1MOOw31LQoSt74SxHNLR50Q", align 8 %947 = load ptr, ptr @"main.struct$jgHT3zlvUCWdGAH-l4Nn1MOOw31LQoSt74SxHNLR50Q", align 8 br i1 %836, label %_llgo_109, label %_llgo_110 _llgo_109: ; preds = %_llgo_108 %948 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %949 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %948, 1 + %949 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %948, 1 %950 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %949, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Align", 2 %951 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %950, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Align", 3 %952 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 %953 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %954 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %953, 1 + %954 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %953, 1 %955 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %954, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ArrayType", 2 %956 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %955, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ArrayType", 3 %957 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %958 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %957, 1 + %958 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %957, 1 %959 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %958, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ChanDir", 2 %960 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %959, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ChanDir", 3 %961 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %962 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %963 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %962, 1 + %963 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %962, 1 %964 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %963, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Common", 2 %965 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %964, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Common", 3 %966 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 %967 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %968 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %967, 1 + %968 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %967, 1 %969 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %968, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ExportedMethods", 2 %970 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %969, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ExportedMethods", 3 %971 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %972 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %971, 1 + %972 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @29, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %971, 1 %973 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %972, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FieldAlign", 2 %974 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %973, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FieldAlign", 3 %975 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 %976 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %977 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %976, 1 + %977 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %976, 1 %978 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %977, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FuncType", 2 %979 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %978, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FuncType", 3 %980 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %981 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %980, 1 + %981 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %980, 1 %982 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %981, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HasName", 2 %983 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %982, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HasName", 3 %984 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %985 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @62, i64 14 }, ptr undef, ptr undef, ptr undef }, ptr %984, 1 + %985 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 14 }, ptr undef, ptr undef, ptr undef }, ptr %984, 1 %986 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %985, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HashMightPanic", 2 %987 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %986, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HashMightPanic", 3 %988 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %989 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %988, 1 + %989 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @31, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %988, 1 %990 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %989, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IfaceIndir", 2 %991 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %990, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IfaceIndir", 3 %992 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %993 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @63, i64 12 }, ptr undef, ptr undef, ptr undef }, ptr %992, 1 + %993 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 12 }, ptr undef, ptr undef, ptr undef }, ptr %992, 1 %994 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %993, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectElem", 2 %995 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %994, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectElem", 3 %996 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %997 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @64, i64 11 }, ptr undef, ptr undef, ptr undef }, ptr %996, 1 + %997 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @55, i64 11 }, ptr undef, ptr undef, ptr undef }, ptr %996, 1 %998 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %997, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectKey", 2 %999 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %998, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectKey", 3 %1000 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 %1001 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %1002 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1001, 1 + %1002 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @32, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1001, 1 %1003 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1002, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).InterfaceType", 2 %1004 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1003, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).InterfaceType", 3 %1005 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1006 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1005, 1 + %1006 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @41, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1005, 1 %1007 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1006, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IsClosure", 2 %1008 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1007, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IsClosure", 3 %1009 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1010 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1009, 1 + %1010 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @42, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1009, 1 %1011 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1010, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IsDirectIface", 2 %1012 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1011, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IsDirectIface", 3 %1013 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %1014 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1013, 1 + %1014 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @44, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1013, 1 %1015 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1014, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Kind", 2 %1016 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1015, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Kind", 3 %1017 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1018 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %1017, 1 + %1018 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %1017, 1 %1019 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1018, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Len", 2 %1020 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1019, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Len", 3 - %1021 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @55, i64 43 }, i64 25, i64 136, i64 0, i64 26) + %1021 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 7 }, i64 25, i64 136, i64 0, i64 26) %1022 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 %1023 = icmp eq ptr %1022, null br i1 %1023, label %_llgo_111, label %_llgo_112 @@ -1980,32 +1966,32 @@ _llgo_110: ; preds = %_llgo_130, %_llgo_1 %1024 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 %1025 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 %1026 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %1027 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1026, 1 + %1027 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1026, 1 %1028 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1027, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).MapType", 2 %1029 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1028, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).MapType", 3 %1030 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1031 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1030, 1 + %1031 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @57, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1030, 1 %1032 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1031, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).NumMethod", 2 %1033 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1032, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).NumMethod", 3 %1034 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1035 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1034, 1 + %1035 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @58, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1034, 1 %1036 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1035, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Pointers", 2 %1037 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1036, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Pointers", 3 %1038 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %1039 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1038, 1 + %1039 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @60, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1038, 1 %1040 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1039, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Size", 2 %1041 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1040, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Size", 3 %1042 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %1043 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1042, 1 + %1043 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @45, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1042, 1 %1044 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1043, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).String", 2 %1045 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1044, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).String", 3 %1046 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 %1047 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %1048 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1047, 1 + %1048 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @61, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1047, 1 %1049 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1048, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).StructType", 2 %1050 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1049, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).StructType", 3 %1051 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %1052 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1051, 1 + %1052 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1051, 1 %1053 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1052, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Uncommon", 2 %1054 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1053, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Uncommon", 3 %1055 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 920) @@ -2058,7 +2044,7 @@ _llgo_110: ; preds = %_llgo_130, %_llgo_1 %1079 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1055, 0 %1080 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1079, i64 23, 1 %1081 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1080, i64 23, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %541, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr %618, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1081) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %541, ptr %618, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1081) br label %_llgo_90 _llgo_111: ; preds = %_llgo_109 @@ -2092,23 +2078,23 @@ _llgo_113: ; preds = %_llgo_112 _llgo_114: ; preds = %_llgo_113, %_llgo_112 %1097 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %1098 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1097, 1 + %1098 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1097, 1 %1099 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1098, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).MapType", 2 %1100 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1099, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).MapType", 3 %1101 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1102 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @65, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1101, 1 + %1102 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @56, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1101, 1 %1103 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1102, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NeedKeyUpdate", 2 %1104 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1103, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NeedKeyUpdate", 3 %1105 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1106 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1105, 1 + %1106 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @57, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1105, 1 %1107 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1106, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NumMethod", 2 %1108 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1107, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NumMethod", 3 %1109 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1110 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1109, 1 + %1110 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @58, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1109, 1 %1111 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1110, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Pointers", 2 %1112 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1111, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Pointers", 3 %1113 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1114 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @68, i64 12 }, ptr undef, ptr undef, ptr undef }, ptr %1113, 1 + %1114 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @59, i64 12 }, ptr undef, ptr undef, ptr undef }, ptr %1113, 1 %1115 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1114, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ReflexiveKey", 2 %1116 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1115, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ReflexiveKey", 3 %1117 = load ptr, ptr @_llgo_uintptr, align 8 @@ -2134,14 +2120,14 @@ _llgo_115: ; preds = %_llgo_114 _llgo_116: ; preds = %_llgo_115, %_llgo_114 %1130 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %1131 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1130, 1 + %1131 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @60, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1130, 1 %1132 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1131, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Size", 2 %1133 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1132, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Size", 3 %1134 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %1135 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1134, 1 + %1135 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @45, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1134, 1 %1136 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1135, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).String", 2 %1137 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1136, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).String", 3 - %1138 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @71, i64 46 }, i64 25, i64 120, i64 0, i64 23) + %1138 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @61, i64 10 }, i64 25, i64 120, i64 0, i64 23) %1139 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 %1140 = icmp eq ptr %1139, null br i1 %1140, label %_llgo_117, label %_llgo_118 @@ -2151,7 +2137,7 @@ _llgo_117: ; preds = %_llgo_116 br label %_llgo_118 _llgo_118: ; preds = %_llgo_117, %_llgo_116 - %1141 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @72, i64 47 }, i64 25, i64 56, i64 0, i64 2) + %1141 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @62, i64 11 }, i64 25, i64 56, i64 0, i64 2) %1142 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 %1143 = icmp eq ptr %1142, null br i1 %1143, label %_llgo_119, label %_llgo_120 @@ -2162,22 +2148,22 @@ _llgo_119: ; preds = %_llgo_118 _llgo_120: ; preds = %_llgo_119, %_llgo_118 %1144 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %1145 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %1145 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 80, i64 0, i64 23) %1146 = load ptr, ptr @"_llgo_struct$GYlWrg0B_axMyyq9xClGPKuTjurG0iQMRoz8Me1fQig", align 8 %1147 = icmp eq ptr %1146, null br i1 %1147, label %_llgo_121, label %_llgo_122 _llgo_121: ; preds = %_llgo_120 %1148 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %1149 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @40, i64 5 }, ptr %1148, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1149 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 5 }, ptr %1148, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1150 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1145) - %1151 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @73, i64 3 }, ptr %1150, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1151 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @63, i64 3 }, ptr %1150, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1152 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - %1153 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @74, i64 6 }, ptr %1152, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1153 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @64, i64 6 }, ptr %1152, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1154 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %1155 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @75, i64 4 }, ptr %1154, i64 32, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1155 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @65, i64 4 }, ptr %1154, i64 32, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1156 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 33) - %1157 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @76, i64 9 }, ptr %1156, i64 48, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1157 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr %1156, i64 48, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1158 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 280) %1159 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1158, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %1149, ptr %1159, align 8 @@ -2192,7 +2178,7 @@ _llgo_121: ; preds = %_llgo_120 %1164 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1158, 0 %1165 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1164, i64 5, 1 %1166 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1165, i64 5, 2 - %1167 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 56, %"github.com/goplus/llgo/internal/runtime.Slice" %1166) + %1167 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, i64 56, %"github.com/goplus/llgo/internal/runtime.Slice" %1166) store ptr %1167, ptr @"_llgo_struct$GYlWrg0B_axMyyq9xClGPKuTjurG0iQMRoz8Me1fQig", align 8 br label %_llgo_122 @@ -2202,11 +2188,11 @@ _llgo_122: ; preds = %_llgo_121, %_llgo_1 _llgo_123: ; preds = %_llgo_122 %1169 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1170 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @77, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1169, 1 + %1170 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1169, 1 %1171 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1170, ptr @"github.com/goplus/llgo/internal/abi.(*StructField).Embedded", 2 %1172 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1171, ptr @"github.com/goplus/llgo/internal/abi.(*StructField).Embedded", 3 %1173 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1174 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @42, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1173, 1 + %1174 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1173, 1 %1175 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1174, ptr @"github.com/goplus/llgo/internal/abi.(*StructField).Exported", 2 %1176 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1175, ptr @"github.com/goplus/llgo/internal/abi.(*StructField).Exported", 3 %1177 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) @@ -2217,12 +2203,12 @@ _llgo_123: ; preds = %_llgo_122 %1180 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1177, 0 %1181 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1180, i64 2, 1 %1182 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1181, i64 2, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1141, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @78, i64 11 }, ptr %1168, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1182) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1141, ptr %1168, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1182) br label %_llgo_124 _llgo_124: ; preds = %_llgo_123, %_llgo_122 %1183 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 - %1184 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @72, i64 47 }, i64 25, i64 56, i64 0, i64 2) + %1184 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @62, i64 11 }, i64 25, i64 56, i64 0, i64 2) %1185 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 %1186 = icmp eq ptr %1185, null br i1 %1186, label %_llgo_125, label %_llgo_126 @@ -2234,18 +2220,18 @@ _llgo_125: ; preds = %_llgo_124 _llgo_126: ; preds = %_llgo_125, %_llgo_124 %1188 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 - %1189 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %1190 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @72, i64 47 }, i64 25, i64 56, i64 0, i64 2) + %1189 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 80, i64 0, i64 23) + %1190 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @62, i64 11 }, i64 25, i64 56, i64 0, i64 2) %1191 = load ptr, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 %1192 = icmp eq ptr %1191, null br i1 %1192, label %_llgo_127, label %_llgo_128 _llgo_127: ; preds = %_llgo_126 - %1193 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %1189, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) + %1193 = 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 4 }, ptr %1189, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) %1194 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %1195 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 8 }, ptr %1194, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1195 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @39, i64 8 }, ptr %1194, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1196 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %1190) - %1197 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @79, i64 6 }, ptr %1196, i64 88, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1197 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @68, i64 6 }, ptr %1196, i64 88, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1198 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) %1199 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1198, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %1193, ptr %1199, align 8 @@ -2256,7 +2242,7 @@ _llgo_127: ; preds = %_llgo_126 %1202 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1198, 0 %1203 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1202, i64 3, 1 %1204 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1203, i64 3, 2 - %1205 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 112, %"github.com/goplus/llgo/internal/runtime.Slice" %1204) + %1205 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, i64 112, %"github.com/goplus/llgo/internal/runtime.Slice" %1204) store ptr %1205, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 br label %_llgo_128 @@ -2266,98 +2252,98 @@ _llgo_128: ; preds = %_llgo_127, %_llgo_1 _llgo_129: ; preds = %_llgo_128 %1207 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1208 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %1207, 1 + %1208 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %1207, 1 %1209 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1208, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Align", 2 %1210 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1209, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Align", 3 %1211 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 %1212 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %1213 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1212, 1 + %1213 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1212, 1 %1214 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1213, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ArrayType", 2 %1215 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1214, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ArrayType", 3 %1216 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %1217 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1216, 1 + %1217 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1216, 1 %1218 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1217, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ChanDir", 2 %1219 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1218, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ChanDir", 3 %1220 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %1221 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %1222 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1221, 1 + %1222 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1221, 1 %1223 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1222, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Common", 2 %1224 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1223, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Common", 3 %1225 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %1226 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %1227 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1226, 1 + %1227 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1226, 1 %1228 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1227, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Elem", 2 %1229 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1228, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Elem", 3 %1230 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 %1231 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %1232 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %1231, 1 + %1232 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %1231, 1 %1233 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1232, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ExportedMethods", 2 %1234 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1233, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ExportedMethods", 3 %1235 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1236 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1235, 1 + %1236 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @29, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1235, 1 %1237 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1236, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FieldAlign", 2 %1238 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1237, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FieldAlign", 3 %1239 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 %1240 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %1241 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1240, 1 + %1241 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1240, 1 %1242 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1241, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FuncType", 2 %1243 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1242, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FuncType", 3 %1244 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1245 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1244, 1 + %1245 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1244, 1 %1246 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1245, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).HasName", 2 %1247 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1246, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).HasName", 3 %1248 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1249 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1248, 1 + %1249 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @31, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1248, 1 %1250 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1249, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IfaceIndir", 2 %1251 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1250, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IfaceIndir", 3 %1252 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 %1253 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %1254 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1253, 1 + %1254 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @32, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1253, 1 %1255 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1254, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).InterfaceType", 2 %1256 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1255, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).InterfaceType", 3 %1257 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1258 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1257, 1 + %1258 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @41, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1257, 1 %1259 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1258, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IsClosure", 2 %1260 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1259, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IsClosure", 3 %1261 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1262 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1261, 1 + %1262 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @42, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1261, 1 %1263 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1262, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IsDirectIface", 2 %1264 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1263, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IsDirectIface", 3 %1265 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %1266 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %1267 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %1266, 1 + %1267 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @43, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %1266, 1 %1268 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1267, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Key", 2 %1269 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1268, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Key", 3 %1270 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %1271 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1270, 1 + %1271 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @44, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1270, 1 %1272 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1271, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Kind", 2 %1273 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1272, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Kind", 3 %1274 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1275 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %1274, 1 + %1275 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %1274, 1 %1276 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1275, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Len", 2 %1277 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1276, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Len", 3 %1278 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 %1279 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %1280 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1279, 1 + %1280 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1279, 1 %1281 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1280, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).MapType", 2 %1282 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1281, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).MapType", 3 %1283 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1284 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1283, 1 + %1284 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @57, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1283, 1 %1285 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1284, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).NumMethod", 2 %1286 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1285, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).NumMethod", 3 %1287 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1288 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1287, 1 + %1288 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @58, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1287, 1 %1289 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1288, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Pointers", 2 %1290 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1289, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Pointers", 3 %1291 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %1292 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1291, 1 + %1292 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @60, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1291, 1 %1293 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1292, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Size", 2 %1294 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1293, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Size", 3 %1295 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %1296 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1295, 1 + %1296 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @45, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1295, 1 %1297 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1296, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).String", 2 %1298 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1297, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).String", 3 - %1299 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @71, i64 46 }, i64 25, i64 120, i64 0, i64 23) + %1299 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @61, i64 10 }, i64 25, i64 120, i64 0, i64 23) %1300 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 %1301 = icmp eq ptr %1300, null br i1 %1301, label %_llgo_131, label %_llgo_132 @@ -2366,11 +2352,11 @@ _llgo_130: ; preds = %_llgo_144, %_llgo_1 %1302 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 %1303 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 %1304 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %1305 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1304, 1 + %1305 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @61, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1304, 1 %1306 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1305, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).StructType", 2 %1307 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1306, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).StructType", 3 %1308 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %1309 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1308, 1 + %1309 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1308, 1 %1310 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1309, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Uncommon", 2 %1311 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1310, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Uncommon", 3 %1312 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 1040) @@ -2429,7 +2415,7 @@ _llgo_130: ; preds = %_llgo_144, %_llgo_1 %1339 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1312, 0 %1340 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1339, i64 26, 1 %1341 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1340, i64 26, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %834, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr %947, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1341) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %834, ptr %947, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1341) br label %_llgo_110 _llgo_131: ; preds = %_llgo_129 @@ -2463,10 +2449,10 @@ _llgo_133: ; preds = %_llgo_132 _llgo_134: ; preds = %_llgo_133, %_llgo_132 %1357 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %1358 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1357, 1 + %1358 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @61, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1357, 1 %1359 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1358, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).StructType", 2 %1360 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1359, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).StructType", 3 - %1361 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @81, i64 48 }, i64 25, i64 24, i64 0, i64 2) + %1361 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 12 }, i64 25, i64 24, i64 0, i64 2) %1362 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 %1363 = icmp eq ptr %1362, null br i1 %1363, label %_llgo_135, label %_llgo_136 @@ -2482,13 +2468,13 @@ _llgo_136: ; preds = %_llgo_135, %_llgo_1 _llgo_137: ; preds = %_llgo_136 %1366 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %1367 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 8 }, ptr %1366, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1367 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @39, i64 8 }, ptr %1366, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1368 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) - %1369 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @82, i64 6 }, ptr %1368, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1369 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @71, i64 6 }, ptr %1368, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1370 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) - %1371 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @83, i64 6 }, ptr %1370, i64 18, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1371 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @72, i64 6 }, ptr %1370, i64 18, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1372 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) - %1373 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @84, i64 4 }, ptr %1372, i64 20, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1373 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @73, i64 4 }, ptr %1372, i64 20, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1374 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) %1375 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1374, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %1367, ptr %1375, align 8 @@ -2501,7 +2487,7 @@ _llgo_137: ; preds = %_llgo_136 %1379 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1374, 0 %1380 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1379, i64 4, 1 %1381 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1380, i64 4, 2 - %1382 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %1381) + %1382 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %1381) store ptr %1382, ptr @"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI", align 8 br label %_llgo_138 @@ -2512,12 +2498,12 @@ _llgo_138: ; preds = %_llgo_137, %_llgo_1 _llgo_139: ; preds = %_llgo_138 %1384 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 %1385 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %1386 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %1385, 1 + %1386 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %1385, 1 %1387 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1386, ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).ExportedMethods", 2 %1388 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1387, ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).ExportedMethods", 3 %1389 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 %1390 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %1391 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @47, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1390, 1 + %1391 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @40, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1390, 1 %1392 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1391, ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).Methods", 2 %1393 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1392, ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).Methods", 3 %1394 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) @@ -2528,12 +2514,12 @@ _llgo_139: ; preds = %_llgo_138 %1397 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1394, 0 %1398 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1397, i64 2, 1 %1399 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1398, i64 2, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1361, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @85, i64 12 }, ptr %1383, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1399) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1361, ptr %1383, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1399) br label %_llgo_140 _llgo_140: ; preds = %_llgo_139, %_llgo_138 %1400 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 - %1401 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @81, i64 48 }, i64 25, i64 24, i64 0, i64 2) + %1401 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 12 }, i64 25, i64 24, i64 0, i64 2) %1402 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 %1403 = icmp eq ptr %1402, null br i1 %1403, label %_llgo_141, label %_llgo_142 @@ -2569,7 +2555,7 @@ _llgo_143: ; preds = %_llgo_142 _llgo_144: ; preds = %_llgo_143, %_llgo_142 %1419 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %1420 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1419, 1 + %1420 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1419, 1 %1421 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1420, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Uncommon", 2 %1422 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1421, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Uncommon", 3 %1423 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 920) @@ -2622,18 +2608,18 @@ _llgo_144: ; preds = %_llgo_143, %_llgo_1 %1447 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1423, 0 %1448 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1447, i64 23, 1 %1449 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1448, i64 23, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1138, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr %1206, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1449) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1138, ptr %1206, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1449) br label %_llgo_130 _llgo_145: ; preds = %_llgo_64 %1450 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %1451 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @40, i64 5 }, ptr %1450, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1451 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 5 }, ptr %1450, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1452 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %472) - %1453 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @87, i64 5 }, ptr %1452, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1453 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @75, i64 5 }, ptr %1452, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1454 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %1455 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @88, i64 4 }, ptr %1454, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1455 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @76, i64 4 }, ptr %1454, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1456 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %1457 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @89, i64 4 }, ptr %1456, i64 32, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1457 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @77, i64 4 }, ptr %1456, i64 32, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1458 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) %1459 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1458, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %1451, ptr %1459, align 8 @@ -2646,7 +2632,7 @@ _llgo_145: ; preds = %_llgo_64 %1463 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1458, 0 %1464 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1463, i64 4, 1 %1465 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1464, i64 4, 2 - %1466 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 40, %"github.com/goplus/llgo/internal/runtime.Slice" %1465) + %1466 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 4 }, i64 40, %"github.com/goplus/llgo/internal/runtime.Slice" %1465) store ptr %1466, ptr @"_llgo_struct$SDp3TNnYnxb26MhB1v8VMbmY71BX77YOaY7lgS1cFx0", align 8 br label %_llgo_146 @@ -2656,15 +2642,15 @@ _llgo_146: ; preds = %_llgo_145, %_llgo_6 _llgo_147: ; preds = %_llgo_146 %1468 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1469 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @42, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1468, 1 + %1469 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1468, 1 %1470 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1469, ptr @"github.com/goplus/llgo/internal/abi.(*Method).Exported", 2 %1471 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1470, ptr @"github.com/goplus/llgo/internal/abi.(*Method).Exported", 3 %1472 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %1473 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @43, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1472, 1 + %1473 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1472, 1 %1474 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1473, ptr @"github.com/goplus/llgo/internal/abi.(*Method).Name", 2 %1475 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1474, ptr @"github.com/goplus/llgo/internal/abi.(*Method).Name", 3 %1476 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %1477 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @44, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1476, 1 + %1477 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @38, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1476, 1 %1478 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1477, ptr @"github.com/goplus/llgo/internal/abi.(*Method).PkgPath", 2 %1479 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1478, ptr @"github.com/goplus/llgo/internal/abi.(*Method).PkgPath", 3 %1480 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 120) @@ -2677,83 +2663,83 @@ _llgo_147: ; preds = %_llgo_146 %1484 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1480, 0 %1485 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1484, i64 3, 1 %1486 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1485, i64 3, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %408, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @90, i64 6 }, ptr %1467, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1486) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %408, ptr %1467, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1486) br label %_llgo_148 _llgo_148: ; preds = %_llgo_147, %_llgo_146 %1487 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 %1488 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 %1489 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %1490 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %1489, 1 + %1490 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %1489, 1 %1491 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1490, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ExportedMethods", 2 %1492 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1491, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ExportedMethods", 3 %1493 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1494 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1493, 1 + %1494 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @29, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1493, 1 %1495 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1494, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FieldAlign", 2 %1496 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1495, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FieldAlign", 3 %1497 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 %1498 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %1499 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1498, 1 + %1499 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1498, 1 %1500 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1499, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FuncType", 2 %1501 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1500, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FuncType", 3 %1502 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1503 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1502, 1 + %1503 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1502, 1 %1504 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1503, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).HasName", 2 %1505 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1504, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).HasName", 3 %1506 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1507 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1506, 1 + %1507 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @31, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1506, 1 %1508 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1507, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IfaceIndir", 2 %1509 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1508, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IfaceIndir", 3 %1510 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 %1511 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %1512 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1511, 1 + %1512 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @32, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1511, 1 %1513 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1512, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).InterfaceType", 2 %1514 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1513, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).InterfaceType", 3 %1515 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1516 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1515, 1 + %1516 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @41, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1515, 1 %1517 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1516, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IsClosure", 2 %1518 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1517, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IsClosure", 3 %1519 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1520 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1519, 1 + %1520 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @42, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1519, 1 %1521 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1520, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IsDirectIface", 2 %1522 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1521, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IsDirectIface", 3 %1523 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 %1524 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %1525 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %1524, 1 + %1525 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @43, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %1524, 1 %1526 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1525, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Key", 2 %1527 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1526, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Key", 3 %1528 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %1529 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1528, 1 + %1529 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @44, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1528, 1 %1530 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1529, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Kind", 2 %1531 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1530, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Kind", 3 %1532 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 %1533 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %1534 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1533, 1 + %1534 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1533, 1 %1535 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1534, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).MapType", 2 %1536 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1535, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).MapType", 3 %1537 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1538 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1537, 1 + %1538 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @57, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1537, 1 %1539 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1538, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).NumMethod", 2 %1540 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1539, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).NumMethod", 3 %1541 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1542 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1541, 1 + %1542 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @58, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1541, 1 %1543 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1542, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Pointers", 2 %1544 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1543, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Pointers", 3 %1545 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %1546 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1545, 1 + %1546 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @60, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1545, 1 %1547 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1546, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Size", 2 %1548 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1547, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Size", 3 %1549 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %1550 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1549, 1 + %1550 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @45, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1549, 1 %1551 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1550, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).String", 2 %1552 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1551, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).String", 3 %1553 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 %1554 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %1555 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1554, 1 + %1555 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @61, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1554, 1 %1556 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1555, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).StructType", 2 %1557 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1556, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).StructType", 3 %1558 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %1559 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1558, 1 + %1559 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1558, 1 %1560 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1559, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Uncommon", 2 %1561 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1560, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Uncommon", 3 %1562 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 840) @@ -2802,7 +2788,7 @@ _llgo_148: ; preds = %_llgo_147, %_llgo_1 %1584 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1562, 0 %1585 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1584, i64 21, 1 %1586 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1585, i64 21, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %190, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr %216, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1586) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %190, ptr %216, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1586) br label %_llgo_42 _llgo_149: ; preds = %_llgo_32 @@ -2812,17 +2798,17 @@ _llgo_149: ; preds = %_llgo_32 _llgo_150: ; preds = %_llgo_149, %_llgo_32 %1588 = load ptr, ptr @"[]_llgo_main.T", align 8 - %1589 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 6 }, i64 25, i64 48, i64 0, i64 0) - %1590 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %1591 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 6 }, i64 25, i64 48, i64 0, i64 0) + %1589 = 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 1 }, i64 25, i64 48, i64 0, i64 0) + %1590 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 25, i64 80, i64 0, i64 23) + %1591 = 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 1 }, i64 25, i64 48, i64 0, i64 0) %1592 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1589) - %1593 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @91, i64 1 }, ptr %1592, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1593 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @78, i64 1 }, ptr %1592, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1594 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1590) - %1595 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @92, i64 1 }, ptr %1594, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1595 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @79, i64 1 }, ptr %1594, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1596 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - %1597 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @93, i64 1 }, ptr %1596, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1597 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 1 }, ptr %1596, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1598 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %1591) - %1599 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @94, i64 1 }, ptr %1598, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1599 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @81, i64 1 }, ptr %1598, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) %1600 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) %1601 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1600, i64 0 store %"github.com/goplus/llgo/internal/abi.StructField" %1593, ptr %1601, align 8 @@ -2835,20 +2821,20 @@ _llgo_150: ; preds = %_llgo_149, %_llgo_3 %1605 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1600, 0 %1606 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1605, i64 4, 1 %1607 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1606, i64 4, 2 - %1608 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 48, %"github.com/goplus/llgo/internal/runtime.Slice" %1607) + %1608 = 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" %1607) store ptr %1608, ptr @"main.struct$FYfyNCnlvkYOztpQWjt-y8D_WY3tpxyt5Qo62CJffTE", align 8 %1609 = load ptr, ptr @"main.struct$FYfyNCnlvkYOztpQWjt-y8D_WY3tpxyt5Qo62CJffTE", align 8 br i1 %2, label %_llgo_151, label %_llgo_152 _llgo_151: ; preds = %_llgo_150 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, %"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @95, i64 1 }, ptr %1609, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, ptr %1609, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_152 _llgo_152: ; preds = %_llgo_151, %_llgo_150 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.PointerTo"(ptr) @@ -2856,7 +2842,7 @@ declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr) 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.Func"(%"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice", i1) diff --git a/cl/_testrt/eface/out.ll b/cl/_testrt/eface/out.ll index 79d01cc8e..3780e3882 100644 --- a/cl/_testrt/eface/out.ll +++ b/cl/_testrt/eface/out.ll @@ -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") diff --git a/cl/_testrt/makemap/out.ll b/cl/_testrt/makemap/out.ll index bedd86f0c..b205df404 100644 --- a/cl/_testrt/makemap/out.ll +++ b/cl/_testrt/makemap/out.ll @@ -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") diff --git a/cl/_testrt/tpabi/out.ll b/cl/_testrt/tpabi/out.ll index 84ca611b3..b360728f7 100644 --- a/cl/_testrt/tpabi/out.ll +++ b/cl/_testrt/tpabi/out.ll @@ -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) diff --git a/cl/_testrt/tpmap/out.ll b/cl/_testrt/tpmap/out.ll index fac4d3d60..92acc1064 100644 --- a/cl/_testrt/tpmap/out.ll +++ b/cl/_testrt/tpmap/out.ll @@ -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") diff --git a/cl/_testrt/tpmethod/out.ll b/cl/_testrt/tpmethod/out.ll index 8c729c868..2ca867f9d 100644 --- a/cl/_testrt/tpmethod/out.ll +++ b/cl/_testrt/tpmethod/out.ll @@ -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) diff --git a/cl/_testrt/typed/out.ll b/cl/_testrt/typed/out.ll index 13d5acba8..d8e714c84 100644 --- a/cl/_testrt/typed/out.ll +++ b/cl/_testrt/typed/out.ll @@ -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) diff --git a/internal/runtime/z_face.go b/internal/runtime/z_face.go index 113dcce28..c9c93c65b 100644 --- a/internal/runtime/z_face.go +++ b/internal/runtime/z_face.go @@ -106,23 +106,23 @@ func hdrSizeOf(kind abi.Kind) uintptr { } } -type rtype struct { - *abi.Type - named string -} - -var rtypeList []*rtype - // NewNamed returns an uninitialized named type. -func NewNamed(name string, kind abi.Kind, size uintptr, methods, ptrMethods int) *Type { - for _, typ := range rtypeList { - if typ.named == name { - return typ.Type - } +func NewNamed(pkgPath string, name string, kind abi.Kind, size uintptr, methods, ptrMethods int) *Type { + if pkgPath != "" { + name = pkgName(pkgPath) + "." + name } - ret := newUninitedNamed(kind, size, methods) - ret.PtrToThis_ = newUninitedNamed(abi.Pointer, pointerSize, ptrMethods) - rtypeList = append(rtypeList, &rtype{Type: ret, named: name}) + if t := rtypeList.findNamed(pkgPath, name); t != nil { + return t + } + ret := allocUncommonType(kind, size, methods, abi.TFlagUninited|abi.TFlagNamed|abi.TFlagUncommon, pkgPath) + ret.Str_ = name + if ptrMethods == 0 { + ret.PtrToThis_ = newPointer(ret) + } else { + ret.PtrToThis_ = allocUncommonType(abi.Pointer, pointerSize, ptrMethods, abi.TFlagUncommon, pkgPath) + setPointer((*abi.PtrType)(unsafe.Pointer(ret.PtrToThis_)), ret) + } + rtypeList.addType(ret) return ret } @@ -140,49 +140,48 @@ func pkgName(path string) string { } // InitNamed initializes an uninitialized named type. -func InitNamed(ret *Type, pkgPath, name string, underlying *Type, methods, ptrMethods []Method) { +func InitNamed(ret *Type, underlying *Type, methods, ptrMethods []Method) { // skip initialized - if ret.TFlag != abi.TFlagUninited { + if ret.TFlag&abi.TFlagUninited == 0 { return } - ptr := ret.PtrToThis_ - if pkgPath != "" { - name = pkgName(pkgPath) + "." + name + setUnderlying(ret, underlying) + if len(methods) > 0 { + setUncommon(ret, methods) + } + if len(ptrMethods) > 0 { + setUncommon(ret.PtrToThis_, ptrMethods) } - doInitNamed(ret, pkgPath, name, underlying, methods) - doInitNamed(ptr, pkgPath, name, newPointer(ret), ptrMethods) - ret.PtrToThis_ = ptr - ptr.TFlag |= abi.TFlagExtraStar } -func newUninitedNamed(kind abi.Kind, size uintptr, methods int) *Type { - allocSize := hdrSizeOf(kind) + uncommonTypeHdrSize + uintptr(methods)*methodSize +func allocUncommonType(kind abi.Kind, size uintptr, methods int, tflag abi.TFlag, pkgPath string) *Type { + baseSize := hdrSizeOf(kind) + allocSize := baseSize + uncommonTypeHdrSize + uintptr(methods)*methodSize ret := (*Type)(AllocU(allocSize)) ret.Size_ = size ret.Kind_ = uint8(kind) - ret.TFlag = abi.TFlagUninited + ret.TFlag = tflag + uncommon := (*abi.UncommonType)(c.Advance(unsafe.Pointer(ret), int(baseSize))) + uncommon.PkgPath_ = pkgPath + uncommon.Moff = uint32(uncommonTypeHdrSize) return ret } -func doInitNamed(ret *Type, pkgPath, fullName string, underlying *Type, methods []Method) { - tflag := underlying.TFlag - if tflag&abi.TFlagUncommon != 0 { - panic("runtime: underlying type is already named") - } +func setUnderlying(ret *Type, underlying *Type) { + str := ret.Str_ + ptr := ret.PtrToThis_ - kind := ret.Kind() - if ret.TFlag != abi.TFlagUninited || kind != underlying.Kind() { - panic("initNamed: unexpected named type") - } + baseSize := hdrSizeOf(ret.Kind()) + c.Memcpy(unsafe.Pointer(ret), unsafe.Pointer(underlying), baseSize) - ptr := unsafe.Pointer(ret) - baseSize := hdrSizeOf(kind) - c.Memcpy(ptr, unsafe.Pointer(underlying), baseSize) + ret.Str_ = str + ret.PtrToThis_ = ptr + ret.TFlag = underlying.TFlag | abi.TFlagNamed | abi.TFlagUncommon +} - ret.TFlag = tflag | abi.TFlagNamed | abi.TFlagUncommon - ret.Str_ = fullName - ret.Equal = underlying.Equal - ret.Size_ = underlying.Size_ +func setUncommon(ret *Type, methods []Method) { + ptr := unsafe.Pointer(ret) + baseSize := hdrSizeOf(ret.Kind()) n := len(methods) xcount := uint16(0) @@ -193,7 +192,6 @@ func doInitNamed(ret *Type, pkgPath, fullName string, underlying *Type, methods xcount++ } uncommon := (*abi.UncommonType)(c.Advance(ptr, int(baseSize))) - uncommon.PkgPath_ = pkgPath uncommon.Mcount = uint16(n) uncommon.Xcount = xcount uncommon.Moff = uint32(uncommonTypeHdrSize) @@ -225,11 +223,11 @@ func Func(in, out []*Type, variadic bool) *FuncType { } func NewNamedInterface(pkgPath, name string) *InterfaceType { - named := pkgPath + "." + name - for _, typ := range rtypeList { - if typ.named == named { - return typ.InterfaceType() - } + if pkgPath != "" { + name = pkgName(pkgPath) + "." + name + } + if t := rtypeList.findNamed(pkgPath, name); t != nil { + return t.InterfaceType() } ret := &struct { abi.InterfaceType @@ -252,7 +250,7 @@ func NewNamedInterface(pkgPath, name string) *InterfaceType { PkgPath_: pkgPath, }, } - rtypeList = append(rtypeList, &rtype{Type: &ret.Type, named: named}) + rtypeList.addType(&ret.Type) return &ret.InterfaceType } diff --git a/internal/runtime/z_type.go b/internal/runtime/z_type.go index 6ef355a82..1440f8424 100644 --- a/internal/runtime/z_type.go +++ b/internal/runtime/z_type.go @@ -234,6 +234,18 @@ func newPointer(elem *Type) *Type { return &ptr.Type } +func setPointer(ptr *abi.PtrType, elem *Type) { + ptr.PtrBytes = pointerSize + ptr.Hash = uint32(abi.Pointer) // TODO(xsw): hash + ptr.Align_ = pointerAlign + ptr.FieldAlign_ = pointerAlign + ptr.Kind_ = uint8(abi.Pointer) + ptr.Equal = memequalptr + ptr.Elem = elem + ptr.Str_ = elem.Str_ + ptr.TFlag |= abi.TFlagRegularMemory | abi.TFlagExtraStar +} + // SliceOf returns the slice type with element elem. func SliceOf(elem *Type) *Type { ret := &abi.SliceType{ @@ -389,4 +401,24 @@ func ispaddedfield(st *structtype, i int) bool { return fd.Offset+fd.Typ.Size_ != end } +type rtypes struct { + types []*abi.Type +} + +func (r *rtypes) findNamed(pkgPath string, name string) *Type { + for _, typ := range r.types { + if typ.TFlag&(abi.TFlagNamed|abi.TFlagUncommon) != 0 && + typ.Str_ == name && typ.Uncommon().PkgPath_ == pkgPath { + return typ + } + } + return nil +} + +func (r *rtypes) addType(typ *Type) { + r.types = append(r.types, typ) +} + +var rtypeList rtypes + // ----------------------------------------------------------------------------- diff --git a/ssa/abitype.go b/ssa/abitype.go index 5b73e7308..a338f84e3 100644 --- a/ssa/abitype.go +++ b/ssa/abitype.go @@ -231,14 +231,15 @@ func (b Builder) abiNamed(t *types.Named) Expr { size := b.sizeof(tunder) numMethods, numPtrMethods := b.abiMethods(t) newNamed := pkg.rtFunc("NewNamed") - expr := b.Call(newNamed, b.Str(NameOf(t)), b.Prog.Val(kind), b.Prog.IntVal(uint64(size), b.Prog.Uintptr()), b.Prog.Val(numMethods), b.Prog.Val(numPtrMethods)) + obj := t.Obj() + expr := b.Call(newNamed, b.Str(abi.PathOf(obj.Pkg())), b.Str(obj.Name()), b.Prog.Val(kind), b.Prog.IntVal(uint64(size), b.Prog.Uintptr()), b.Prog.Val(numMethods), b.Prog.Val(numPtrMethods)) return expr } func (b Builder) abiNamedInterfaceOf(t *types.Named) func() Expr { obj := t.Obj() fn := b.Pkg.rtFunc("NewNamedInterface") - expr := b.Call(fn, b.Str(abi.PathOf(obj.Pkg())), b.Str(abi.TypeName(obj))) + expr := b.Call(fn, b.Str(abi.PathOf(obj.Pkg())), b.Str(obj.Name())) return func() Expr { return expr } @@ -255,9 +256,6 @@ func (b Builder) abiInitNamed(ret Expr, t *types.Named) func() Expr { return func() Expr { pkg := b.Pkg prog := b.Prog - path := abi.PathOf(t.Obj().Pkg()) - name := abi.NamedName(t) - //targs := abi.NamedTypeArgs(t) var initNamed = pkg.rtFunc("InitNamed") var tSlice = lastParamType(prog, initNamed) mset := typeutil.IntuitiveMethodSet(t, nil) @@ -295,7 +293,7 @@ func (b Builder) abiInitNamed(ret Expr, t *types.Named) func() Expr { } ptrMethods = b.SliceLit(tSlice, ptrMthds...) } - return b.Call(initNamed, ret, b.Str(path), b.Str(name), under, methods, ptrMethods) + return b.Call(initNamed, ret, under, methods, ptrMethods) } }