ssa: fix abiNamed for llc verified

This commit is contained in:
visualfc
2024-07-22 12:35:56 +08:00
parent a108610a67
commit 024b30d0b7
10 changed files with 475 additions and 474 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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
}