diff --git a/cl/_testgo/equal/out.ll b/cl/_testgo/equal/out.ll index abfde0a4..1634e2de 100644 --- a/cl/_testgo/equal/out.ll +++ b/cl/_testgo/equal/out.ll @@ -612,13 +612,13 @@ _llgo_5: ; preds = %_llgo_4 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %19 = load ptr, ptr @_llgo_main.T, align 8 - %20 = icmp eq ptr %19, null - br i1 %20, label %_llgo_7, label %_llgo_8 + %19 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 48, i64 0, i64 0) + %20 = load ptr, ptr @_llgo_main.T, align 8 + %21 = icmp eq ptr %20, null + br i1 %21, label %_llgo_7, label %_llgo_8 _llgo_7: ; preds = %_llgo_6 - %21 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 48, i64 0, i64 0) - store ptr %21, ptr @_llgo_main.T, align 8 + store ptr %19, ptr @_llgo_main.T, align 8 br label %_llgo_8 _llgo_8: ; preds = %_llgo_7, %_llgo_6 @@ -733,7 +733,7 @@ _llgo_9: ; preds = %_llgo_8 _llgo_10: ; preds = %_llgo_9, %_llgo_8 %93 = load ptr, ptr @"_llgo_struct$5D_KhR3tDEp-wpx9caTiVZca43wS-XW6slE9Bsr8rsk", align 8 - br i1 %20, label %_llgo_11, label %_llgo_12 + br i1 %21, label %_llgo_11, label %_llgo_12 _llgo_11: ; preds = %_llgo_10 %94 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -748,22 +748,22 @@ _llgo_11: ; preds = %_llgo_10 %100 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %98, i32 0, i32 1 store i64 1, ptr %100, align 4 %101 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %98, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %21, %"github.com/goplus/llgo/internal/runtime.String" %97, %"github.com/goplus/llgo/internal/runtime.String" %101, ptr %93, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %19, %"github.com/goplus/llgo/internal/runtime.String" %97, %"github.com/goplus/llgo/internal/runtime.String" %101, ptr %93, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_12 _llgo_12: ; preds = %_llgo_11, %_llgo_10 - %102 = load ptr, ptr @_llgo_main.N, align 8 - %103 = icmp eq ptr %102, null - br i1 %103, label %_llgo_13, label %_llgo_14 + %102 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 0, i64 0, i64 0) + %103 = load ptr, ptr @_llgo_main.N, align 8 + %104 = icmp eq ptr %103, null + br i1 %104, label %_llgo_13, label %_llgo_14 _llgo_13: ; preds = %_llgo_12 - %104 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 0, i64 0, i64 0) - store ptr %104, ptr @_llgo_main.N, align 8 + store ptr %102, ptr @_llgo_main.N, align 8 br label %_llgo_14 _llgo_14: ; preds = %_llgo_13, %_llgo_12 %105 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 - br i1 %103, label %_llgo_15, label %_llgo_16 + br i1 %104, label %_llgo_15, label %_llgo_16 _llgo_15: ; preds = %_llgo_14 %106 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -778,7 +778,7 @@ _llgo_15: ; preds = %_llgo_14 %112 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %110, i32 0, i32 1 store i64 1, ptr %112, align 4 %113 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %110, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %104, %"github.com/goplus/llgo/internal/runtime.String" %109, %"github.com/goplus/llgo/internal/runtime.String" %113, ptr %105, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %102, %"github.com/goplus/llgo/internal/runtime.String" %109, %"github.com/goplus/llgo/internal/runtime.String" %113, ptr %105, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_16 _llgo_16: ; preds = %_llgo_15, %_llgo_14 diff --git a/cl/_testgo/ifaceconv/out.ll b/cl/_testgo/ifaceconv/out.ll index f29e80e4..5870105e 100644 --- a/cl/_testgo/ifaceconv/out.ll +++ b/cl/_testgo/ifaceconv/out.ll @@ -1023,13 +1023,13 @@ _llgo_10: ; preds = %_llgo_9, %_llgo_8 %157 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %154, align 8 %158 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %153, %"github.com/goplus/llgo/internal/runtime.String" %157, %"github.com/goplus/llgo/internal/runtime.Slice" %149) store ptr %158, ptr @"main.iface$gZBF8fFlqIMZ9M6lT2VWPyc3eu5Co6j0WoKGIEgDPAw", align 8 - %159 = load ptr, ptr @_llgo_main.C1, align 8 - %160 = icmp eq ptr %159, null - br i1 %160, label %_llgo_11, label %_llgo_12 + %159 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 0, i64 1, i64 1) + %160 = load ptr, ptr @_llgo_main.C1, align 8 + %161 = icmp eq ptr %160, null + br i1 %161, label %_llgo_11, label %_llgo_12 _llgo_11: ; preds = %_llgo_10 - %161 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 0, i64 1, i64 1) - store ptr %161, ptr @_llgo_main.C1, align 8 + store ptr %159, ptr @_llgo_main.C1, align 8 br label %_llgo_12 _llgo_12: ; preds = %_llgo_11, %_llgo_10 @@ -1059,7 +1059,7 @@ _llgo_13: ; preds = %_llgo_12 _llgo_14: ; preds = %_llgo_13, %_llgo_12 %175 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 - br i1 %160, label %_llgo_15, label %_llgo_16 + br i1 %161, label %_llgo_15, label %_llgo_16 _llgo_15: ; preds = %_llgo_14 %176 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1129,22 +1129,22 @@ _llgo_15: ; preds = %_llgo_14 %217 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %215, i32 0, i32 1 store i64 2, ptr %217, align 4 %218 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %215, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %161, %"github.com/goplus/llgo/internal/runtime.String" %214, %"github.com/goplus/llgo/internal/runtime.String" %218, ptr %175, %"github.com/goplus/llgo/internal/runtime.Slice" %203, %"github.com/goplus/llgo/internal/runtime.Slice" %210) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %159, %"github.com/goplus/llgo/internal/runtime.String" %214, %"github.com/goplus/llgo/internal/runtime.String" %218, ptr %175, %"github.com/goplus/llgo/internal/runtime.Slice" %203, %"github.com/goplus/llgo/internal/runtime.Slice" %210) br label %_llgo_16 _llgo_16: ; preds = %_llgo_15, %_llgo_14 - %219 = load ptr, ptr @_llgo_main.C2, align 8 - %220 = icmp eq ptr %219, null - br i1 %220, label %_llgo_17, label %_llgo_18 + %219 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 0, i64 2, i64 2) + %220 = load ptr, ptr @_llgo_main.C2, align 8 + %221 = icmp eq ptr %220, null + br i1 %221, label %_llgo_17, label %_llgo_18 _llgo_17: ; preds = %_llgo_16 - %221 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 0, i64 2, i64 2) - store ptr %221, ptr @_llgo_main.C2, align 8 + store ptr %219, ptr @_llgo_main.C2, align 8 br label %_llgo_18 _llgo_18: ; preds = %_llgo_17, %_llgo_16 %222 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 - br i1 %220, label %_llgo_19, label %_llgo_20 + br i1 %221, label %_llgo_19, label %_llgo_20 _llgo_19: ; preds = %_llgo_18 %223 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1251,7 +1251,7 @@ _llgo_19: ; preds = %_llgo_18 %287 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %285, i32 0, i32 1 store i64 2, ptr %287, align 4 %288 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %285, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %221, %"github.com/goplus/llgo/internal/runtime.String" %284, %"github.com/goplus/llgo/internal/runtime.String" %288, ptr %222, %"github.com/goplus/llgo/internal/runtime.Slice" %272, %"github.com/goplus/llgo/internal/runtime.Slice" %280) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %219, %"github.com/goplus/llgo/internal/runtime.String" %284, %"github.com/goplus/llgo/internal/runtime.String" %288, ptr %222, %"github.com/goplus/llgo/internal/runtime.Slice" %272, %"github.com/goplus/llgo/internal/runtime.Slice" %280) br label %_llgo_20 _llgo_20: ; preds = %_llgo_19, %_llgo_18 diff --git a/cl/_testgo/interface/out.ll b/cl/_testgo/interface/out.ll index b1fb20a1..1b7b3bb6 100644 --- a/cl/_testgo/interface/out.ll +++ b/cl/_testgo/interface/out.ll @@ -250,37 +250,37 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64) define void @"main.init$after"() { _llgo_0: - %0 = load ptr, ptr @_llgo_main.Game1, align 8 - %1 = icmp eq ptr %0, null - br i1 %1, label %_llgo_1, label %_llgo_2 + %0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(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 _llgo_1: ; preds = %_llgo_0 - %2 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 8, i64 2, i64 2) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2) - store ptr %2, ptr @_llgo_main.Game1, align 8 + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %0) + store ptr %0, ptr @_llgo_main.Game1, align 8 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 - %3 = load ptr, ptr @"_llgo_struct$cJmCzeVn0orHWafCrTGAnbbAF46F2A4Fms4bJBm8ITI", align 8 - %4 = icmp eq ptr %3, null - br i1 %4, label %_llgo_3, label %_llgo_4 + %3 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 0, i64 0, i64 2) + %4 = load ptr, ptr @"_llgo_struct$cJmCzeVn0orHWafCrTGAnbbAF46F2A4Fms4bJBm8ITI", align 8 + %5 = icmp eq ptr %4, null + br i1 %5, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 - %5 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %5, i32 0, i32 0 - store ptr @0, ptr %6, align 8 - %7 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %5, i32 0, i32 1 - store i64 4, ptr %7, align 4 - %8 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %5, align 8 - %9 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %10 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %9, i32 0, i32 0 - store ptr null, ptr %10, align 8 - %11 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %9, i32 0, i32 1 - store i64 0, ptr %11, align 4 - %12 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %9, align 8 - %13 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 0, i64 0, i64 2) - %14 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %13) - %15 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %8, ptr %14, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %12, i1 true) + %6 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %7 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %6, i32 0, i32 0 + store ptr @0, ptr %7, align 8 + %8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %6, i32 0, i32 1 + store i64 4, ptr %8, align 4 + %9 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %6, align 8 + %10 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %11 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %10, i32 0, i32 0 + store ptr null, ptr %11, align 8 + %12 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %10, i32 0, i32 1 + store i64 0, ptr %12, align 4 + %13 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %10, align 8 + %14 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %3) + %15 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %9, ptr %14, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %13, i1 true) %16 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %17 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %16, i32 0, i32 0 store ptr @1, ptr %17, align 8 @@ -305,7 +305,7 @@ _llgo_3: ; preds = %_llgo_2 _llgo_4: ; preds = %_llgo_3, %_llgo_2 %28 = load ptr, ptr @"_llgo_struct$cJmCzeVn0orHWafCrTGAnbbAF46F2A4Fms4bJBm8ITI", align 8 - br i1 %1, label %_llgo_5, label %_llgo_6 + br i1 %2, label %_llgo_5, label %_llgo_6 _llgo_5: ; preds = %_llgo_4 %29 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -428,23 +428,23 @@ _llgo_8: ; preds = %_llgo_7, %_llgo_5 %99 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %97, i32 0, i32 1 store i64 5, ptr %99, align 4 %100 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %97, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %2, %"github.com/goplus/llgo/internal/runtime.String" %96, %"github.com/goplus/llgo/internal/runtime.String" %100, ptr %28, %"github.com/goplus/llgo/internal/runtime.Slice" %84, %"github.com/goplus/llgo/internal/runtime.Slice" %92) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, %"github.com/goplus/llgo/internal/runtime.String" %96, %"github.com/goplus/llgo/internal/runtime.String" %100, ptr %28, %"github.com/goplus/llgo/internal/runtime.Slice" %84, %"github.com/goplus/llgo/internal/runtime.Slice" %92) br label %_llgo_6 _llgo_9: ; preds = %_llgo_6 - %101 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %2) + %101 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %0) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %101) store ptr %101, ptr @"*_llgo_main.Game1", align 8 br label %_llgo_10 _llgo_10: ; preds = %_llgo_9, %_llgo_6 - %102 = load ptr, ptr @_llgo_main.Game2, align 8 - %103 = icmp eq ptr %102, null - br i1 %103, label %_llgo_11, label %_llgo_12 + %102 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 0, i64 0, i64 1) + %103 = load ptr, ptr @_llgo_main.Game2, align 8 + %104 = icmp eq ptr %103, null + br i1 %104, label %_llgo_11, label %_llgo_12 _llgo_11: ; preds = %_llgo_10 - %104 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 0, i64 0, i64 1) - store ptr %104, ptr @_llgo_main.Game2, align 8 + store ptr %102, ptr @_llgo_main.Game2, align 8 br label %_llgo_12 _llgo_12: ; preds = %_llgo_11, %_llgo_10 @@ -474,7 +474,7 @@ _llgo_13: ; preds = %_llgo_12 _llgo_14: ; preds = %_llgo_13, %_llgo_12 %118 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 - br i1 %103, label %_llgo_15, label %_llgo_16 + br i1 %104, label %_llgo_15, label %_llgo_16 _llgo_15: ; preds = %_llgo_14 %119 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -523,7 +523,7 @@ _llgo_15: ; preds = %_llgo_14 %147 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %145, i32 0, i32 1 store i64 5, ptr %147, align 4 %148 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %145, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %104, %"github.com/goplus/llgo/internal/runtime.String" %144, %"github.com/goplus/llgo/internal/runtime.String" %148, ptr %118, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %140) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %102, %"github.com/goplus/llgo/internal/runtime.String" %144, %"github.com/goplus/llgo/internal/runtime.String" %148, ptr %118, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %140) br label %_llgo_16 _llgo_16: ; preds = %_llgo_15, %_llgo_14 @@ -532,7 +532,7 @@ _llgo_16: ; preds = %_llgo_15, %_llgo_14 br i1 %150, label %_llgo_17, label %_llgo_18 _llgo_17: ; preds = %_llgo_16 - %151 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %104) + %151 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %102) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %151) store ptr %151, ptr @"*_llgo_main.Game2", align 8 br label %_llgo_18 diff --git a/cl/_testgo/invoke/out.ll b/cl/_testgo/invoke/out.ll index 9eed1423..03a2ae86 100644 --- a/cl/_testgo/invoke/out.ll +++ b/cl/_testgo/invoke/out.ll @@ -645,13 +645,13 @@ _llgo_0: define void @"main.init$after"() { _llgo_0: - %0 = load ptr, ptr @_llgo_main.T, align 8 - %1 = icmp eq ptr %0, null - br i1 %1, label %_llgo_1, label %_llgo_2 + %0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(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 _llgo_1: ; preds = %_llgo_0 - %2 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 16, i64 1, i64 2) - store ptr %2, ptr @_llgo_main.T, align 8 + store ptr %0, ptr @_llgo_main.T, align 8 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 @@ -689,7 +689,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 %24 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %16, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %23) store ptr %24, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 %25 = load ptr, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 - br i1 %1, label %_llgo_3, label %_llgo_4 + br i1 %2, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 %26 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -849,7 +849,7 @@ _llgo_10: ; preds = %_llgo_9, %_llgo_8 %113 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %111, i32 0, i32 1 store i64 1, ptr %113, align 4 %114 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %111, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %2, %"github.com/goplus/llgo/internal/runtime.String" %110, %"github.com/goplus/llgo/internal/runtime.String" %114, ptr %25, %"github.com/goplus/llgo/internal/runtime.Slice" %98, %"github.com/goplus/llgo/internal/runtime.Slice" %106) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, %"github.com/goplus/llgo/internal/runtime.String" %110, %"github.com/goplus/llgo/internal/runtime.String" %114, ptr %25, %"github.com/goplus/llgo/internal/runtime.Slice" %98, %"github.com/goplus/llgo/internal/runtime.Slice" %106) br label %_llgo_4 _llgo_11: ; preds = %_llgo_4 @@ -898,24 +898,24 @@ _llgo_12: ; preds = %_llgo_11, %_llgo_4 br i1 %140, label %_llgo_13, label %_llgo_14 _llgo_13: ; preds = %_llgo_12 - %141 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %2) + %141 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %0) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %141) store ptr %141, ptr @"*_llgo_main.T", align 8 br label %_llgo_14 _llgo_14: ; preds = %_llgo_13, %_llgo_12 - %142 = load ptr, ptr @_llgo_main.T1, align 8 - %143 = icmp eq ptr %142, null - br i1 %143, label %_llgo_15, label %_llgo_16 + %142 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 2, i64 8, i64 1, i64 1) + %143 = load ptr, ptr @_llgo_main.T1, align 8 + %144 = icmp eq ptr %143, null + br i1 %144, label %_llgo_15, label %_llgo_16 _llgo_15: ; preds = %_llgo_14 - %144 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 2, i64 8, i64 1, i64 1) - store ptr %144, ptr @_llgo_main.T1, align 8 + store ptr %142, ptr @_llgo_main.T1, align 8 br label %_llgo_16 _llgo_16: ; preds = %_llgo_15, %_llgo_14 %145 = load ptr, ptr @_llgo_int, align 8 - br i1 %143, label %_llgo_17, label %_llgo_18 + br i1 %144, label %_llgo_17, label %_llgo_18 _llgo_17: ; preds = %_llgo_16 %146 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -979,7 +979,7 @@ _llgo_17: ; preds = %_llgo_16 %183 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %181, i32 0, i32 1 store i64 2, ptr %183, align 4 %184 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %181, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %144, %"github.com/goplus/llgo/internal/runtime.String" %180, %"github.com/goplus/llgo/internal/runtime.String" %184, ptr %145, %"github.com/goplus/llgo/internal/runtime.Slice" %169, %"github.com/goplus/llgo/internal/runtime.Slice" %176) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %142, %"github.com/goplus/llgo/internal/runtime.String" %180, %"github.com/goplus/llgo/internal/runtime.String" %184, ptr %145, %"github.com/goplus/llgo/internal/runtime.Slice" %169, %"github.com/goplus/llgo/internal/runtime.Slice" %176) br label %_llgo_18 _llgo_18: ; preds = %_llgo_17, %_llgo_16 @@ -988,19 +988,19 @@ _llgo_18: ; preds = %_llgo_17, %_llgo_16 br i1 %186, label %_llgo_19, label %_llgo_20 _llgo_19: ; preds = %_llgo_18 - %187 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %144) + %187 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %142) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %187) store ptr %187, ptr @"*_llgo_main.T1", align 8 br label %_llgo_20 _llgo_20: ; preds = %_llgo_19, %_llgo_18 - %188 = load ptr, ptr @_llgo_main.T2, align 8 - %189 = icmp eq ptr %188, null - br i1 %189, label %_llgo_21, label %_llgo_22 + %188 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 14, i64 8, i64 1, i64 1) + %189 = load ptr, ptr @_llgo_main.T2, align 8 + %190 = icmp eq ptr %189, null + br i1 %190, label %_llgo_21, label %_llgo_22 _llgo_21: ; preds = %_llgo_20 - %190 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 14, i64 8, i64 1, i64 1) - store ptr %190, ptr @_llgo_main.T2, align 8 + store ptr %188, ptr @_llgo_main.T2, align 8 br label %_llgo_22 _llgo_22: ; preds = %_llgo_21, %_llgo_20 @@ -1015,7 +1015,7 @@ _llgo_23: ; preds = %_llgo_22 _llgo_24: ; preds = %_llgo_23, %_llgo_22 %194 = load ptr, ptr @_llgo_float64, align 8 - br i1 %189, label %_llgo_25, label %_llgo_26 + br i1 %190, label %_llgo_25, label %_llgo_26 _llgo_25: ; preds = %_llgo_24 %195 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1079,7 +1079,7 @@ _llgo_25: ; preds = %_llgo_24 %232 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %230, i32 0, i32 1 store i64 2, ptr %232, align 4 %233 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %230, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %190, %"github.com/goplus/llgo/internal/runtime.String" %229, %"github.com/goplus/llgo/internal/runtime.String" %233, ptr %194, %"github.com/goplus/llgo/internal/runtime.Slice" %218, %"github.com/goplus/llgo/internal/runtime.Slice" %225) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %188, %"github.com/goplus/llgo/internal/runtime.String" %229, %"github.com/goplus/llgo/internal/runtime.String" %233, ptr %194, %"github.com/goplus/llgo/internal/runtime.Slice" %218, %"github.com/goplus/llgo/internal/runtime.Slice" %225) br label %_llgo_26 _llgo_26: ; preds = %_llgo_25, %_llgo_24 @@ -1088,19 +1088,19 @@ _llgo_26: ; preds = %_llgo_25, %_llgo_24 br i1 %235, label %_llgo_27, label %_llgo_28 _llgo_27: ; preds = %_llgo_26 - %236 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %190) + %236 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %188) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %236) store ptr %236, ptr @"*_llgo_main.T2", align 8 br label %_llgo_28 _llgo_28: ; preds = %_llgo_27, %_llgo_26 - %237 = load ptr, ptr @_llgo_main.T3, align 8 - %238 = icmp eq ptr %237, null - br i1 %238, label %_llgo_29, label %_llgo_30 + %237 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 3, i64 1, i64 0, i64 1) + %238 = load ptr, ptr @_llgo_main.T3, align 8 + %239 = icmp eq ptr %238, null + br i1 %239, label %_llgo_29, label %_llgo_30 _llgo_29: ; preds = %_llgo_28 - %239 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 3, i64 1, i64 0, i64 1) - store ptr %239, ptr @_llgo_main.T3, align 8 + store ptr %237, ptr @_llgo_main.T3, align 8 br label %_llgo_30 _llgo_30: ; preds = %_llgo_29, %_llgo_28 @@ -1115,7 +1115,7 @@ _llgo_31: ; preds = %_llgo_30 _llgo_32: ; preds = %_llgo_31, %_llgo_30 %243 = load ptr, ptr @_llgo_int8, align 8 - br i1 %238, label %_llgo_33, label %_llgo_34 + br i1 %239, label %_llgo_33, label %_llgo_34 _llgo_33: ; preds = %_llgo_32 %244 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1158,7 +1158,7 @@ _llgo_33: ; preds = %_llgo_32 %268 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %266, i32 0, i32 1 store i64 2, ptr %268, align 4 %269 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %266, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %239, %"github.com/goplus/llgo/internal/runtime.String" %265, %"github.com/goplus/llgo/internal/runtime.String" %269, ptr %243, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %261) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %237, %"github.com/goplus/llgo/internal/runtime.String" %265, %"github.com/goplus/llgo/internal/runtime.String" %269, ptr %243, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %261) br label %_llgo_34 _llgo_34: ; preds = %_llgo_33, %_llgo_32 @@ -1167,19 +1167,19 @@ _llgo_34: ; preds = %_llgo_33, %_llgo_32 br i1 %271, label %_llgo_35, label %_llgo_36 _llgo_35: ; preds = %_llgo_34 - %272 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %239) + %272 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %237) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %272) store ptr %272, ptr @"*_llgo_main.T3", align 8 br label %_llgo_36 _llgo_36: ; preds = %_llgo_35, %_llgo_34 - %273 = load ptr, ptr @_llgo_main.T4, align 8 - %274 = icmp eq ptr %273, null - br i1 %274, label %_llgo_37, label %_llgo_38 + %273 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 17, i64 8, i64 1, i64 1) + %274 = load ptr, ptr @_llgo_main.T4, align 8 + %275 = icmp eq ptr %274, null + br i1 %275, label %_llgo_37, label %_llgo_38 _llgo_37: ; preds = %_llgo_36 - %275 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 17, i64 8, i64 1, i64 1) - store ptr %275, ptr @_llgo_main.T4, align 8 + store ptr %273, ptr @_llgo_main.T4, align 8 br label %_llgo_38 _llgo_38: ; preds = %_llgo_37, %_llgo_36 @@ -1196,7 +1196,7 @@ _llgo_39: ; preds = %_llgo_38 _llgo_40: ; preds = %_llgo_39, %_llgo_38 %281 = load ptr, ptr @"[1]_llgo_int", align 8 - br i1 %274, label %_llgo_41, label %_llgo_42 + br i1 %275, label %_llgo_41, label %_llgo_42 _llgo_41: ; preds = %_llgo_40 %282 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1260,7 +1260,7 @@ _llgo_41: ; preds = %_llgo_40 %319 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %317, i32 0, i32 1 store i64 2, ptr %319, align 4 %320 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %317, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %275, %"github.com/goplus/llgo/internal/runtime.String" %316, %"github.com/goplus/llgo/internal/runtime.String" %320, ptr %281, %"github.com/goplus/llgo/internal/runtime.Slice" %305, %"github.com/goplus/llgo/internal/runtime.Slice" %312) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %273, %"github.com/goplus/llgo/internal/runtime.String" %316, %"github.com/goplus/llgo/internal/runtime.String" %320, ptr %281, %"github.com/goplus/llgo/internal/runtime.Slice" %305, %"github.com/goplus/llgo/internal/runtime.Slice" %312) br label %_llgo_42 _llgo_42: ; preds = %_llgo_41, %_llgo_40 @@ -1269,19 +1269,19 @@ _llgo_42: ; preds = %_llgo_41, %_llgo_40 br i1 %322, label %_llgo_43, label %_llgo_44 _llgo_43: ; preds = %_llgo_42 - %323 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %275) + %323 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %273) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %323) store ptr %323, ptr @"*_llgo_main.T4", align 8 br label %_llgo_44 _llgo_44: ; preds = %_llgo_43, %_llgo_42 - %324 = load ptr, ptr @_llgo_main.T5, align 8 - %325 = icmp eq ptr %324, null - br i1 %325, label %_llgo_45, label %_llgo_46 + %324 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 8, i64 1, i64 1) + %325 = load ptr, ptr @_llgo_main.T5, align 8 + %326 = icmp eq ptr %325, null + br i1 %326, label %_llgo_45, label %_llgo_46 _llgo_45: ; preds = %_llgo_44 - %326 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 8, i64 1, i64 1) - store ptr %326, ptr @_llgo_main.T5, align 8 + store ptr %324, ptr @_llgo_main.T5, align 8 br label %_llgo_46 _llgo_46: ; preds = %_llgo_45, %_llgo_44 @@ -1319,7 +1319,7 @@ _llgo_46: ; preds = %_llgo_45, %_llgo_44 %348 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %340, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %347) store ptr %348, ptr @"main.struct$eovYmOhZg4X0zMSsuscSshndnbbAGvB2E3cyG8E7Y4U", align 8 %349 = load ptr, ptr @"main.struct$eovYmOhZg4X0zMSsuscSshndnbbAGvB2E3cyG8E7Y4U", align 8 - br i1 %325, label %_llgo_47, label %_llgo_48 + br i1 %326, label %_llgo_47, label %_llgo_48 _llgo_47: ; preds = %_llgo_46 %350 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1383,7 +1383,7 @@ _llgo_47: ; preds = %_llgo_46 %387 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %385, i32 0, i32 1 store i64 2, ptr %387, align 4 %388 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %385, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %326, %"github.com/goplus/llgo/internal/runtime.String" %384, %"github.com/goplus/llgo/internal/runtime.String" %388, ptr %349, %"github.com/goplus/llgo/internal/runtime.Slice" %373, %"github.com/goplus/llgo/internal/runtime.Slice" %380) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %324, %"github.com/goplus/llgo/internal/runtime.String" %384, %"github.com/goplus/llgo/internal/runtime.String" %388, ptr %349, %"github.com/goplus/llgo/internal/runtime.Slice" %373, %"github.com/goplus/llgo/internal/runtime.Slice" %380) br label %_llgo_48 _llgo_48: ; preds = %_llgo_47, %_llgo_46 @@ -1392,19 +1392,19 @@ _llgo_48: ; preds = %_llgo_47, %_llgo_46 br i1 %390, label %_llgo_49, label %_llgo_50 _llgo_49: ; preds = %_llgo_48 - %391 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %326) + %391 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %324) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %391) store ptr %391, ptr @"*_llgo_main.T5", align 8 br label %_llgo_50 _llgo_50: ; preds = %_llgo_49, %_llgo_48 - %392 = load ptr, ptr @_llgo_main.T6, align 8 - %393 = icmp eq ptr %392, null - br i1 %393, label %_llgo_51, label %_llgo_52 + %392 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 24, i64 1, i64 1) + %393 = load ptr, ptr @_llgo_main.T6, align 8 + %394 = icmp eq ptr %393, null + br i1 %394, label %_llgo_51, label %_llgo_52 _llgo_51: ; preds = %_llgo_50 - %394 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 24, i64 1, i64 1) - store ptr %394, ptr @_llgo_main.T6, align 8 + store ptr %392, ptr @_llgo_main.T6, align 8 br label %_llgo_52 _llgo_52: ; preds = %_llgo_51, %_llgo_50 @@ -1493,7 +1493,7 @@ _llgo_54: ; preds = %_llgo_53, %_llgo_52 %446 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %437, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %445) store ptr %446, ptr @"main.struct$2bSfJcCYDdttnIT-JASAjsTNUZvojBt4mPXFJdH4M10", align 8 %447 = load ptr, ptr @"main.struct$2bSfJcCYDdttnIT-JASAjsTNUZvojBt4mPXFJdH4M10", align 8 - br i1 %393, label %_llgo_55, label %_llgo_56 + br i1 %394, label %_llgo_55, label %_llgo_56 _llgo_55: ; preds = %_llgo_54 %448 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1557,7 +1557,7 @@ _llgo_55: ; preds = %_llgo_54 %485 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %483, i32 0, i32 1 store i64 2, ptr %485, align 4 %486 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %483, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %394, %"github.com/goplus/llgo/internal/runtime.String" %482, %"github.com/goplus/llgo/internal/runtime.String" %486, ptr %447, %"github.com/goplus/llgo/internal/runtime.Slice" %471, %"github.com/goplus/llgo/internal/runtime.Slice" %478) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %392, %"github.com/goplus/llgo/internal/runtime.String" %482, %"github.com/goplus/llgo/internal/runtime.String" %486, ptr %447, %"github.com/goplus/llgo/internal/runtime.Slice" %471, %"github.com/goplus/llgo/internal/runtime.Slice" %478) br label %_llgo_56 _llgo_56: ; preds = %_llgo_55, %_llgo_54 @@ -1566,7 +1566,7 @@ _llgo_56: ; preds = %_llgo_55, %_llgo_54 br i1 %488, label %_llgo_57, label %_llgo_58 _llgo_57: ; preds = %_llgo_56 - %489 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %394) + %489 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %392) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %489) store ptr %489, ptr @"*_llgo_main.T6", align 8 br label %_llgo_58 diff --git a/cl/_testgo/struczero/out.ll b/cl/_testgo/struczero/out.ll index 9734ceb1..6da698bb 100644 --- a/cl/_testgo/struczero/out.ll +++ b/cl/_testgo/struczero/out.ll @@ -187,13 +187,13 @@ _llgo_0: define void @"main.init$after"() { _llgo_0: - %0 = load ptr, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Foo", align 8 - %1 = icmp eq ptr %0, null - br i1 %1, label %_llgo_1, label %_llgo_2 + %0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(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 _llgo_1: ; preds = %_llgo_0 - %2 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 16, i64 1, i64 1) - store ptr %2, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Foo", align 8 + store ptr %0, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Foo", align 8 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 @@ -248,7 +248,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 %36 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %27, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %35) store ptr %36, ptr @"main.struct$qQwZyFy_4JRalRxVVsVD8R09X5t58tWjTrtJPtHbEjs", align 8 %37 = load ptr, ptr @"main.struct$qQwZyFy_4JRalRxVVsVD8R09X5t58tWjTrtJPtHbEjs", align 8 - br i1 %1, label %_llgo_3, label %_llgo_4 + br i1 %2, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 %38 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -435,7 +435,7 @@ _llgo_10: ; preds = %_llgo_9, %_llgo_8 %143 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %141, i32 0, i32 1 store i64 3, ptr %143, align 4 %144 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %141, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %2, %"github.com/goplus/llgo/internal/runtime.String" %140, %"github.com/goplus/llgo/internal/runtime.String" %144, ptr %37, %"github.com/goplus/llgo/internal/runtime.Slice" %129, %"github.com/goplus/llgo/internal/runtime.Slice" %136) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, %"github.com/goplus/llgo/internal/runtime.String" %140, %"github.com/goplus/llgo/internal/runtime.String" %144, ptr %37, %"github.com/goplus/llgo/internal/runtime.Slice" %129, %"github.com/goplus/llgo/internal/runtime.Slice" %136) br label %_llgo_4 } diff --git a/cl/_testrt/abinamed/out.ll b/cl/_testrt/abinamed/out.ll index 9a8c87a9..1c6ef94e 100644 --- a/cl/_testrt/abinamed/out.ll +++ b/cl/_testrt/abinamed/out.ll @@ -440,45 +440,45 @@ declare void @"github.com/goplus/llgo/internal/runtime.init"() define void @"main.init$after"() { _llgo_0: - %0 = load ptr, ptr @_llgo_main.T, align 8 - %1 = icmp eq ptr %0, null - br i1 %1, label %_llgo_1, label %_llgo_2 + %0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(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 _llgo_1: ; preds = %_llgo_0 - %2 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 48, i64 0, i64 0) - store ptr %2, ptr @_llgo_main.T, align 8 + store ptr %0, ptr @_llgo_main.T, align 8 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 - %3 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %4 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3, i32 0, i32 0 - store ptr @0, ptr %4, align 8 - %5 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3, i32 0, i32 1 - store i64 1, ptr %5, align 4 - %6 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3, align 8 - %7 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %7, i32 0, i32 0 - store ptr null, ptr %8, align 8 - %9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %7, i32 0, i32 1 - store i64 0, ptr %9, align 4 - %10 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %7, align 8 - %11 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %2) - %12 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %6, ptr %11, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %10, i1 false) - %13 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %14 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %13, i32 0, i32 0 - store ptr @1, ptr %14, align 8 - %15 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %13, i32 0, i32 1 - store i64 1, ptr %15, align 4 - %16 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %13, align 8 - %17 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %18 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %17, i32 0, i32 0 - store ptr null, ptr %18, align 8 - %19 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %17, i32 0, i32 1 - store i64 0, ptr %19, align 4 - %20 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %17, align 8 - %21 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 80, i64 0, i64 18) - %22 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %21) - %23 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %16, ptr %22, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %20, i1 false) + %3 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 80, i64 0, i64 18) + %4 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %5 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %4, i32 0, i32 0 + store ptr @0, ptr %5, align 8 + %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %4, i32 0, i32 1 + store i64 1, ptr %6, align 4 + %7 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %4, align 8 + %8 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %8, i32 0, i32 0 + store ptr null, ptr %9, align 8 + %10 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %8, i32 0, i32 1 + store i64 0, ptr %10, align 4 + %11 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %8, align 8 + %12 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %0) + %13 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %7, ptr %12, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %11, i1 false) + %14 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %15 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %14, i32 0, i32 0 + store ptr @1, ptr %15, align 8 + %16 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %14, i32 0, i32 1 + store i64 1, ptr %16, align 4 + %17 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %14, align 8 + %18 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %19 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %18, i32 0, i32 0 + store ptr null, ptr %19, align 8 + %20 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %18, i32 0, i32 1 + store i64 0, ptr %20, align 4 + %21 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %18, align 8 + %22 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %3) + %23 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %17, ptr %22, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %21, i1 false) %24 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %25 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %24, i32 0, i32 0 store ptr @2, ptr %25, align 8 @@ -505,7 +505,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 %40 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %38, i32 0, i32 1 store i64 0, ptr %40, align 4 %41 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %38, align 8 - %42 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %2) + %42 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %0) %43 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %37, ptr %42, i64 24, %"github.com/goplus/llgo/internal/runtime.String" %41, i1 false) %44 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %45 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %44, i32 0, i32 0 @@ -515,7 +515,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 %47 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %44, align 8 %48 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) %49 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %48, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %12, ptr %49, align 8 + store %"github.com/goplus/llgo/internal/abi.StructField" %13, ptr %49, align 8 %50 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %48, i64 1 store %"github.com/goplus/llgo/internal/abi.StructField" %23, ptr %50, align 8 %51 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %48, i64 2 @@ -533,7 +533,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 %58 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %47, i64 48, %"github.com/goplus/llgo/internal/runtime.Slice" %57) store ptr %58, ptr @"main.struct$FYfyNCnlvkYOztpQWjt-y8D_WY3tpxyt5Qo62CJffTE", align 8 %59 = load ptr, ptr @"main.struct$FYfyNCnlvkYOztpQWjt-y8D_WY3tpxyt5Qo62CJffTE", align 8 - br i1 %1, label %_llgo_3, label %_llgo_4 + br i1 %2, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 %60 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -548,7 +548,7 @@ _llgo_3: ; preds = %_llgo_2 %66 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %64, i32 0, i32 1 store i64 1, ptr %66, align 4 %67 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %64, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %2, %"github.com/goplus/llgo/internal/runtime.String" %63, %"github.com/goplus/llgo/internal/runtime.String" %67, ptr %59, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, %"github.com/goplus/llgo/internal/runtime.String" %63, %"github.com/goplus/llgo/internal/runtime.String" %67, ptr %59, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_4 _llgo_4: ; preds = %_llgo_3, %_llgo_2 @@ -557,96 +557,96 @@ _llgo_4: ; preds = %_llgo_3, %_llgo_2 br i1 %69, label %_llgo_5, label %_llgo_6 _llgo_5: ; preds = %_llgo_4 - store ptr %21, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + store ptr %3, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %70 = load ptr, ptr @_llgo_Pointer, align 8 - %71 = icmp eq ptr %70, null - br i1 %71, label %_llgo_7, label %_llgo_8 + %70 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 8, i64 1, i64 0, i64 0) + %71 = load ptr, ptr @_llgo_Pointer, align 8 + %72 = icmp eq ptr %71, null + br i1 %72, label %_llgo_7, label %_llgo_8 _llgo_7: ; preds = %_llgo_6 - %72 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %72) - store ptr %72, ptr @_llgo_Pointer, align 8 + %73 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %73) + store ptr %73, ptr @_llgo_Pointer, align 8 br label %_llgo_8 _llgo_8: ; preds = %_llgo_7, %_llgo_6 - %73 = load ptr, ptr @_llgo_Pointer, align 8 %74 = load ptr, ptr @_llgo_Pointer, align 8 %75 = load ptr, ptr @_llgo_Pointer, align 8 - %76 = load ptr, ptr @_llgo_bool, align 8 - %77 = icmp eq ptr %76, null - br i1 %77, label %_llgo_9, label %_llgo_10 + %76 = load ptr, ptr @_llgo_Pointer, align 8 + %77 = load ptr, ptr @_llgo_bool, align 8 + %78 = icmp eq ptr %77, null + br i1 %78, label %_llgo_9, label %_llgo_10 _llgo_9: ; preds = %_llgo_8 - %78 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 33) - store ptr %78, ptr @_llgo_bool, align 8 + %79 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 33) + store ptr %79, ptr @_llgo_bool, align 8 br label %_llgo_10 _llgo_10: ; preds = %_llgo_9, %_llgo_8 - %79 = load ptr, ptr @_llgo_bool, align 8 - %80 = load ptr, ptr @"_llgo_struct$13P_TvKNXommvK6tKt3eRNnJqTcPEFYrHagFiHeRpb0", align 8 - %81 = icmp eq ptr %80, null - br i1 %81, label %_llgo_11, label %_llgo_12 + %80 = load ptr, ptr @_llgo_bool, align 8 + %81 = load ptr, ptr @"_llgo_struct$13P_TvKNXommvK6tKt3eRNnJqTcPEFYrHagFiHeRpb0", align 8 + %82 = icmp eq ptr %81, null + br i1 %82, label %_llgo_11, label %_llgo_12 _llgo_11: ; preds = %_llgo_10 - %82 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %83 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %82, i32 0, i32 0 - store ptr @6, ptr %83, align 8 - %84 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %82, i32 0, i32 1 - store i64 5, ptr %84, align 4 - %85 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %82, align 8 - %86 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %87 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %86, i32 0, i32 0 - store ptr null, ptr %87, align 8 - %88 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %86, i32 0, i32 1 - store i64 0, ptr %88, align 4 - %89 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %86, align 8 - %90 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - %91 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %85, ptr %90, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %89, i1 false) - %92 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %93 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %92, i32 0, i32 0 - store ptr @7, ptr %93, align 8 - %94 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %92, i32 0, i32 1 - store i64 8, ptr %94, align 4 - %95 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %92, align 8 - %96 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %97 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %96, i32 0, i32 0 - store ptr null, ptr %97, align 8 - %98 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %96, i32 0, i32 1 - store i64 0, ptr %98, align 4 - %99 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %96, align 8 - %100 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - %101 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %95, ptr %100, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %99, i1 false) - %102 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %103 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %102, i32 0, i32 0 - store ptr @8, ptr %103, align 8 - %104 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %102, i32 0, i32 1 - store i64 4, ptr %104, align 4 - %105 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %102, align 8 - %106 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %107 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %106, i32 0, i32 0 - store ptr null, ptr %107, align 8 - %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %106, i32 0, i32 1 - store i64 0, ptr %108, align 4 - %109 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %106, align 8 - %110 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) - %111 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %105, ptr %110, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %109, i1 false) - %112 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %113 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %112, i32 0, i32 0 - store ptr @9, ptr %113, align 8 - %114 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %112, i32 0, i32 1 - store i64 5, ptr %114, align 4 - %115 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %112, align 8 - %116 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %117 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %116, i32 0, i32 0 - store ptr null, ptr %117, align 8 - %118 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %116, i32 0, i32 1 - store i64 0, ptr %118, align 4 - %119 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %116, align 8 - %120 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 8, i64 1, i64 0, i64 0) - %121 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %115, ptr %120, i64 20, %"github.com/goplus/llgo/internal/runtime.String" %119, i1 false) + %83 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %84 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %83, i32 0, i32 0 + store ptr @6, ptr %84, align 8 + %85 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %83, i32 0, i32 1 + store i64 5, ptr %85, align 4 + %86 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %83, align 8 + %87 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %88 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %87, i32 0, i32 0 + store ptr null, ptr %88, align 8 + %89 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %87, i32 0, i32 1 + store i64 0, ptr %89, align 4 + %90 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %87, align 8 + %91 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) + %92 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %86, ptr %91, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %90, i1 false) + %93 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %94 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %93, i32 0, i32 0 + store ptr @7, ptr %94, align 8 + %95 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %93, i32 0, i32 1 + store i64 8, ptr %95, align 4 + %96 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %93, align 8 + %97 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %98 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %97, i32 0, i32 0 + store ptr null, ptr %98, align 8 + %99 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %97, i32 0, i32 1 + store i64 0, ptr %99, align 4 + %100 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %97, align 8 + %101 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) + %102 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %96, ptr %101, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %100, i1 false) + %103 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %104 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %103, i32 0, i32 0 + store ptr @8, ptr %104, align 8 + %105 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %103, i32 0, i32 1 + store i64 4, ptr %105, align 4 + %106 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %103, align 8 + %107 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %107, i32 0, i32 0 + store ptr null, ptr %108, align 8 + %109 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %107, i32 0, i32 1 + store i64 0, ptr %109, align 4 + %110 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %107, align 8 + %111 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) + %112 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %106, ptr %111, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %110, i1 false) + %113 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %114 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %113, i32 0, i32 0 + store ptr @9, ptr %114, align 8 + %115 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %113, i32 0, i32 1 + store i64 5, ptr %115, align 4 + %116 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %113, align 8 + %117 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %118 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %117, i32 0, i32 0 + store ptr null, ptr %118, align 8 + %119 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %117, i32 0, i32 1 + store i64 0, ptr %119, align 4 + %120 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %117, align 8 + %121 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %116, ptr %70, i64 20, %"github.com/goplus/llgo/internal/runtime.String" %120, i1 false) %122 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %123 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %122, i32 0, i32 0 store ptr @10, ptr %123, align 8 @@ -715,11 +715,11 @@ _llgo_11: ; preds = %_llgo_10 %167 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %164, align 8 %168 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) %169 = getelementptr ptr, ptr %168, i64 0 - store ptr %73, ptr %169, align 8 + store ptr %74, ptr %169, align 8 %170 = getelementptr ptr, ptr %168, i64 1 - store ptr %74, ptr %170, align 8 + store ptr %75, ptr %170, align 8 %171 = getelementptr ptr, ptr %168, i64 2 - store ptr %75, ptr %171, align 8 + store ptr %76, ptr %171, align 8 %172 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 %173 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %172, i32 0, i32 0 store ptr %168, ptr %173, align 8 @@ -730,7 +730,7 @@ _llgo_11: ; preds = %_llgo_10 %176 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %172, align 8 %177 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) %178 = getelementptr ptr, ptr %177, i64 0 - store ptr %79, ptr %178, align 8 + store ptr %80, ptr %178, align 8 %179 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 %180 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %179, i32 0, i32 0 store ptr %177, ptr %180, align 8 @@ -817,7 +817,7 @@ _llgo_11: ; preds = %_llgo_10 %237 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %235, i32 0, i32 1 store i64 0, ptr %237, align 4 %238 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %235, align 8 - %239 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %21) + %239 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %3) %240 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %234, ptr %239, i64 64, %"github.com/goplus/llgo/internal/runtime.String" %238, i1 false) %241 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %242 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %241, i32 0, i32 0 @@ -827,11 +827,11 @@ _llgo_11: ; preds = %_llgo_10 %244 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %241, align 8 %245 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 616) %246 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %245, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %91, ptr %246, align 8 + store %"github.com/goplus/llgo/internal/abi.StructField" %92, ptr %246, align 8 %247 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %245, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %101, ptr %247, align 8 + store %"github.com/goplus/llgo/internal/abi.StructField" %102, ptr %247, align 8 %248 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %245, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %111, ptr %248, align 8 + store %"github.com/goplus/llgo/internal/abi.StructField" %112, ptr %248, align 8 %249 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %245, i64 3 store %"github.com/goplus/llgo/internal/abi.StructField" %121, ptr %249, align 8 %250 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %245, i64 4 @@ -933,13 +933,13 @@ _llgo_18: ; preds = %_llgo_17, %_llgo_16 %297 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %295, i32 0, i32 1 store i64 9, ptr %297, align 4 %298 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %295, align 8 - %299 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 - %300 = icmp eq ptr %299, null - br i1 %300, label %_llgo_19, label %_llgo_20 + %299 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 104, i64 0, i64 16) + %300 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %301 = icmp eq ptr %300, null + br i1 %301, label %_llgo_19, label %_llgo_20 _llgo_19: ; preds = %_llgo_18 - %301 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 104, i64 0, i64 16) - store ptr %301, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + store ptr %299, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 br label %_llgo_20 _llgo_20: ; preds = %_llgo_19, %_llgo_18 @@ -960,7 +960,7 @@ _llgo_21: ; preds = %_llgo_20 %310 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %308, i32 0, i32 1 store i64 0, ptr %310, align 4 %311 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %308, align 8 - %312 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %307, ptr %21, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %311, i1 true) + %312 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %307, ptr %3, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %311, i1 true) %313 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %314 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %313, i32 0, i32 0 store ptr @22, ptr %314, align 8 @@ -973,7 +973,7 @@ _llgo_21: ; preds = %_llgo_20 %319 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %317, i32 0, i32 1 store i64 0, ptr %319, align 4 %320 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %317, align 8 - %321 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %21) + %321 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %3) %322 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %316, ptr %321, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %320, i1 false) %323 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %324 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %323, i32 0, i32 0 @@ -987,7 +987,7 @@ _llgo_21: ; preds = %_llgo_20 %329 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %327, i32 0, i32 1 store i64 0, ptr %329, align 4 %330 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %327, align 8 - %331 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %21) + %331 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %3) %332 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %326, ptr %331, i64 80, %"github.com/goplus/llgo/internal/runtime.String" %330, i1 false) %333 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %334 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %333, i32 0, i32 0 @@ -1032,7 +1032,7 @@ _llgo_21: ; preds = %_llgo_20 _llgo_22: ; preds = %_llgo_21, %_llgo_20 %358 = load ptr, ptr @"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY", align 8 - br i1 %300, label %_llgo_23, label %_llgo_24 + br i1 %301, label %_llgo_23, label %_llgo_24 _llgo_23: ; preds = %_llgo_22 %359 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1085,7 +1085,7 @@ _llgo_24: ; preds = %_llgo_100, %_llgo_2 br i1 %388, label %_llgo_101, label %_llgo_102 _llgo_25: ; preds = %_llgo_23 - %389 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %21) + %389 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %3) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %389) store ptr %389, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 br label %_llgo_26 @@ -1157,13 +1157,13 @@ _llgo_28: ; preds = %_llgo_27, %_llgo_26 %427 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %425, i32 0, i32 1 store i64 8, ptr %427, align 4 %428 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %425, align 8 - %429 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %430 = icmp eq ptr %429, null - br i1 %430, label %_llgo_29, label %_llgo_30 + %429 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 128, i64 0, i64 19) + %430 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %431 = icmp eq ptr %430, null + br i1 %431, label %_llgo_29, label %_llgo_30 _llgo_29: ; preds = %_llgo_28 - %431 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 128, i64 0, i64 19) - store ptr %431, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + store ptr %429, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 br label %_llgo_30 _llgo_30: ; preds = %_llgo_29, %_llgo_28 @@ -1184,7 +1184,7 @@ _llgo_31: ; preds = %_llgo_30 %440 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %438, i32 0, i32 1 store i64 0, ptr %440, align 4 %441 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %438, align 8 - %442 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %437, ptr %21, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %441, i1 true) + %442 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %437, ptr %3, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %441, i1 true) %443 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %444 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %443, i32 0, i32 0 store ptr @28, ptr %444, align 8 @@ -1197,7 +1197,7 @@ _llgo_31: ; preds = %_llgo_30 %449 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %447, i32 0, i32 1 store i64 0, ptr %449, align 4 %450 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %447, align 8 - %451 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %21) + %451 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %3) %452 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %451) %453 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %446, ptr %452, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %450, i1 false) %454 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1212,7 +1212,7 @@ _llgo_31: ; preds = %_llgo_30 %460 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %458, i32 0, i32 1 store i64 0, ptr %460, align 4 %461 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %458, align 8 - %462 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %21) + %462 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %3) %463 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %462) %464 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %457, ptr %463, i64 96, %"github.com/goplus/llgo/internal/runtime.String" %461, i1 false) %465 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1242,7 +1242,7 @@ _llgo_31: ; preds = %_llgo_30 _llgo_32: ; preds = %_llgo_31, %_llgo_30 %479 = load ptr, ptr @"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw", align 8 - br i1 %430, label %_llgo_33, label %_llgo_34 + br i1 %431, label %_llgo_33, label %_llgo_34 _llgo_33: ; preds = %_llgo_32 %480 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1424,63 +1424,63 @@ _llgo_36: ; preds = %_llgo_35, %_llgo_33 %589 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %587, i32 0, i32 1 store i64 13, ptr %589, align 4 %590 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %587, align 8 - %591 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 - %592 = icmp eq ptr %591, null - br i1 %592, label %_llgo_37, label %_llgo_38 + %591 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 120, i64 0, i64 18) + %592 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %593 = icmp eq ptr %592, null + br i1 %593, label %_llgo_37, label %_llgo_38 _llgo_37: ; preds = %_llgo_36 - %593 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 120, i64 0, i64 18) - store ptr %593, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + store ptr %591, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 br label %_llgo_38 _llgo_38: ; preds = %_llgo_37, %_llgo_36 - %594 = load ptr, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", align 8 - %595 = icmp eq ptr %594, null - br i1 %595, label %_llgo_39, label %_llgo_40 + %594 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 24, i64 0, i64 3) + %595 = load ptr, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", align 8 + %596 = icmp eq ptr %595, null + br i1 %596, label %_llgo_39, label %_llgo_40 _llgo_39: ; preds = %_llgo_38 - %596 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %597 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %596, i32 0, i32 0 - store ptr @21, ptr %597, align 8 - %598 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %596, i32 0, i32 1 - store i64 4, ptr %598, align 4 - %599 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %596, align 8 - %600 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %601 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %600, i32 0, i32 0 - store ptr null, ptr %601, align 8 - %602 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %600, i32 0, i32 1 - store i64 0, ptr %602, align 4 - %603 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %600, align 8 - %604 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %599, ptr %21, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %603, i1 true) - %605 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %606 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %605, i32 0, i32 0 - store ptr @33, ptr %606, align 8 - %607 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %605, i32 0, i32 1 - store i64 8, ptr %607, align 4 - %608 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %605, align 8 - %609 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %610 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %609, i32 0, i32 0 - store ptr null, ptr %610, align 8 - %611 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %609, i32 0, i32 1 - store i64 0, ptr %611, align 4 - %612 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %609, align 8 - %613 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %614 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %608, ptr %613, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %612, i1 false) - %615 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %616 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %615, i32 0, i32 0 - store ptr @34, ptr %616, align 8 - %617 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %615, i32 0, i32 1 - store i64 7, ptr %617, align 4 - %618 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %615, align 8 - %619 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %620 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %619, i32 0, i32 0 - store ptr null, ptr %620, align 8 - %621 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %619, i32 0, i32 1 - store i64 0, ptr %621, align 4 - %622 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %619, align 8 - %623 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 24, i64 0, i64 3) - %624 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %623) - %625 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %618, ptr %624, i64 88, %"github.com/goplus/llgo/internal/runtime.String" %622, i1 false) + %597 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %598 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %597, i32 0, i32 0 + store ptr @21, ptr %598, align 8 + %599 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %597, i32 0, i32 1 + store i64 4, ptr %599, align 4 + %600 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %597, align 8 + %601 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %602 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %601, i32 0, i32 0 + store ptr null, ptr %602, align 8 + %603 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %601, i32 0, i32 1 + store i64 0, ptr %603, align 4 + %604 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %601, align 8 + %605 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %600, ptr %3, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %604, i1 true) + %606 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %607 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %606, i32 0, i32 0 + store ptr @33, ptr %607, align 8 + %608 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %606, i32 0, i32 1 + store i64 8, ptr %608, align 4 + %609 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %606, align 8 + %610 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %611 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %610, i32 0, i32 0 + store ptr null, ptr %611, align 8 + %612 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %610, i32 0, i32 1 + store i64 0, ptr %612, align 4 + %613 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %610, align 8 + %614 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %615 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %609, ptr %614, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %613, i1 false) + %616 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %617 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %616, i32 0, i32 0 + store ptr @34, ptr %617, align 8 + %618 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %616, i32 0, i32 1 + store i64 7, ptr %618, align 4 + %619 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %616, align 8 + %620 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %621 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %620, i32 0, i32 0 + store ptr null, ptr %621, align 8 + %622 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %620, i32 0, i32 1 + store i64 0, ptr %622, align 4 + %623 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %620, align 8 + %624 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %594) + %625 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %619, ptr %624, i64 88, %"github.com/goplus/llgo/internal/runtime.String" %623, i1 false) %626 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %627 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %626, i32 0, i32 0 store ptr @4, ptr %627, align 8 @@ -1489,9 +1489,9 @@ _llgo_39: ; preds = %_llgo_38 %629 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %626, align 8 %630 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) %631 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %630, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %604, ptr %631, align 8 + store %"github.com/goplus/llgo/internal/abi.StructField" %605, ptr %631, align 8 %632 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %630, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %614, ptr %632, align 8 + store %"github.com/goplus/llgo/internal/abi.StructField" %615, ptr %632, align 8 %633 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %630, i64 2 store %"github.com/goplus/llgo/internal/abi.StructField" %625, ptr %633, align 8 %634 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 @@ -1508,7 +1508,7 @@ _llgo_39: ; preds = %_llgo_38 _llgo_40: ; preds = %_llgo_39, %_llgo_38 %640 = load ptr, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", align 8 - br i1 %592, label %_llgo_41, label %_llgo_42 + br i1 %593, label %_llgo_41, label %_llgo_42 _llgo_41: ; preds = %_llgo_40 %641 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1687,18 +1687,18 @@ _llgo_41: ; preds = %_llgo_40 %753 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %751, i32 0, i32 1 store i64 4, ptr %753, align 4 %754 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %751, align 8 - %755 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 - %756 = icmp eq ptr %755, null - br i1 %756, label %_llgo_43, label %_llgo_44 + %755 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 7, i64 8, i64 1, i64 1) + %756 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 + %757 = icmp eq ptr %756, null + br i1 %757, label %_llgo_43, label %_llgo_44 _llgo_42: ; preds = %_llgo_92, %_llgo_40 - %757 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 - %758 = icmp eq ptr %757, null - br i1 %758, label %_llgo_93, label %_llgo_94 + %758 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %759 = icmp eq ptr %758, null + br i1 %759, label %_llgo_93, label %_llgo_94 _llgo_43: ; preds = %_llgo_41 - %759 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 7, i64 8, i64 1, i64 1) - store ptr %759, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 + store ptr %755, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 br label %_llgo_44 _llgo_44: ; preds = %_llgo_43, %_llgo_41 @@ -1713,7 +1713,7 @@ _llgo_45: ; preds = %_llgo_44 _llgo_46: ; preds = %_llgo_45, %_llgo_44 %763 = load ptr, ptr @_llgo_uint, align 8 - br i1 %756, label %_llgo_47, label %_llgo_48 + br i1 %757, label %_llgo_47, label %_llgo_48 _llgo_47: ; preds = %_llgo_46 %764 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1825,7 +1825,7 @@ _llgo_52: ; preds = %_llgo_51, %_llgo_50 %824 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %822, i32 0, i32 1 store i64 4, ptr %824, align 4 %825 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %822, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %759, %"github.com/goplus/llgo/internal/runtime.String" %821, %"github.com/goplus/llgo/internal/runtime.String" %825, ptr %763, %"github.com/goplus/llgo/internal/runtime.Slice" %810, %"github.com/goplus/llgo/internal/runtime.Slice" %817) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %755, %"github.com/goplus/llgo/internal/runtime.String" %821, %"github.com/goplus/llgo/internal/runtime.String" %825, ptr %763, %"github.com/goplus/llgo/internal/runtime.Slice" %810, %"github.com/goplus/llgo/internal/runtime.Slice" %817) br label %_llgo_48 _llgo_53: ; preds = %_llgo_48 @@ -1889,13 +1889,13 @@ _llgo_54: ; preds = %_llgo_53, %_llgo_48 %860 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %858, i32 0, i32 1 store i64 7, ptr %860, align 4 %861 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %858, align 8 - %862 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 - %863 = icmp eq ptr %862, null - br i1 %863, label %_llgo_55, label %_llgo_56 + %862 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 136, i64 0, i64 22) + %863 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %864 = icmp eq ptr %863, null + br i1 %864, label %_llgo_55, label %_llgo_56 _llgo_55: ; preds = %_llgo_54 - %864 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 136, i64 0, i64 22) - store ptr %864, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + store ptr %862, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 br label %_llgo_56 _llgo_56: ; preds = %_llgo_55, %_llgo_54 @@ -1930,7 +1930,7 @@ _llgo_59: ; preds = %_llgo_58 %880 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %878, i32 0, i32 1 store i64 0, ptr %880, align 4 %881 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %878, align 8 - %882 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %877, ptr %21, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %881, i1 true) + %882 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %877, ptr %3, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %881, i1 true) %883 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %884 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %883, i32 0, i32 0 store ptr @40, ptr %884, align 8 @@ -1943,7 +1943,7 @@ _llgo_59: ; preds = %_llgo_58 %889 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %887, i32 0, i32 1 store i64 0, ptr %889, align 4 %890 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %887, align 8 - %891 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %21) + %891 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %3) %892 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %886, ptr %891, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %890, i1 false) %893 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %894 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %893, i32 0, i32 0 @@ -1957,7 +1957,7 @@ _llgo_59: ; preds = %_llgo_58 %899 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %897, i32 0, i32 1 store i64 0, ptr %899, align 4 %900 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %897, align 8 - %901 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %21) + %901 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %3) %902 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %896, ptr %901, i64 80, %"github.com/goplus/llgo/internal/runtime.String" %900, i1 false) %903 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %904 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %903, i32 0, i32 0 @@ -1971,7 +1971,7 @@ _llgo_59: ; preds = %_llgo_58 %909 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %907, i32 0, i32 1 store i64 0, ptr %909, align 4 %910 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %907, align 8 - %911 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %21) + %911 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %3) %912 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %906, ptr %911, i64 88, %"github.com/goplus/llgo/internal/runtime.String" %910, i1 false) %913 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %914 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %913, i32 0, i32 0 @@ -2155,7 +2155,7 @@ _llgo_59: ; preds = %_llgo_58 _llgo_60: ; preds = %_llgo_59, %_llgo_58 %1031 = load ptr, ptr @"_llgo_struct$Yk42tBqeO4BzIoRAwt__cbPj2UwIDCP07Kg_SR7sBZM", align 8 - br i1 %863, label %_llgo_61, label %_llgo_62 + br i1 %864, label %_llgo_61, label %_llgo_62 _llgo_61: ; preds = %_llgo_60 %1032 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -2541,63 +2541,63 @@ _llgo_64: ; preds = %_llgo_63, %_llgo_61 %1273 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1271, i32 0, i32 1 store i64 10, ptr %1273, align 4 %1274 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1271, align 8 - %1275 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 - %1276 = icmp eq ptr %1275, null - br i1 %1276, label %_llgo_65, label %_llgo_66 + %1275 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 120, i64 0, i64 18) + %1276 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %1277 = icmp eq ptr %1276, null + br i1 %1277, label %_llgo_65, label %_llgo_66 _llgo_65: ; preds = %_llgo_64 - %1277 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 120, i64 0, i64 18) - store ptr %1277, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + store ptr %1275, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 br label %_llgo_66 _llgo_66: ; preds = %_llgo_65, %_llgo_64 - %1278 = load ptr, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 - %1279 = icmp eq ptr %1278, null - br i1 %1279, label %_llgo_67, label %_llgo_68 + %1278 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 56, i64 0, i64 2) + %1279 = load ptr, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 + %1280 = icmp eq ptr %1279, null + br i1 %1280, label %_llgo_67, label %_llgo_68 _llgo_67: ; preds = %_llgo_66 - %1280 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1281 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1280, i32 0, i32 0 - store ptr @21, ptr %1281, align 8 - %1282 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1280, i32 0, i32 1 - store i64 4, ptr %1282, align 4 - %1283 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1280, align 8 - %1284 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1285 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1284, i32 0, i32 0 - store ptr null, ptr %1285, align 8 - %1286 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1284, i32 0, i32 1 - store i64 0, ptr %1286, align 4 - %1287 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1284, align 8 - %1288 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1283, ptr %21, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %1287, i1 true) - %1289 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1290 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1289, i32 0, i32 0 - store ptr @33, ptr %1290, align 8 - %1291 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1289, i32 0, i32 1 - store i64 8, ptr %1291, align 4 - %1292 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1289, align 8 - %1293 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1294 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1293, i32 0, i32 0 - store ptr null, ptr %1294, align 8 - %1295 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1293, i32 0, i32 1 - store i64 0, ptr %1295, align 4 - %1296 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1293, align 8 - %1297 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %1298 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1292, ptr %1297, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %1296, i1 false) - %1299 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1300 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1299, i32 0, i32 0 - store ptr @55, ptr %1300, align 8 - %1301 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1299, i32 0, i32 1 - store i64 6, ptr %1301, align 4 - %1302 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1299, align 8 - %1303 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1304 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1303, i32 0, i32 0 - store ptr null, ptr %1304, align 8 - %1305 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1303, i32 0, i32 1 - store i64 0, ptr %1305, align 4 - %1306 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1303, align 8 - %1307 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 56, i64 0, i64 2) - %1308 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %1307) - %1309 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1302, ptr %1308, i64 88, %"github.com/goplus/llgo/internal/runtime.String" %1306, i1 false) + %1281 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1282 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1281, i32 0, i32 0 + store ptr @21, ptr %1282, align 8 + %1283 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1281, i32 0, i32 1 + store i64 4, ptr %1283, align 4 + %1284 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1281, align 8 + %1285 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1286 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1285, i32 0, i32 0 + store ptr null, ptr %1286, align 8 + %1287 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1285, i32 0, i32 1 + store i64 0, ptr %1287, align 4 + %1288 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1285, align 8 + %1289 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1284, ptr %3, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %1288, i1 true) + %1290 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1291 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1290, i32 0, i32 0 + store ptr @33, ptr %1291, align 8 + %1292 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1290, i32 0, i32 1 + store i64 8, ptr %1292, align 4 + %1293 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1290, align 8 + %1294 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1295 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1294, i32 0, i32 0 + store ptr null, ptr %1295, align 8 + %1296 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1294, i32 0, i32 1 + store i64 0, ptr %1296, align 4 + %1297 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1294, align 8 + %1298 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %1299 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1293, ptr %1298, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %1297, i1 false) + %1300 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1301 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1300, i32 0, i32 0 + store ptr @55, ptr %1301, align 8 + %1302 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1300, i32 0, i32 1 + store i64 6, ptr %1302, align 4 + %1303 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1300, align 8 + %1304 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1305 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1304, i32 0, i32 0 + store ptr null, ptr %1305, align 8 + %1306 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1304, i32 0, i32 1 + store i64 0, ptr %1306, align 4 + %1307 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1304, align 8 + %1308 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %1278) + %1309 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1303, ptr %1308, i64 88, %"github.com/goplus/llgo/internal/runtime.String" %1307, i1 false) %1310 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %1311 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1310, i32 0, i32 0 store ptr @4, ptr %1311, align 8 @@ -2606,9 +2606,9 @@ _llgo_67: ; preds = %_llgo_66 %1313 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1310, align 8 %1314 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) %1315 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1314, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %1288, ptr %1315, align 8 + store %"github.com/goplus/llgo/internal/abi.StructField" %1289, ptr %1315, align 8 %1316 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1314, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %1298, ptr %1316, align 8 + store %"github.com/goplus/llgo/internal/abi.StructField" %1299, ptr %1316, align 8 %1317 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1314, i64 2 store %"github.com/goplus/llgo/internal/abi.StructField" %1309, ptr %1317, align 8 %1318 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 @@ -2625,7 +2625,7 @@ _llgo_67: ; preds = %_llgo_66 _llgo_68: ; preds = %_llgo_67, %_llgo_66 %1324 = load ptr, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 - br i1 %1276, label %_llgo_69, label %_llgo_70 + br i1 %1277, label %_llgo_69, label %_llgo_70 _llgo_69: ; preds = %_llgo_68 %1325 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -2923,18 +2923,18 @@ _llgo_69: ; preds = %_llgo_68 %1514 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1512, i32 0, i32 1 store i64 8, ptr %1514, align 4 %1515 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1512, align 8 - %1516 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 - %1517 = icmp eq ptr %1516, null - br i1 %1517, label %_llgo_71, label %_llgo_72 + %1516 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 24, i64 0, i64 2) + %1517 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + %1518 = icmp eq ptr %1517, null + br i1 %1518, label %_llgo_71, label %_llgo_72 _llgo_70: ; preds = %_llgo_84, %_llgo_68 - %1518 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 - %1519 = icmp eq ptr %1518, null - br i1 %1519, label %_llgo_85, label %_llgo_86 + %1519 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %1520 = icmp eq ptr %1519, null + br i1 %1520, label %_llgo_85, label %_llgo_86 _llgo_71: ; preds = %_llgo_69 - %1520 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 24, i64 0, i64 2) - store ptr %1520, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + store ptr %1516, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 br label %_llgo_72 _llgo_72: ; preds = %_llgo_71, %_llgo_69 @@ -3028,7 +3028,7 @@ _llgo_73: ; preds = %_llgo_72 _llgo_74: ; preds = %_llgo_73, %_llgo_72 %1578 = load ptr, ptr @"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI", align 8 - br i1 %1517, label %_llgo_75, label %_llgo_76 + br i1 %1518, label %_llgo_75, label %_llgo_76 _llgo_75: ; preds = %_llgo_74 %1579 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -3037,18 +3037,18 @@ _llgo_75: ; preds = %_llgo_74 %1581 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1579, i32 0, i32 1 store i64 15, ptr %1581, align 4 %1582 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1579, align 8 - %1583 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 - %1584 = icmp eq ptr %1583, null - br i1 %1584, label %_llgo_77, label %_llgo_78 + %1583 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 40, i64 0, i64 3) + %1584 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %1585 = icmp eq ptr %1584, null + br i1 %1585, label %_llgo_77, label %_llgo_78 _llgo_76: ; preds = %_llgo_80, %_llgo_74 - %1585 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 - %1586 = icmp eq ptr %1585, null - br i1 %1586, label %_llgo_81, label %_llgo_82 + %1586 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + %1587 = icmp eq ptr %1586, null + br i1 %1587, label %_llgo_81, label %_llgo_82 _llgo_77: ; preds = %_llgo_75 - %1587 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 40, i64 0, i64 3) - %1588 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %1587) + %1588 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %1583) store ptr %1588, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 br label %_llgo_78 @@ -3138,11 +3138,11 @@ _llgo_80: ; preds = %_llgo_79, %_llgo_78 %1638 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1636, i32 0, i32 1 store i64 12, ptr %1638, align 4 %1639 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1636, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1520, %"github.com/goplus/llgo/internal/runtime.String" %1635, %"github.com/goplus/llgo/internal/runtime.String" %1639, ptr %1578, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1631) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1516, %"github.com/goplus/llgo/internal/runtime.String" %1635, %"github.com/goplus/llgo/internal/runtime.String" %1639, ptr %1578, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1631) br label %_llgo_76 _llgo_81: ; preds = %_llgo_76 - %1640 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1520) + %1640 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1516) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1640) store ptr %1640, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 br label %_llgo_82 @@ -3248,11 +3248,11 @@ _llgo_84: ; preds = %_llgo_83, %_llgo_82 %1695 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1693, i32 0, i32 1 store i64 10, ptr %1695, align 4 %1696 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1693, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1277, %"github.com/goplus/llgo/internal/runtime.String" %1692, %"github.com/goplus/llgo/internal/runtime.String" %1696, ptr %1324, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1688) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1275, %"github.com/goplus/llgo/internal/runtime.String" %1692, %"github.com/goplus/llgo/internal/runtime.String" %1696, ptr %1324, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1688) br label %_llgo_70 _llgo_85: ; preds = %_llgo_70 - %1697 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1277) + %1697 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1275) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1697) store ptr %1697, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 br label %_llgo_86 @@ -3383,11 +3383,11 @@ _llgo_88: ; preds = %_llgo_87, %_llgo_86 %1767 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1765, i32 0, i32 1 store i64 7, ptr %1767, align 4 %1768 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1765, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %864, %"github.com/goplus/llgo/internal/runtime.String" %1764, %"github.com/goplus/llgo/internal/runtime.String" %1768, ptr %1031, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1760) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %862, %"github.com/goplus/llgo/internal/runtime.String" %1764, %"github.com/goplus/llgo/internal/runtime.String" %1768, ptr %1031, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1760) br label %_llgo_62 _llgo_89: ; preds = %_llgo_62 - %1769 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %864) + %1769 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %862) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1769) store ptr %1769, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 br label %_llgo_90 @@ -3578,11 +3578,11 @@ _llgo_92: ; preds = %_llgo_91, %_llgo_90 %1879 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1877, i32 0, i32 1 store i64 13, ptr %1879, align 4 %1880 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1877, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %593, %"github.com/goplus/llgo/internal/runtime.String" %1876, %"github.com/goplus/llgo/internal/runtime.String" %1880, ptr %640, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1872) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %591, %"github.com/goplus/llgo/internal/runtime.String" %1876, %"github.com/goplus/llgo/internal/runtime.String" %1880, ptr %640, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1872) br label %_llgo_42 _llgo_93: ; preds = %_llgo_42 - %1881 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %593) + %1881 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %591) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1881) store ptr %1881, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 br label %_llgo_94 @@ -3860,11 +3860,11 @@ _llgo_96: ; preds = %_llgo_95, %_llgo_94 %2047 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2045, i32 0, i32 1 store i64 8, ptr %2047, align 4 %2048 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2045, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %431, %"github.com/goplus/llgo/internal/runtime.String" %2044, %"github.com/goplus/llgo/internal/runtime.String" %2048, ptr %479, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %2040) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %429, %"github.com/goplus/llgo/internal/runtime.String" %2044, %"github.com/goplus/llgo/internal/runtime.String" %2048, ptr %479, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %2040) br label %_llgo_34 _llgo_97: ; preds = %_llgo_34 - %2049 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %431) + %2049 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %429) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2049) store ptr %2049, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 br label %_llgo_98 @@ -4153,11 +4153,11 @@ _llgo_100: ; preds = %_llgo_99, %_llgo_98 %2223 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2221, i32 0, i32 1 store i64 9, ptr %2223, align 4 %2224 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2221, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %301, %"github.com/goplus/llgo/internal/runtime.String" %2220, %"github.com/goplus/llgo/internal/runtime.String" %2224, ptr %358, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %2216) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %299, %"github.com/goplus/llgo/internal/runtime.String" %2220, %"github.com/goplus/llgo/internal/runtime.String" %2224, ptr %358, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %2216) br label %_llgo_24 _llgo_101: ; preds = %_llgo_24 - %2225 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %301) + %2225 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %299) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2225) store ptr %2225, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 br label %_llgo_102 @@ -4535,7 +4535,7 @@ _llgo_104: ; preds = %_llgo_103, %_llgo_1 %2456 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2454, i32 0, i32 1 store i64 4, ptr %2456, align 4 %2457 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2454, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %21, %"github.com/goplus/llgo/internal/runtime.String" %2453, %"github.com/goplus/llgo/internal/runtime.String" %2457, ptr %263, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %2449) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %3, %"github.com/goplus/llgo/internal/runtime.String" %2453, %"github.com/goplus/llgo/internal/runtime.String" %2457, ptr %263, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %2449) br label %_llgo_14 } diff --git a/cl/_testrt/eface/out.ll b/cl/_testrt/eface/out.ll index e1b6efb8..0dc15a7d 100644 --- a/cl/_testrt/eface/out.ll +++ b/cl/_testrt/eface/out.ll @@ -715,18 +715,18 @@ _llgo_38: ; preds = %_llgo_37, %_llgo_36 %114 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %110, align 8 %115 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %105, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %114) store ptr %115, ptr @"main.struct$RKbUG45GE4henGMAdmt0Rju0JptyR8NsX7IZLsOI0OM", align 8 - %116 = load ptr, ptr @_llgo_main.T, align 8 - %117 = icmp eq ptr %116, null - br i1 %117, label %_llgo_39, label %_llgo_40 + %116 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 24, i64 16, i64 0, i64 1) + %117 = load ptr, ptr @_llgo_main.T, align 8 + %118 = icmp eq ptr %117, null + br i1 %118, label %_llgo_39, label %_llgo_40 _llgo_39: ; preds = %_llgo_38 - %118 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 24, i64 16, i64 0, i64 1) - store ptr %118, ptr @_llgo_main.T, align 8 + store ptr %116, ptr @_llgo_main.T, align 8 br label %_llgo_40 _llgo_40: ; preds = %_llgo_39, %_llgo_38 %119 = load ptr, ptr @_llgo_string, align 8 - br i1 %117, label %_llgo_41, label %_llgo_42 + br i1 %118, label %_llgo_41, label %_llgo_42 _llgo_41: ; preds = %_llgo_40 %120 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -769,7 +769,7 @@ _llgo_41: ; preds = %_llgo_40 %144 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %142, i32 0, i32 1 store i64 1, ptr %144, align 4 %145 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %142, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %118, %"github.com/goplus/llgo/internal/runtime.String" %141, %"github.com/goplus/llgo/internal/runtime.String" %145, ptr %119, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %137) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %116, %"github.com/goplus/llgo/internal/runtime.String" %141, %"github.com/goplus/llgo/internal/runtime.String" %145, ptr %119, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %137) br label %_llgo_42 _llgo_42: ; preds = %_llgo_41, %_llgo_40 diff --git a/cl/_testrt/makemap/out.ll b/cl/_testrt/makemap/out.ll index 1a23a4d0..d0a6ad31 100644 --- a/cl/_testrt/makemap/out.ll +++ b/cl/_testrt/makemap/out.ll @@ -1342,13 +1342,13 @@ _llgo_7: ; preds = %_llgo_6 br label %_llgo_8 _llgo_8: ; preds = %_llgo_7, %_llgo_6 - %220 = load ptr, ptr @_llgo_main.N1, align 8 - %221 = icmp eq ptr %220, null - br i1 %221, label %_llgo_9, label %_llgo_10 + %220 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 17, i64 8, i64 0, i64 0) + %221 = load ptr, ptr @_llgo_main.N1, align 8 + %222 = icmp eq ptr %221, null + br i1 %222, label %_llgo_9, label %_llgo_10 _llgo_9: ; preds = %_llgo_8 - %222 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 17, i64 8, i64 0, i64 0) - store ptr %222, ptr @_llgo_main.N1, align 8 + store ptr %220, ptr @_llgo_main.N1, align 8 br label %_llgo_10 _llgo_10: ; preds = %_llgo_9, %_llgo_8 @@ -1375,7 +1375,7 @@ _llgo_13: ; preds = %_llgo_12 _llgo_14: ; preds = %_llgo_13, %_llgo_12 %231 = load ptr, ptr @"[1]_llgo_int", align 8 - br i1 %221, label %_llgo_15, label %_llgo_16 + br i1 %222, label %_llgo_15, label %_llgo_16 _llgo_15: ; preds = %_llgo_14 %232 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1390,27 +1390,27 @@ _llgo_15: ; preds = %_llgo_14 %238 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %236, i32 0, i32 1 store i64 2, ptr %238, align 4 %239 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %236, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %222, %"github.com/goplus/llgo/internal/runtime.String" %235, %"github.com/goplus/llgo/internal/runtime.String" %239, ptr %231, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %220, %"github.com/goplus/llgo/internal/runtime.String" %235, %"github.com/goplus/llgo/internal/runtime.String" %239, ptr %231, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_16 _llgo_16: ; preds = %_llgo_15, %_llgo_14 - %240 = load ptr, ptr @_llgo_main.K, align 8 - %241 = icmp eq ptr %240, null - br i1 %241, label %_llgo_17, label %_llgo_18 + %240 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 17, i64 2, i64 0, i64 0) + %241 = load ptr, ptr @_llgo_main.K, align 8 + %242 = icmp eq ptr %241, null + br i1 %242, label %_llgo_17, label %_llgo_18 _llgo_17: ; preds = %_llgo_16 - %242 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 17, i64 2, i64 0, i64 0) - store ptr %242, ptr @_llgo_main.K, align 8 + store ptr %240, ptr @_llgo_main.K, align 8 br label %_llgo_18 _llgo_18: ; preds = %_llgo_17, %_llgo_16 - %243 = load ptr, ptr @_llgo_main.N, align 8 - %244 = icmp eq ptr %243, null - br i1 %244, label %_llgo_19, label %_llgo_20 + %243 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 2, i64 0, i64 0) + %244 = load ptr, ptr @_llgo_main.N, align 8 + %245 = icmp eq ptr %244, null + br i1 %245, label %_llgo_19, label %_llgo_20 _llgo_19: ; preds = %_llgo_18 - %245 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 2, i64 0, i64 0) - store ptr %245, ptr @_llgo_main.N, align 8 + store ptr %243, ptr @_llgo_main.N, align 8 br label %_llgo_20 _llgo_20: ; preds = %_llgo_19, %_llgo_18 @@ -1464,7 +1464,7 @@ _llgo_20: ; preds = %_llgo_19, %_llgo_18 %278 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %269, i64 2, %"github.com/goplus/llgo/internal/runtime.Slice" %277) store ptr %278, ptr @"main.struct$e65EDK9vxC36Nz3YTgO1ulssLlNH03Bva_WWaCjH-4A", align 8 %279 = load ptr, ptr @"main.struct$e65EDK9vxC36Nz3YTgO1ulssLlNH03Bva_WWaCjH-4A", align 8 - br i1 %244, label %_llgo_21, label %_llgo_22 + br i1 %245, label %_llgo_21, label %_llgo_22 _llgo_21: ; preds = %_llgo_20 %280 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1479,7 +1479,7 @@ _llgo_21: ; preds = %_llgo_20 %286 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %284, i32 0, i32 1 store i64 1, ptr %286, align 4 %287 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %284, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %245, %"github.com/goplus/llgo/internal/runtime.String" %283, %"github.com/goplus/llgo/internal/runtime.String" %287, ptr %279, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %243, %"github.com/goplus/llgo/internal/runtime.String" %283, %"github.com/goplus/llgo/internal/runtime.String" %287, ptr %279, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_22 _llgo_22: ; preds = %_llgo_21, %_llgo_20 @@ -1489,13 +1489,13 @@ _llgo_22: ; preds = %_llgo_21, %_llgo_20 br i1 %290, label %_llgo_23, label %_llgo_24 _llgo_23: ; preds = %_llgo_22 - %291 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %245) + %291 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %243) store ptr %291, ptr @"[1]_llgo_main.N", align 8 br label %_llgo_24 _llgo_24: ; preds = %_llgo_23, %_llgo_22 %292 = load ptr, ptr @"[1]_llgo_main.N", align 8 - br i1 %241, label %_llgo_25, label %_llgo_26 + br i1 %242, label %_llgo_25, label %_llgo_26 _llgo_25: ; preds = %_llgo_24 %293 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1510,18 +1510,18 @@ _llgo_25: ; preds = %_llgo_24 %299 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %297, i32 0, i32 1 store i64 1, ptr %299, align 4 %300 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %297, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %242, %"github.com/goplus/llgo/internal/runtime.String" %296, %"github.com/goplus/llgo/internal/runtime.String" %300, ptr %292, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %240, %"github.com/goplus/llgo/internal/runtime.String" %296, %"github.com/goplus/llgo/internal/runtime.String" %300, ptr %292, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_26 _llgo_26: ; preds = %_llgo_25, %_llgo_24 - %301 = load ptr, ptr @_llgo_main.K2, align 8 - %302 = icmp eq ptr %301, null - br i1 %302, label %_llgo_27, label %_llgo_28 + %301 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 17, i64 8, i64 0, i64 0) + %302 = load ptr, ptr @_llgo_main.K2, align 8 + %303 = icmp eq ptr %302, null + br i1 %303, label %_llgo_27, label %_llgo_28 _llgo_27: ; preds = %_llgo_26 - %303 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 17, i64 8, i64 0, i64 0) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %303) - store ptr %303, ptr @_llgo_main.K2, align 8 + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %301) + store ptr %301, ptr @_llgo_main.K2, align 8 br label %_llgo_28 _llgo_28: ; preds = %_llgo_27, %_llgo_26 @@ -1530,7 +1530,7 @@ _llgo_28: ; preds = %_llgo_27, %_llgo_26 br i1 %305, label %_llgo_29, label %_llgo_30 _llgo_29: ; preds = %_llgo_28 - %306 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %245) + %306 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %243) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %306) store ptr %306, ptr @"*_llgo_main.N", align 8 br label %_llgo_30 @@ -1542,7 +1542,7 @@ _llgo_30: ; preds = %_llgo_29, %_llgo_28 br i1 %309, label %_llgo_31, label %_llgo_32 _llgo_31: ; preds = %_llgo_30 - %310 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %245) + %310 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %243) %311 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %310) call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %311) store ptr %311, ptr @"[1]*_llgo_main.N", align 8 @@ -1550,7 +1550,7 @@ _llgo_31: ; preds = %_llgo_30 _llgo_32: ; preds = %_llgo_31, %_llgo_30 %312 = load ptr, ptr @"[1]*_llgo_main.N", align 8 - br i1 %302, label %_llgo_33, label %_llgo_34 + br i1 %303, label %_llgo_33, label %_llgo_34 _llgo_33: ; preds = %_llgo_32 %313 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -1565,7 +1565,7 @@ _llgo_33: ; preds = %_llgo_32 %319 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %317, i32 0, i32 1 store i64 2, ptr %319, align 4 %320 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %317, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %303, %"github.com/goplus/llgo/internal/runtime.String" %316, %"github.com/goplus/llgo/internal/runtime.String" %320, ptr %312, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %301, %"github.com/goplus/llgo/internal/runtime.String" %316, %"github.com/goplus/llgo/internal/runtime.String" %320, ptr %312, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_34 _llgo_34: ; preds = %_llgo_33, %_llgo_32 diff --git a/cl/_testrt/typed/out.ll b/cl/_testrt/typed/out.ll index 326ab29c..5edd3cec 100644 --- a/cl/_testrt/typed/out.ll +++ b/cl/_testrt/typed/out.ll @@ -181,13 +181,13 @@ declare void @"github.com/goplus/llgo/internal/runtime.init"() define void @"main.init$after"() { _llgo_0: - %0 = load ptr, ptr @_llgo_main.T, align 8 - %1 = icmp eq ptr %0, null - br i1 %1, label %_llgo_1, label %_llgo_2 + %0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(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 _llgo_1: ; preds = %_llgo_0 - %2 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 24, i64 16, i64 0, i64 0) - store ptr %2, ptr @_llgo_main.T, align 8 + store ptr %0, ptr @_llgo_main.T, align 8 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 @@ -202,7 +202,7 @@ _llgo_3: ; preds = %_llgo_2 _llgo_4: ; preds = %_llgo_3, %_llgo_2 %6 = load ptr, ptr @_llgo_string, align 8 - br i1 %1, label %_llgo_5, label %_llgo_6 + br i1 %2, label %_llgo_5, label %_llgo_6 _llgo_5: ; preds = %_llgo_4 %7 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -217,17 +217,17 @@ _llgo_5: ; preds = %_llgo_4 %13 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %11, i32 0, i32 1 store i64 1, ptr %13, align 4 %14 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %11, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %2, %"github.com/goplus/llgo/internal/runtime.String" %10, %"github.com/goplus/llgo/internal/runtime.String" %14, ptr %6, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, %"github.com/goplus/llgo/internal/runtime.String" %10, %"github.com/goplus/llgo/internal/runtime.String" %14, ptr %6, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %15 = load ptr, ptr @_llgo_main.A, align 8 - %16 = icmp eq ptr %15, null - br i1 %16, label %_llgo_7, label %_llgo_8 + %15 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 17, i64 16, i64 0, i64 0) + %16 = load ptr, ptr @_llgo_main.A, align 8 + %17 = icmp eq ptr %16, null + br i1 %17, label %_llgo_7, label %_llgo_8 _llgo_7: ; preds = %_llgo_6 - %17 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 17, i64 16, i64 0, i64 0) - store ptr %17, ptr @_llgo_main.A, align 8 + store ptr %15, ptr @_llgo_main.A, align 8 br label %_llgo_8 _llgo_8: ; preds = %_llgo_7, %_llgo_6 @@ -254,7 +254,7 @@ _llgo_11: ; preds = %_llgo_10 _llgo_12: ; preds = %_llgo_11, %_llgo_10 %26 = load ptr, ptr @"[2]_llgo_int", align 8 - br i1 %16, label %_llgo_13, label %_llgo_14 + br i1 %17, label %_llgo_13, label %_llgo_14 _llgo_13: ; preds = %_llgo_12 %27 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 @@ -269,7 +269,7 @@ _llgo_13: ; preds = %_llgo_12 %33 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %31, i32 0, i32 1 store i64 1, ptr %33, align 4 %34 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %31, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %17, %"github.com/goplus/llgo/internal/runtime.String" %30, %"github.com/goplus/llgo/internal/runtime.String" %34, ptr %26, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %15, %"github.com/goplus/llgo/internal/runtime.String" %30, %"github.com/goplus/llgo/internal/runtime.String" %34, ptr %26, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_14 _llgo_14: ; preds = %_llgo_13, %_llgo_12 diff --git a/ssa/abitype.go b/ssa/abitype.go index b80aced8..9cc25d56 100644 --- a/ssa/abitype.go +++ b/ssa/abitype.go @@ -194,8 +194,9 @@ func (b Builder) abiInterfaceOf(pkgPath string, name string, t *types.Interface) // func NewNamed(kind abi.Kind, methods, ptrMethods int) func (b Builder) abiNamedOf(t *types.Named) func() Expr { + expr := b.abiNamed(t) return func() Expr { - return b.abiNamed(t) + return expr } }