internal/runtime: pointer set abi.KindDirectIface

This commit is contained in:
visualfc
2024-12-23 20:29:00 +08:00
parent b69abd1058
commit 3caae31374
9 changed files with 2713 additions and 2849 deletions

View File

@@ -464,142 +464,126 @@ _llgo_3: ; preds = %_llgo_2
br label %_llgo_4
_llgo_4: ; preds = %_llgo_3, %_llgo_2
%6 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8
%7 = icmp eq ptr %6, null
br i1 %7, label %_llgo_5, label %_llgo_6
%6 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 0)
%7 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %6, 0
%8 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %7, i64 0, 1
%9 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %8, i64 0, 2
%10 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Struct"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 4 }, i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %9)
store ptr %10, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8
%11 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewNamed"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 1 }, i64 25, i64 48, i64 0, i64 0)
%12 = load ptr, ptr @_llgo_main.T, align 8
%13 = icmp eq ptr %12, null
br i1 %13, label %_llgo_5, label %_llgo_6
_llgo_5: ; preds = %_llgo_4
%8 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 0)
%9 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %8, 0
%10 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %9, i64 0, 1
%11 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %10, i64 0, 2
%12 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Struct"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 4 }, i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %11)
store ptr %12, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8
store ptr %11, ptr @_llgo_main.T, align 8
br label %_llgo_6
_llgo_6: ; preds = %_llgo_5, %_llgo_4
%13 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewNamed"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 1 }, i64 25, i64 48, i64 0, i64 0)
%14 = load ptr, ptr @_llgo_main.T, align 8
%14 = load ptr, ptr @_llgo_any, align 8
%15 = icmp eq ptr %14, null
br i1 %15, label %_llgo_7, label %_llgo_8
_llgo_7: ; preds = %_llgo_6
store ptr %13, ptr @_llgo_main.T, align 8
%16 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 0)
%17 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %16, 0
%18 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %17, i64 0, 1
%19 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %18, i64 0, 2
%20 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Interface"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %19)
store ptr %20, ptr @_llgo_any, align 8
br label %_llgo_8
_llgo_8: ; preds = %_llgo_7, %_llgo_6
%16 = load ptr, ptr @_llgo_any, align 8
%17 = icmp eq ptr %16, null
br i1 %17, label %_llgo_9, label %_llgo_10
%21 = load ptr, ptr @_llgo_any, align 8
%22 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 34)
%23 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @5, i64 1 }, ptr %22, i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false)
%24 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 34)
%25 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @6, i64 1 }, ptr %24, i64 8, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false)
%26 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 24)
%27 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 1 }, ptr %26, i64 16, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false)
%28 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 0)
%29 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %28, 0
%30 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %29, i64 0, 1
%31 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %30, i64 0, 2
%32 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Interface"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %31)
%33 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @8, i64 1 }, ptr %32, i64 32, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false)
%34 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 224)
%35 = getelementptr %"github.com/goplus/llgo/runtime/abi.StructField", ptr %34, i64 0
store %"github.com/goplus/llgo/runtime/abi.StructField" %23, ptr %35, align 8
%36 = getelementptr %"github.com/goplus/llgo/runtime/abi.StructField", ptr %34, i64 1
store %"github.com/goplus/llgo/runtime/abi.StructField" %25, ptr %36, align 8
%37 = getelementptr %"github.com/goplus/llgo/runtime/abi.StructField", ptr %34, i64 2
store %"github.com/goplus/llgo/runtime/abi.StructField" %27, ptr %37, align 8
%38 = getelementptr %"github.com/goplus/llgo/runtime/abi.StructField", ptr %34, i64 3
store %"github.com/goplus/llgo/runtime/abi.StructField" %33, ptr %38, align 8
%39 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %34, 0
%40 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %39, i64 4, 1
%41 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %40, i64 4, 2
%42 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Struct"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 4 }, i64 48, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %41)
store ptr %42, ptr @"_llgo_struct$5D_KhR3tDEp-wpx9caTiVZca43wS-XW6slE9Bsr8rsk", align 8
%43 = load ptr, ptr @"_llgo_struct$5D_KhR3tDEp-wpx9caTiVZca43wS-XW6slE9Bsr8rsk", align 8
br i1 %13, label %_llgo_9, label %_llgo_10
_llgo_9: ; preds = %_llgo_8
%18 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 0)
%19 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %18, 0
%20 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %19, i64 0, 1
%21 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %20, i64 0, 2
%22 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Interface"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %21)
store ptr %22, ptr @_llgo_any, align 8
call void @"github.com/goplus/llgo/runtime/internal/runtime.InitNamed"(ptr %11, ptr %43, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
br label %_llgo_10
_llgo_10: ; preds = %_llgo_9, %_llgo_8
%23 = load ptr, ptr @_llgo_any, align 8
%24 = load ptr, ptr @"_llgo_struct$5D_KhR3tDEp-wpx9caTiVZca43wS-XW6slE9Bsr8rsk", align 8
%25 = icmp eq ptr %24, null
br i1 %25, label %_llgo_11, label %_llgo_12
%44 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewNamed"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @9, i64 1 }, i64 25, i64 0, i64 0, i64 0)
%45 = load ptr, ptr @_llgo_main.N, align 8
%46 = icmp eq ptr %45, null
br i1 %46, label %_llgo_11, label %_llgo_12
_llgo_11: ; preds = %_llgo_10
%26 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 34)
%27 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @5, i64 1 }, ptr %26, i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false)
%28 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 34)
%29 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @6, i64 1 }, ptr %28, i64 8, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false)
%30 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 24)
%31 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 1 }, ptr %30, i64 16, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false)
%32 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 0)
%33 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %32, 0
%34 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %33, i64 0, 1
%35 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %34, i64 0, 2
%36 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Interface"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %35)
%37 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @8, i64 1 }, ptr %36, i64 32, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false)
%38 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 224)
%39 = getelementptr %"github.com/goplus/llgo/runtime/abi.StructField", ptr %38, i64 0
store %"github.com/goplus/llgo/runtime/abi.StructField" %27, ptr %39, align 8
%40 = getelementptr %"github.com/goplus/llgo/runtime/abi.StructField", ptr %38, i64 1
store %"github.com/goplus/llgo/runtime/abi.StructField" %29, ptr %40, align 8
%41 = getelementptr %"github.com/goplus/llgo/runtime/abi.StructField", ptr %38, i64 2
store %"github.com/goplus/llgo/runtime/abi.StructField" %31, ptr %41, align 8
%42 = getelementptr %"github.com/goplus/llgo/runtime/abi.StructField", ptr %38, i64 3
store %"github.com/goplus/llgo/runtime/abi.StructField" %37, ptr %42, align 8
%43 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %38, 0
%44 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %43, i64 4, 1
%45 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %44, i64 4, 2
%46 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Struct"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 4 }, i64 48, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %45)
store ptr %46, ptr @"_llgo_struct$5D_KhR3tDEp-wpx9caTiVZca43wS-XW6slE9Bsr8rsk", align 8
store ptr %44, ptr @_llgo_main.N, align 8
br label %_llgo_12
_llgo_12: ; preds = %_llgo_11, %_llgo_10
%47 = load ptr, ptr @"_llgo_struct$5D_KhR3tDEp-wpx9caTiVZca43wS-XW6slE9Bsr8rsk", align 8
br i1 %15, label %_llgo_13, label %_llgo_14
%47 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8
br i1 %46, label %_llgo_13, label %_llgo_14
_llgo_13: ; preds = %_llgo_12
call void @"github.com/goplus/llgo/runtime/internal/runtime.InitNamed"(ptr %13, ptr %47, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
call void @"github.com/goplus/llgo/runtime/internal/runtime.InitNamed"(ptr %44, ptr %47, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
br label %_llgo_14
_llgo_14: ; preds = %_llgo_13, %_llgo_12
%48 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewNamed"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @9, i64 1 }, i64 25, i64 0, i64 0, i64 0)
%49 = load ptr, ptr @_llgo_main.N, align 8
%50 = icmp eq ptr %49, null
br i1 %50, label %_llgo_15, label %_llgo_16
%48 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8
%49 = icmp eq ptr %48, null
br i1 %49, label %_llgo_15, label %_llgo_16
_llgo_15: ; preds = %_llgo_14
store ptr %48, ptr @_llgo_main.N, align 8
%50 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 34)
%51 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 24)
%52 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 40)
%53 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.ArrayOf"(i64 8, ptr %52)
%54 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @10, i64 7 }, ptr %53, i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false)
%55 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 34)
%56 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.ArrayOf"(i64 8, ptr %55)
%57 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @11, i64 4 }, ptr %56, i64 8, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false)
%58 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 24)
%59 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.ArrayOf"(i64 8, ptr %58)
%60 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @12, i64 5 }, ptr %59, i64 72, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false)
%61 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 58)
%62 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @13, i64 8 }, ptr %61, i64 200, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false)
%63 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 224)
%64 = getelementptr %"github.com/goplus/llgo/runtime/abi.StructField", ptr %63, i64 0
store %"github.com/goplus/llgo/runtime/abi.StructField" %54, ptr %64, align 8
%65 = getelementptr %"github.com/goplus/llgo/runtime/abi.StructField", ptr %63, i64 1
store %"github.com/goplus/llgo/runtime/abi.StructField" %57, ptr %65, align 8
%66 = getelementptr %"github.com/goplus/llgo/runtime/abi.StructField", ptr %63, i64 2
store %"github.com/goplus/llgo/runtime/abi.StructField" %60, ptr %66, align 8
%67 = getelementptr %"github.com/goplus/llgo/runtime/abi.StructField", ptr %63, i64 3
store %"github.com/goplus/llgo/runtime/abi.StructField" %62, ptr %67, align 8
%68 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %63, 0
%69 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %68, i64 4, 1
%70 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %69, i64 4, 2
%71 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Struct"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 4 }, i64 208, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %70)
%72 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapOf"(ptr %50, ptr %51, ptr %71, i64 4)
call void @"github.com/goplus/llgo/runtime/internal/runtime.SetDirectIface"(ptr %72)
store ptr %72, ptr @"map[_llgo_int]_llgo_string", align 8
br label %_llgo_16
_llgo_16: ; preds = %_llgo_15, %_llgo_14
%51 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8
br i1 %50, label %_llgo_17, label %_llgo_18
_llgo_17: ; preds = %_llgo_16
call void @"github.com/goplus/llgo/runtime/internal/runtime.InitNamed"(ptr %48, ptr %51, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
br label %_llgo_18
_llgo_18: ; preds = %_llgo_17, %_llgo_16
%52 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8
%53 = icmp eq ptr %52, null
br i1 %53, label %_llgo_19, label %_llgo_20
_llgo_19: ; preds = %_llgo_18
%54 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 34)
%55 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 24)
%56 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 40)
%57 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.ArrayOf"(i64 8, ptr %56)
%58 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @10, i64 7 }, ptr %57, i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false)
%59 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 34)
%60 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.ArrayOf"(i64 8, ptr %59)
%61 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @11, i64 4 }, ptr %60, i64 8, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false)
%62 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 24)
%63 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.ArrayOf"(i64 8, ptr %62)
%64 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @12, i64 5 }, ptr %63, i64 72, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false)
%65 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 58)
%66 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @13, i64 8 }, ptr %65, i64 200, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false)
%67 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 224)
%68 = getelementptr %"github.com/goplus/llgo/runtime/abi.StructField", ptr %67, i64 0
store %"github.com/goplus/llgo/runtime/abi.StructField" %58, ptr %68, align 8
%69 = getelementptr %"github.com/goplus/llgo/runtime/abi.StructField", ptr %67, i64 1
store %"github.com/goplus/llgo/runtime/abi.StructField" %61, ptr %69, align 8
%70 = getelementptr %"github.com/goplus/llgo/runtime/abi.StructField", ptr %67, i64 2
store %"github.com/goplus/llgo/runtime/abi.StructField" %64, ptr %70, align 8
%71 = getelementptr %"github.com/goplus/llgo/runtime/abi.StructField", ptr %67, i64 3
store %"github.com/goplus/llgo/runtime/abi.StructField" %66, ptr %71, align 8
%72 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %67, 0
%73 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %72, i64 4, 1
%74 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %73, i64 4, 2
%75 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Struct"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 4 }, i64 208, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %74)
%76 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.MapOf"(ptr %54, ptr %55, ptr %75, i64 4)
call void @"github.com/goplus/llgo/runtime/internal/runtime.SetDirectIface"(ptr %76)
store ptr %76, ptr @"map[_llgo_int]_llgo_string", align 8
br label %_llgo_20
_llgo_20: ; preds = %_llgo_19, %_llgo_18
ret void
}