From 4552691aedd9e4c62ca423e79d69834f567615bc Mon Sep 17 00:00:00 2001 From: visualfc Date: Mon, 25 Nov 2024 13:28:18 +0800 Subject: [PATCH 1/4] ssa: toLLVMFunc by NameValist --- ssa/decl.go | 11 ++++++++++- ssa/type.go | 2 +- ssa/type_cvt.go | 5 ++--- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/ssa/decl.go b/ssa/decl.go index 1e82a74b..165b5094 100644 --- a/ssa/decl.go +++ b/ssa/decl.go @@ -34,6 +34,15 @@ func VArg() *types.Var { return types.NewParam(0, nil, NameValist, types.NewSlice(tyAny)) } +func hasNameValist(sig *types.Signature) bool { + if sig.Variadic() { + if params := sig.Params(); params.At(params.Len()-1).Name() == NameValist { + return true + } + } + return false +} + // ----------------------------------------------------------------------------- type aNamedConst struct { @@ -228,7 +237,7 @@ func newParams(fn Type, prog Program) (params []Type, hasVArg bool) { sig := fn.raw.Type.(*types.Signature) in := sig.Params() if n := in.Len(); n > 0 { - if hasVArg = sig.Variadic(); hasVArg { + if hasVArg = hasNameValist(sig); hasVArg { n-- } params = make([]Type, n) diff --git a/ssa/type.go b/ssa/type.go index 11391f39..8e3f9703 100644 --- a/ssa/type.go +++ b/ssa/type.go @@ -452,7 +452,7 @@ func (p Program) toLLVMTypes(t *types.Tuple, n int) (ret []llvm.Type) { func (p Program) toLLVMFunc(sig *types.Signature) llvm.Type { tParams := sig.Params() n := tParams.Len() - hasVArg := sig.Variadic() + hasVArg := hasNameValist(sig) if hasVArg { n-- } diff --git a/ssa/type_cvt.go b/ssa/type_cvt.go index df54d0b8..1f7a5141 100644 --- a/ssa/type_cvt.go +++ b/ssa/type_cvt.go @@ -189,9 +189,8 @@ func (p goTypes) cvtFunc(sig *types.Signature, recv *types.Var) (raw *types.Sign } params, cvt1 := p.cvtTuple(sig.Params()) results, cvt2 := p.cvtTuple(sig.Results()) - if cvt1 || cvt2 || sig.Variadic() { - // variadic always is false in raw type for Go function - return types.NewSignatureType(nil, nil, nil, params, results, false) + if cvt1 || cvt2 { + return types.NewSignatureType(nil, nil, nil, params, results, sig.Variadic()) } return sig } From fadd64c1e9e4ae7af8f50ee89f71f34a8c4b21ee Mon Sep 17 00:00:00 2001 From: visualfc Date: Mon, 25 Nov 2024 20:13:42 +0800 Subject: [PATCH 2/4] ssa: cvtClosure remove closureCtx param --- cl/_testgo/invoke/out.ll | 229 +- cl/_testgo/reflect/out.ll | 292 +-- cl/_testrt/abinamed/out.ll | 3974 +++++++++++++++--------------- cl/_testrt/closureiface/out.ll | 148 +- cl/_testrt/eface/out.ll | 172 +- cl/_testrt/funcdecl/out.ll | 120 +- cl/_testrt/tpmethod/out.ll | 584 ++--- internal/lib/reflect/makefunc.go | 3 +- internal/lib/reflect/type.go | 3 +- internal/lib/reflect/value.go | 92 +- ssa/expr.go | 3 +- ssa/type_cvt.go | 3 +- 12 files changed, 2782 insertions(+), 2841 deletions(-) diff --git a/cl/_testgo/invoke/out.ll b/cl/_testgo/invoke/out.ll index 192b8d82..5a10cb5c 100644 --- a/cl/_testgo/invoke/out.ll +++ b/cl/_testgo/invoke/out.ll @@ -65,8 +65,7 @@ source_filename = "main" @_llgo_main.T6 = linkonce global ptr null, align 8 @25 = private unnamed_addr constant [7 x i8] c"main.T6", align 1 @_llgo_Pointer = linkonce global ptr null, align 8 -@"_llgo_func$xDKPBz2TjGWCkfLQLcYQpZXP65A_RCdH__LHR-wvWiw" = linkonce global ptr null, align 8 -@"main.struct$2bSfJcCYDdttnIT-JASAjsTNUZvojBt4mPXFJdH4M10" = linkonce global ptr null, align 8 +@"main.struct$ShRx0rnZQIkym8zpNxljLHWZbDzaCdzDkVBTe78YZMw" = linkonce global ptr null, align 8 @26 = private unnamed_addr constant [1 x i8] c"f", align 1 @27 = private unnamed_addr constant [4 x i8] c"data", align 1 @28 = private unnamed_addr constant [2 x i8] c"T6", align 1 @@ -918,165 +917,137 @@ _llgo_53: ; preds = %_llgo_52 br label %_llgo_54 _llgo_54: ; preds = %_llgo_53, %_llgo_52 - %218 = load ptr, ptr @_llgo_Pointer, align 8 - %219 = icmp eq ptr %218, null - br i1 %219, label %_llgo_55, label %_llgo_56 + %218 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %219 = load ptr, ptr @_llgo_Pointer, align 8 + %220 = icmp eq ptr %219, null + br i1 %220, label %_llgo_55, label %_llgo_56 _llgo_55: ; preds = %_llgo_54 - %220 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %220) - store ptr %220, ptr @_llgo_Pointer, align 8 + %221 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %221) + store ptr %221, ptr @_llgo_Pointer, align 8 br label %_llgo_56 _llgo_56: ; preds = %_llgo_55, %_llgo_54 - %221 = load ptr, ptr @_llgo_Pointer, align 8 %222 = load ptr, ptr @_llgo_Pointer, align 8 %223 = load ptr, ptr @_llgo_int, align 8 - %224 = load ptr, ptr @"_llgo_func$xDKPBz2TjGWCkfLQLcYQpZXP65A_RCdH__LHR-wvWiw", align 8 - %225 = icmp eq ptr %224, null - br i1 %225, label %_llgo_57, label %_llgo_58 + %224 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %225 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %224, 0 + %226 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %225, i64 0, 1 + %227 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %226, i64 0, 2 + %228 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %229 = getelementptr ptr, ptr %228, i64 0 + store ptr %223, ptr %229, align 8 + %230 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %228, 0 + %231 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %230, i64 1, 1 + %232 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %231, i64 1, 2 + %233 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %227, %"github.com/goplus/llgo/internal/runtime.Slice" %232, i1 false) + %234 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 1 }, ptr %233, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %235 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %236 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 4 }, ptr %235, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %237 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %238 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %237, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %234, ptr %238, align 8 + %239 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %237, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %236, ptr %239, align 8 + %240 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %237, 0 + %241 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %240, i64 2, 1 + %242 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %241, i64 2, 2 + %243 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %242) + store ptr %243, ptr @"main.struct$ShRx0rnZQIkym8zpNxljLHWZbDzaCdzDkVBTe78YZMw", align 8 + %244 = load ptr, ptr @"main.struct$ShRx0rnZQIkym8zpNxljLHWZbDzaCdzDkVBTe78YZMw", align 8 + br i1 %217, label %_llgo_57, label %_llgo_58 _llgo_57: ; preds = %_llgo_56 - %226 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %227 = getelementptr ptr, ptr %226, i64 0 - store ptr %222, ptr %227, align 8 - %228 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %226, 0 - %229 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %228, i64 1, 1 - %230 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %229, i64 1, 2 - %231 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %232 = getelementptr ptr, ptr %231, i64 0 - store ptr %223, ptr %232, align 8 - %233 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %231, 0 - %234 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %233, i64 1, 1 - %235 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %234, i64 1, 2 - %236 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %230, %"github.com/goplus/llgo/internal/runtime.Slice" %235, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %236) - store ptr %236, ptr @"_llgo_func$xDKPBz2TjGWCkfLQLcYQpZXP65A_RCdH__LHR-wvWiw", align 8 + %245 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %246 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %245, 1 + %247 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %246, ptr @"main.(*T6).Invoke", 2 + %248 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %247, ptr @"main.(*T6).Invoke", 3 + %249 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %245, 1 + %250 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %249, ptr @"main.(*T6).Invoke", 2 + %251 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %250, ptr @main.T6.Invoke, 3 + %252 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %253 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %252, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %251, ptr %253, align 8 + %254 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %252, 0 + %255 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %254, i64 1, 1 + %256 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %255, i64 1, 2 + %257 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %258 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %257, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %248, ptr %258, align 8 + %259 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %257, 0 + %260 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %259, i64 1, 1 + %261 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %260, i64 1, 2 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %215, %"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 2 }, ptr %244, %"github.com/goplus/llgo/internal/runtime.Slice" %256, %"github.com/goplus/llgo/internal/runtime.Slice" %261) br label %_llgo_58 _llgo_58: ; preds = %_llgo_57, %_llgo_56 - %237 = load ptr, ptr @"_llgo_func$xDKPBz2TjGWCkfLQLcYQpZXP65A_RCdH__LHR-wvWiw", align 8 - %238 = load ptr, ptr @_llgo_Pointer, align 8 - %239 = load ptr, ptr @_llgo_int, align 8 - %240 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %241 = getelementptr ptr, ptr %240, i64 0 - store ptr %238, ptr %241, align 8 - %242 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %240, 0 - %243 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %242, i64 1, 1 - %244 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %243, i64 1, 2 - %245 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %246 = getelementptr ptr, ptr %245, i64 0 - store ptr %239, ptr %246, align 8 - %247 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %245, 0 - %248 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %247, i64 1, 1 - %249 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %248, i64 1, 2 - %250 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %244, %"github.com/goplus/llgo/internal/runtime.Slice" %249, i1 false) - %251 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 1 }, ptr %250, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %252 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %253 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 4 }, ptr %252, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %254 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %255 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %254, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %251, ptr %255, align 8 - %256 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %254, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %253, ptr %256, align 8 - %257 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %254, 0 - %258 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %257, i64 2, 1 - %259 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %258, i64 2, 2 - %260 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %259) - store ptr %260, ptr @"main.struct$2bSfJcCYDdttnIT-JASAjsTNUZvojBt4mPXFJdH4M10", align 8 - %261 = load ptr, ptr @"main.struct$2bSfJcCYDdttnIT-JASAjsTNUZvojBt4mPXFJdH4M10", align 8 - br i1 %217, label %_llgo_59, label %_llgo_60 + %262 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, i64 25, i64 24, i64 1, i64 1) + %263 = load ptr, ptr @"*_llgo_main.T6", align 8 + %264 = icmp eq ptr %263, null + br i1 %264, label %_llgo_59, label %_llgo_60 _llgo_59: ; preds = %_llgo_58 - %262 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %263 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %262, 1 - %264 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %263, ptr @"main.(*T6).Invoke", 2 - %265 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %264, ptr @"main.(*T6).Invoke", 3 - %266 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %262, 1 - %267 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %266, ptr @"main.(*T6).Invoke", 2 - %268 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %267, ptr @main.T6.Invoke, 3 - %269 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %270 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %269, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %268, ptr %270, align 8 - %271 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %269, 0 - %272 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %271, i64 1, 1 - %273 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %272, i64 1, 2 - %274 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %275 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %274, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %265, ptr %275, align 8 - %276 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %274, 0 - %277 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %276, i64 1, 1 - %278 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %277, i64 1, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %215, %"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 2 }, ptr %261, %"github.com/goplus/llgo/internal/runtime.Slice" %273, %"github.com/goplus/llgo/internal/runtime.Slice" %278) + %265 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %262) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %265) + store ptr %265, ptr @"*_llgo_main.T6", align 8 br label %_llgo_60 _llgo_60: ; preds = %_llgo_59, %_llgo_58 - %279 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, i64 25, i64 24, i64 1, i64 1) - %280 = load ptr, ptr @"*_llgo_main.T6", align 8 - %281 = icmp eq ptr %280, null - br i1 %281, label %_llgo_61, label %_llgo_62 + %266 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %267 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %268 = load ptr, ptr @"_llgo_iface$jwmSdgh1zvY_TDIgLzCkvkbiyrdwl9N806DH0JGcyMI", align 8 + %269 = icmp eq ptr %268, null + br i1 %269, label %_llgo_61, label %_llgo_62 _llgo_61: ; preds = %_llgo_60 - %282 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %279) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %282) - store ptr %282, ptr @"*_llgo_main.T6", align 8 + %270 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 6 }, ptr undef }, ptr %266, 1 + %271 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 6 }, ptr undef }, ptr %267, 1 + %272 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48) + %273 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %272, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %270, ptr %273, align 8 + %274 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %272, i64 1 + store %"github.com/goplus/llgo/internal/abi.Imethod" %271, ptr %274, align 8 + %275 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %272, 0 + %276 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %275, i64 2, 1 + %277 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %276, i64 2, 2 + %278 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %277) + store ptr %278, ptr @"_llgo_iface$jwmSdgh1zvY_TDIgLzCkvkbiyrdwl9N806DH0JGcyMI", align 8 br label %_llgo_62 _llgo_62: ; preds = %_llgo_61, %_llgo_60 - %283 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %284 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %285 = load ptr, ptr @"_llgo_iface$jwmSdgh1zvY_TDIgLzCkvkbiyrdwl9N806DH0JGcyMI", align 8 - %286 = icmp eq ptr %285, null - br i1 %286, label %_llgo_63, label %_llgo_64 + %279 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %280 = load ptr, ptr @_llgo_main.I, align 8 + %281 = icmp eq ptr %280, null + br i1 %281, label %_llgo_63, label %_llgo_64 _llgo_63: ; preds = %_llgo_62 - %287 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 6 }, ptr undef }, ptr %283, 1 - %288 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 6 }, ptr undef }, ptr %284, 1 - %289 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48) - %290 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %289, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %287, ptr %290, align 8 - %291 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %289, i64 1 - store %"github.com/goplus/llgo/internal/abi.Imethod" %288, ptr %291, align 8 - %292 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %289, 0 - %293 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %292, i64 2, 1 - %294 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %293, i64 2, 2 - %295 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %294) - store ptr %295, ptr @"_llgo_iface$jwmSdgh1zvY_TDIgLzCkvkbiyrdwl9N806DH0JGcyMI", align 8 + %282 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 6 }, ptr undef }, ptr %279, 1 + %283 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %284 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %283, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %282, ptr %284, align 8 + %285 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %283, 0 + %286 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %285, i64 1, 1 + %287 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %286, i64 1, 2 + %288 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 6 }, %"github.com/goplus/llgo/internal/runtime.Slice" %287) + store ptr %288, ptr @_llgo_main.I, align 8 br label %_llgo_64 _llgo_64: ; preds = %_llgo_63, %_llgo_62 - %296 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %297 = load ptr, ptr @_llgo_main.I, align 8 - %298 = icmp eq ptr %297, null - br i1 %298, label %_llgo_65, label %_llgo_66 + %289 = load ptr, ptr @_llgo_any, align 8 + %290 = icmp eq ptr %289, null + br i1 %290, label %_llgo_65, label %_llgo_66 _llgo_65: ; preds = %_llgo_64 - %299 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 6 }, ptr undef }, ptr %296, 1 - %300 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %301 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %300, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %299, ptr %301, align 8 - %302 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %300, 0 - %303 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %302, i64 1, 1 - %304 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %303, i64 1, 2 - %305 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 6 }, %"github.com/goplus/llgo/internal/runtime.Slice" %304) - store ptr %305, ptr @_llgo_main.I, align 8 + %291 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %292 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %291, 0 + %293 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %292, i64 0, 1 + %294 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %293, i64 0, 2 + %295 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %294) + store ptr %295, ptr @_llgo_any, align 8 br label %_llgo_66 _llgo_66: ; preds = %_llgo_65, %_llgo_64 - %306 = load ptr, ptr @_llgo_any, align 8 - %307 = icmp eq ptr %306, null - br i1 %307, label %_llgo_67, label %_llgo_68 - -_llgo_67: ; preds = %_llgo_66 - %308 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %309 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %308, 0 - %310 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %309, i64 0, 1 - %311 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %310, i64 0, 2 - %312 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %311) - store ptr %312, ptr @_llgo_any, align 8 - br label %_llgo_68 - -_llgo_68: ; preds = %_llgo_67, %_llgo_66 ret void } diff --git a/cl/_testgo/reflect/out.ll b/cl/_testgo/reflect/out.ll index d8f1c288..73e8cc86 100644 --- a/cl/_testgo/reflect/out.ll +++ b/cl/_testgo/reflect/out.ll @@ -13,10 +13,10 @@ source_filename = "main" @"main.init$guard" = global i1 false, align 1 @0 = private unnamed_addr constant [11 x i8] c"call.method", align 1 -@_llgo_Pointer = linkonce global ptr null, align 8 @_llgo_int = linkonce global ptr null, align 8 -@"_llgo_func$LW7NaHY4krmx4VSCwrrjp23xg526aJ8NlR7kN98tIyE" = linkonce global ptr null, align 8 -@"main.struct$J4GOle3xvLePlAXZSFNKiHRJ-WQyyOMhvl8OQfxW2Q8" = linkonce global ptr null, align 8 +@"_llgo_func$ekGNsrYBSzltfAjxbl6T8H6Yq8j16wzqS3nDj2xxGMU" = linkonce global ptr null, align 8 +@_llgo_Pointer = linkonce global ptr null, align 8 +@"main.struct$0F5MIVpixVnQ6IoIDrJI9hTk70oCWg1odzb2q0E2rJ0" = linkonce global ptr null, align 8 @1 = private unnamed_addr constant [1 x i8] c"f", align 1 @2 = private unnamed_addr constant [4 x i8] c"data", align 1 @3 = private unnamed_addr constant [4 x i8] c"main", align 1 @@ -31,7 +31,6 @@ source_filename = "main" @"main.struct$eovYmOhZg4X0zMSsuscSshndnbbAGvB2E3cyG8E7Y4U" = linkonce global ptr null, align 8 @10 = private unnamed_addr constant [1 x i8] c"n", align 1 @11 = private unnamed_addr constant [3 x i8] c"Add", align 1 -@"_llgo_func$ekGNsrYBSzltfAjxbl6T8H6Yq8j16wzqS3nDj2xxGMU" = linkonce global ptr null, align 8 @12 = private unnamed_addr constant [1 x i8] c"T", align 1 @"*_llgo_main.T" = linkonce global ptr null, align 8 @"_llgo_iface$VdBKYV8-gcMjZtZfcf-u2oKoj9Lu3VXwuG8TGCW2S4A" = linkonce global ptr null, align 8 @@ -62,10 +61,10 @@ _llgo_0: %2 = getelementptr inbounds { ptr }, ptr %1, i32 0, i32 0 store ptr %0, ptr %2, align 8 %3 = insertvalue { ptr, ptr } { ptr @"main.callClosure$1", ptr undef }, ptr %1, 1 - %4 = load ptr, ptr @_llgo_Pointer, align 8 - %5 = load ptr, ptr @_llgo_int, align 8 - %6 = load ptr, ptr @"_llgo_func$LW7NaHY4krmx4VSCwrrjp23xg526aJ8NlR7kN98tIyE", align 8 - %7 = load ptr, ptr @"main.struct$J4GOle3xvLePlAXZSFNKiHRJ-WQyyOMhvl8OQfxW2Q8", align 8 + %4 = load ptr, ptr @_llgo_int, align 8 + %5 = load ptr, ptr @"_llgo_func$ekGNsrYBSzltfAjxbl6T8H6Yq8j16wzqS3nDj2xxGMU", align 8 + %6 = load ptr, ptr @_llgo_Pointer, align 8 + %7 = load ptr, ptr @"main.struct$0F5MIVpixVnQ6IoIDrJI9hTk70oCWg1odzb2q0E2rJ0", align 8 call void @"github.com/goplus/llgo/internal/runtime.SetClosure"(ptr %7) %8 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) store { ptr, ptr } %3, ptr %8, align 8 @@ -111,7 +110,7 @@ _llgo_0: call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) %39 = call %"github.com/goplus/llgo/internal/runtime.eface" @reflect.Value.Interface(%reflect.Value %11) %40 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %39, 0 - %41 = load ptr, ptr @"main.struct$J4GOle3xvLePlAXZSFNKiHRJ-WQyyOMhvl8OQfxW2Q8", align 8 + %41 = load ptr, ptr @"main.struct$0F5MIVpixVnQ6IoIDrJI9hTk70oCWg1odzb2q0E2rJ0", align 8 %42 = icmp eq ptr %40, %41 br i1 %42, label %_llgo_3, label %_llgo_4 @@ -161,7 +160,7 @@ _llgo_0: define void @main.callFunc() { _llgo_0: - %0 = load ptr, ptr @"main.struct$J4GOle3xvLePlAXZSFNKiHRJ-WQyyOMhvl8OQfxW2Q8", align 8 + %0 = load ptr, ptr @"main.struct$0F5MIVpixVnQ6IoIDrJI9hTk70oCWg1odzb2q0E2rJ0", align 8 call void @"github.com/goplus/llgo/internal/runtime.SetClosure"(ptr %0) %1 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) store { ptr, ptr } { ptr @"__llgo_stub.main.callFunc$1", ptr null }, ptr %1, align 8 @@ -207,7 +206,7 @@ _llgo_0: call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) %32 = call %"github.com/goplus/llgo/internal/runtime.eface" @reflect.Value.Interface(%reflect.Value %4) %33 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %32, 0 - %34 = load ptr, ptr @"main.struct$J4GOle3xvLePlAXZSFNKiHRJ-WQyyOMhvl8OQfxW2Q8", align 8 + %34 = load ptr, ptr @"main.struct$0F5MIVpixVnQ6IoIDrJI9hTk70oCWg1odzb2q0E2rJ0", align 8 %35 = icmp eq ptr %33, %34 br i1 %35, label %_llgo_3, label %_llgo_4 @@ -443,198 +442,167 @@ declare %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtim define void @"main.init$after"() { _llgo_0: - %0 = load ptr, ptr @_llgo_Pointer, align 8 + %0 = load ptr, ptr @_llgo_int, align 8 %1 = icmp eq ptr %0, null br i1 %1, label %_llgo_1, label %_llgo_2 _llgo_1: ; preds = %_llgo_0 - %2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2) - store ptr %2, ptr @_llgo_Pointer, align 8 + %2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + store ptr %2, ptr @_llgo_int, align 8 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 %3 = load ptr, ptr @_llgo_int, align 8 - %4 = icmp eq ptr %3, null - br i1 %4, label %_llgo_3, label %_llgo_4 + %4 = load ptr, ptr @_llgo_int, align 8 + %5 = load ptr, ptr @"_llgo_func$ekGNsrYBSzltfAjxbl6T8H6Yq8j16wzqS3nDj2xxGMU", align 8 + %6 = icmp eq ptr %5, null + br i1 %6, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 - %5 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - store ptr %5, ptr @_llgo_int, align 8 + %7 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %8 = getelementptr ptr, ptr %7, i64 0 + store ptr %3, ptr %8, align 8 + %9 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %7, 0 + %10 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %9, i64 1, 1 + %11 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %10, i64 1, 2 + %12 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %13 = getelementptr ptr, ptr %12, i64 0 + store ptr %4, ptr %13, align 8 + %14 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %12, 0 + %15 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %14, i64 1, 1 + %16 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %15, i64 1, 2 + %17 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %11, %"github.com/goplus/llgo/internal/runtime.Slice" %16, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %17) + store ptr %17, ptr @"_llgo_func$ekGNsrYBSzltfAjxbl6T8H6Yq8j16wzqS3nDj2xxGMU", align 8 br label %_llgo_4 _llgo_4: ; preds = %_llgo_3, %_llgo_2 - %6 = load ptr, ptr @_llgo_Pointer, align 8 - %7 = load ptr, ptr @_llgo_int, align 8 - %8 = load ptr, ptr @_llgo_int, align 8 - %9 = load ptr, ptr @"_llgo_func$LW7NaHY4krmx4VSCwrrjp23xg526aJ8NlR7kN98tIyE", align 8 - %10 = icmp eq ptr %9, null - br i1 %10, label %_llgo_5, label %_llgo_6 + %18 = load ptr, ptr @_llgo_Pointer, align 8 + %19 = icmp eq ptr %18, null + br i1 %19, label %_llgo_5, label %_llgo_6 _llgo_5: ; preds = %_llgo_4 - %11 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %12 = getelementptr ptr, ptr %11, i64 0 - store ptr %6, ptr %12, align 8 - %13 = getelementptr ptr, ptr %11, i64 1 - store ptr %7, ptr %13, align 8 - %14 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %11, 0 - %15 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %14, i64 2, 1 - %16 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %15, i64 2, 2 - %17 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %18 = getelementptr ptr, ptr %17, i64 0 - store ptr %8, ptr %18, align 8 - %19 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %17, 0 - %20 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %19, i64 1, 1 - %21 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %20, i64 1, 2 - %22 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %16, %"github.com/goplus/llgo/internal/runtime.Slice" %21, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %22) - store ptr %22, ptr @"_llgo_func$LW7NaHY4krmx4VSCwrrjp23xg526aJ8NlR7kN98tIyE", align 8 + %20 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %20) + store ptr %20, ptr @_llgo_Pointer, align 8 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %23 = load ptr, ptr @_llgo_Pointer, align 8 - %24 = load ptr, ptr @_llgo_int, align 8 - %25 = load ptr, ptr @_llgo_int, align 8 - %26 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %27 = getelementptr ptr, ptr %26, i64 0 - store ptr %23, ptr %27, align 8 - %28 = getelementptr ptr, ptr %26, i64 1 - store ptr %24, ptr %28, align 8 - %29 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %26, 0 - %30 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %29, i64 2, 1 - %31 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %30, i64 2, 2 - %32 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %33 = getelementptr ptr, ptr %32, i64 0 - store ptr %25, ptr %33, align 8 - %34 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %32, 0 - %35 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %34, i64 1, 1 - %36 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %35, i64 1, 2 - %37 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %31, %"github.com/goplus/llgo/internal/runtime.Slice" %36, i1 false) - %38 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 1 }, ptr %37, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %39 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %40 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, ptr %39, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %41 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %42 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %41, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %38, ptr %42, align 8 - %43 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %41, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %40, ptr %43, align 8 - %44 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %41, 0 - %45 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %44, i64 2, 1 - %46 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %45, i64 2, 2 - %47 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %46) - store ptr %47, ptr @"main.struct$J4GOle3xvLePlAXZSFNKiHRJ-WQyyOMhvl8OQfxW2Q8", align 8 - %48 = load ptr, ptr @_llgo_string, align 8 - %49 = icmp eq ptr %48, null - br i1 %49, label %_llgo_7, label %_llgo_8 + %21 = load ptr, ptr @_llgo_int, align 8 + %22 = load ptr, ptr @_llgo_int, align 8 + %23 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %24 = getelementptr ptr, ptr %23, i64 0 + store ptr %21, ptr %24, align 8 + %25 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %23, 0 + %26 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %25, i64 1, 1 + %27 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %26, i64 1, 2 + %28 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %29 = getelementptr ptr, ptr %28, i64 0 + store ptr %22, ptr %29, align 8 + %30 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %28, 0 + %31 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %30, i64 1, 1 + %32 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %31, i64 1, 2 + %33 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %27, %"github.com/goplus/llgo/internal/runtime.Slice" %32, i1 false) + %34 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 1 }, ptr %33, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %35 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %36 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, ptr %35, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %37 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %38 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %37, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %34, ptr %38, align 8 + %39 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %37, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %36, ptr %39, align 8 + %40 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %37, 0 + %41 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %40, i64 2, 1 + %42 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %41, i64 2, 2 + %43 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %42) + store ptr %43, ptr @"main.struct$0F5MIVpixVnQ6IoIDrJI9hTk70oCWg1odzb2q0E2rJ0", align 8 + %44 = load ptr, ptr @_llgo_string, align 8 + %45 = icmp eq ptr %44, null + br i1 %45, label %_llgo_7, label %_llgo_8 _llgo_7: ; preds = %_llgo_6 - %50 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - store ptr %50, ptr @_llgo_string, align 8 + %46 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + store ptr %46, ptr @_llgo_string, align 8 br label %_llgo_8 _llgo_8: ; preds = %_llgo_7, %_llgo_6 - %51 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 6 }, i64 25, i64 8, i64 0, i64 1) - %52 = load ptr, ptr @_llgo_main.T, align 8 - %53 = icmp eq ptr %52, null - br i1 %53, label %_llgo_9, label %_llgo_10 + %47 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 6 }, i64 25, i64 8, i64 0, i64 1) + %48 = load ptr, ptr @_llgo_main.T, align 8 + %49 = icmp eq ptr %48, null + br i1 %49, label %_llgo_9, label %_llgo_10 _llgo_9: ; preds = %_llgo_8 - store ptr %51, ptr @_llgo_main.T, align 8 + store ptr %47, ptr @_llgo_main.T, align 8 br label %_llgo_10 _llgo_10: ; preds = %_llgo_9, %_llgo_8 - %54 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %55 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 1 }, ptr %54, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %56 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) - %57 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %56, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %55, ptr %57, align 8 - %58 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %56, 0 - %59 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %58, i64 1, 1 - %60 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %59, i64 1, 2 - %61 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %60) - store ptr %61, ptr @"main.struct$eovYmOhZg4X0zMSsuscSshndnbbAGvB2E3cyG8E7Y4U", align 8 - %62 = load ptr, ptr @"main.struct$eovYmOhZg4X0zMSsuscSshndnbbAGvB2E3cyG8E7Y4U", align 8 - br i1 %53, label %_llgo_11, label %_llgo_12 + %50 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %51 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 1 }, ptr %50, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %52 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) + %53 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %52, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %51, ptr %53, align 8 + %54 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %52, 0 + %55 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %54, i64 1, 1 + %56 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %55, i64 1, 2 + %57 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %56) + store ptr %57, ptr @"main.struct$eovYmOhZg4X0zMSsuscSshndnbbAGvB2E3cyG8E7Y4U", align 8 + %58 = load ptr, ptr @"main.struct$eovYmOhZg4X0zMSsuscSshndnbbAGvB2E3cyG8E7Y4U", align 8 + br i1 %49, label %_llgo_11, label %_llgo_12 _llgo_11: ; preds = %_llgo_10 - %63 = load ptr, ptr @_llgo_int, align 8 - %64 = load ptr, ptr @_llgo_int, align 8 - %65 = load ptr, ptr @"_llgo_func$ekGNsrYBSzltfAjxbl6T8H6Yq8j16wzqS3nDj2xxGMU", align 8 - %66 = icmp eq ptr %65, null - br i1 %66, label %_llgo_13, label %_llgo_14 - -_llgo_12: ; preds = %_llgo_14, %_llgo_10 - %67 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 6 }, i64 25, i64 8, i64 0, i64 1) - %68 = load ptr, ptr @"*_llgo_main.T", align 8 - %69 = icmp eq ptr %68, null - br i1 %69, label %_llgo_15, label %_llgo_16 - -_llgo_13: ; preds = %_llgo_11 - %70 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %71 = getelementptr ptr, ptr %70, i64 0 - store ptr %63, ptr %71, align 8 - %72 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %70, 0 - %73 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %72, i64 1, 1 - %74 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %73, i64 1, 2 - %75 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %76 = getelementptr ptr, ptr %75, i64 0 - store ptr %64, ptr %76, align 8 - %77 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %75, 0 - %78 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %77, i64 1, 1 - %79 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %78, i64 1, 2 - %80 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %74, %"github.com/goplus/llgo/internal/runtime.Slice" %79, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %80) - store ptr %80, ptr @"_llgo_func$ekGNsrYBSzltfAjxbl6T8H6Yq8j16wzqS3nDj2xxGMU", align 8 - br label %_llgo_14 - -_llgo_14: ; preds = %_llgo_13, %_llgo_11 - %81 = load ptr, ptr @"_llgo_func$ekGNsrYBSzltfAjxbl6T8H6Yq8j16wzqS3nDj2xxGMU", align 8 - %82 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %81, 1 - %83 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %82, ptr @"main.(*T).Add", 2 - %84 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %83, ptr @"main.(*T).Add", 3 - %85 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %86 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %85, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %84, ptr %86, align 8 - %87 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %85, 0 - %88 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %87, i64 1, 1 - %89 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %88, i64 1, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %51, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 1 }, ptr %62, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %89) + %59 = load ptr, ptr @"_llgo_func$ekGNsrYBSzltfAjxbl6T8H6Yq8j16wzqS3nDj2xxGMU", align 8 + %60 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %59, 1 + %61 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %60, ptr @"main.(*T).Add", 2 + %62 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %61, ptr @"main.(*T).Add", 3 + %63 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %64 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %63, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %62, ptr %64, align 8 + %65 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %63, 0 + %66 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %65, i64 1, 1 + %67 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %66, i64 1, 2 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %47, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 1 }, ptr %58, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %67) br label %_llgo_12 -_llgo_15: ; preds = %_llgo_12 - %90 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %67) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %90) - store ptr %90, ptr @"*_llgo_main.T", align 8 +_llgo_12: ; preds = %_llgo_11, %_llgo_10 + %68 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 6 }, i64 25, i64 8, i64 0, i64 1) + %69 = load ptr, ptr @"*_llgo_main.T", align 8 + %70 = icmp eq ptr %69, null + br i1 %70, label %_llgo_13, label %_llgo_14 + +_llgo_13: ; preds = %_llgo_12 + %71 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %68) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %71) + store ptr %71, ptr @"*_llgo_main.T", align 8 + br label %_llgo_14 + +_llgo_14: ; preds = %_llgo_13, %_llgo_12 + %72 = load ptr, ptr @"_llgo_func$ekGNsrYBSzltfAjxbl6T8H6Yq8j16wzqS3nDj2xxGMU", align 8 + %73 = load ptr, ptr @"_llgo_iface$VdBKYV8-gcMjZtZfcf-u2oKoj9Lu3VXwuG8TGCW2S4A", align 8 + %74 = icmp eq ptr %73, null + br i1 %74, label %_llgo_15, label %_llgo_16 + +_llgo_15: ; preds = %_llgo_14 + %75 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 3 }, ptr undef }, ptr %72, 1 + %76 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %77 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %76, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %75, ptr %77, align 8 + %78 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %76, 0 + %79 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %78, i64 1, 1 + %80 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %79, i64 1, 2 + %81 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %80) + store ptr %81, ptr @"_llgo_iface$VdBKYV8-gcMjZtZfcf-u2oKoj9Lu3VXwuG8TGCW2S4A", align 8 br label %_llgo_16 -_llgo_16: ; preds = %_llgo_15, %_llgo_12 - %91 = load ptr, ptr @"_llgo_func$ekGNsrYBSzltfAjxbl6T8H6Yq8j16wzqS3nDj2xxGMU", align 8 - %92 = load ptr, ptr @"_llgo_iface$VdBKYV8-gcMjZtZfcf-u2oKoj9Lu3VXwuG8TGCW2S4A", align 8 - %93 = icmp eq ptr %92, null - br i1 %93, label %_llgo_17, label %_llgo_18 - -_llgo_17: ; preds = %_llgo_16 - %94 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 3 }, ptr undef }, ptr %91, 1 - %95 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %96 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %95, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %94, ptr %96, align 8 - %97 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %95, 0 - %98 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %97, i64 1, 1 - %99 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %98, i64 1, 2 - %100 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %99) - store ptr %100, ptr @"_llgo_iface$VdBKYV8-gcMjZtZfcf-u2oKoj9Lu3VXwuG8TGCW2S4A", align 8 - br label %_llgo_18 - -_llgo_18: ; preds = %_llgo_17, %_llgo_16 +_llgo_16: ; preds = %_llgo_15, %_llgo_14 ret void } declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64) -declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr) - declare ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice", i1) +declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr) + declare ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String", i64, %"github.com/goplus/llgo/internal/runtime.Slice") declare %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String", ptr, i64, %"github.com/goplus/llgo/internal/runtime.String", i1) diff --git a/cl/_testrt/abinamed/out.ll b/cl/_testrt/abinamed/out.ll index ffd479c1..b8723788 100644 --- a/cl/_testrt/abinamed/out.ll +++ b/cl/_testrt/abinamed/out.ll @@ -28,8 +28,8 @@ source_filename = "main" @4 = private unnamed_addr constant [5 x i8] c"TFlag", align 1 @_llgo_Pointer = linkonce global ptr null, align 8 @_llgo_bool = linkonce global ptr null, align 8 -@"_llgo_func$QUW0mAalenD4Bc6QsairPZ_HOMzGmcNs0GCyMzTNFig" = linkonce global ptr null, align 8 -@"main.struct$p9hq6rduefaRA0UGJ6DazYUtteEOtDFu7UHk5jhDUV4" = linkonce global ptr null, align 8 +@"_llgo_func$fC75jGwF1nV5TF91gEeTF_JCtbG9Z7_yOawHBxqBh6E" = linkonce global ptr null, align 8 +@"main.struct$LkOyXt2ZOfLj0dN8XuScd4CdSpCRJ9cWp1KI05fr0Ls" = linkonce global ptr null, align 8 @5 = private unnamed_addr constant [1 x i8] c"f", align 1 @6 = private unnamed_addr constant [4 x i8] c"data", align 1 @7 = private unnamed_addr constant [4 x i8] c"main", align 1 @@ -37,7 +37,7 @@ source_filename = "main" @"*_llgo_byte" = linkonce global ptr null, align 8 @_llgo_string = linkonce global ptr null, align 8 @"*_llgo_github.com/goplus/llgo/internal/abi.Type" = linkonce global ptr null, align 8 -@"main.struct$13P_TvKNXommvK6tKt3eRNnJqTcPEFYrHagFiHeRpb0" = linkonce global ptr null, align 8 +@"main.struct$kUO272Qk09C5NvUyOEWKmjUAoxxi3RhHpgqoeM6e1Tk" = linkonce global ptr null, align 8 @8 = private unnamed_addr constant [5 x i8] c"Size_", align 1 @9 = private unnamed_addr constant [8 x i8] c"PtrBytes", align 1 @10 = private unnamed_addr constant [4 x i8] c"Hash", align 1 @@ -116,10 +116,10 @@ source_filename = "main" @54 = private unnamed_addr constant [7 x i8] c"MapType", align 1 @"_llgo_github.com/goplus/llgo/internal/abi.MapType" = linkonce global ptr null, align 8 @55 = private unnamed_addr constant [43 x i8] c"github.com/goplus/llgo/internal/abi.MapType", align 1 -@"_llgo_func$cAvVsWLgvZTNybpI-5Hj9CeBwW9xcw6i77GFRvp83mY" = linkonce global ptr null, align 8 -@"main.struct$uDDWukIj6_GRAIQyJjrj0CZt1Ru2uIDU1N9fcbR_jCg" = linkonce global ptr null, align 8 +@"_llgo_func$ahHMZCcDhfW-lrs446sPkiW0NoVa2vpmK_wKarVa_20" = linkonce global ptr null, align 8 +@"main.struct$2gmPOZCguOeDHn3rO8wA0kSBY0yVjg54EviMsNeV45o" = linkonce global ptr null, align 8 @_llgo_uint16 = linkonce global ptr null, align 8 -@"main.struct$Yk42tBqeO4BzIoRAwt__cbPj2UwIDCP07Kg_SR7sBZM" = linkonce global ptr null, align 8 +@"main.struct$jgHT3zlvUCWdGAH-l4Nn1MOOw31LQoSt74SxHNLR50Q" = linkonce global ptr null, align 8 @56 = private unnamed_addr constant [6 x i8] c"Bucket", align 1 @57 = private unnamed_addr constant [6 x i8] c"Hasher", align 1 @58 = private unnamed_addr constant [7 x i8] c"KeySize", align 1 @@ -538,2328 +538,2310 @@ _llgo_20: ; preds = %_llgo_19, %_llgo_18 %35 = load ptr, ptr @_llgo_bool, align 8 %36 = load ptr, ptr @_llgo_Pointer, align 8 %37 = load ptr, ptr @_llgo_Pointer, align 8 - %38 = load ptr, ptr @_llgo_Pointer, align 8 - %39 = load ptr, ptr @_llgo_bool, align 8 - %40 = load ptr, ptr @"_llgo_func$QUW0mAalenD4Bc6QsairPZ_HOMzGmcNs0GCyMzTNFig", align 8 - %41 = icmp eq ptr %40, null - br i1 %41, label %_llgo_21, label %_llgo_22 + %38 = load ptr, ptr @_llgo_bool, align 8 + %39 = load ptr, ptr @"_llgo_func$fC75jGwF1nV5TF91gEeTF_JCtbG9Z7_yOawHBxqBh6E", align 8 + %40 = icmp eq ptr %39, null + br i1 %40, label %_llgo_21, label %_llgo_22 _llgo_21: ; preds = %_llgo_20 - %42 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %43 = getelementptr ptr, ptr %42, i64 0 - store ptr %36, ptr %43, align 8 - %44 = getelementptr ptr, ptr %42, i64 1 - store ptr %37, ptr %44, align 8 - %45 = getelementptr ptr, ptr %42, i64 2 - store ptr %38, ptr %45, align 8 - %46 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %42, 0 - %47 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %46, i64 3, 1 - %48 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %47, i64 3, 2 - %49 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %50 = getelementptr ptr, ptr %49, i64 0 - store ptr %39, ptr %50, align 8 - %51 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %49, 0 - %52 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %51, i64 1, 1 - %53 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %52, i64 1, 2 - %54 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %48, %"github.com/goplus/llgo/internal/runtime.Slice" %53, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %54) - store ptr %54, ptr @"_llgo_func$QUW0mAalenD4Bc6QsairPZ_HOMzGmcNs0GCyMzTNFig", align 8 + %41 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %42 = getelementptr ptr, ptr %41, i64 0 + store ptr %36, ptr %42, align 8 + %43 = getelementptr ptr, ptr %41, i64 1 + store ptr %37, ptr %43, align 8 + %44 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %41, 0 + %45 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %44, i64 2, 1 + %46 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %45, i64 2, 2 + %47 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %48 = getelementptr ptr, ptr %47, i64 0 + store ptr %38, ptr %48, align 8 + %49 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %47, 0 + %50 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %49, i64 1, 1 + %51 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %50, i64 1, 2 + %52 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %46, %"github.com/goplus/llgo/internal/runtime.Slice" %51, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %52) + store ptr %52, ptr @"_llgo_func$fC75jGwF1nV5TF91gEeTF_JCtbG9Z7_yOawHBxqBh6E", align 8 br label %_llgo_22 _llgo_22: ; preds = %_llgo_21, %_llgo_20 - %55 = load ptr, ptr @"_llgo_func$QUW0mAalenD4Bc6QsairPZ_HOMzGmcNs0GCyMzTNFig", align 8 - %56 = load ptr, ptr @_llgo_Pointer, align 8 - %57 = load ptr, ptr @_llgo_Pointer, align 8 - %58 = load ptr, ptr @_llgo_Pointer, align 8 - %59 = load ptr, ptr @_llgo_bool, align 8 - %60 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %61 = getelementptr ptr, ptr %60, i64 0 - store ptr %56, ptr %61, align 8 - %62 = getelementptr ptr, ptr %60, i64 1 - store ptr %57, ptr %62, align 8 - %63 = getelementptr ptr, ptr %60, i64 2 - store ptr %58, ptr %63, align 8 - %64 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %60, 0 - %65 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %64, i64 3, 1 - %66 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %65, i64 3, 2 - %67 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %68 = getelementptr ptr, ptr %67, i64 0 - store ptr %59, ptr %68, align 8 - %69 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %67, 0 - %70 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %69, i64 1, 1 - %71 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %70, i64 1, 2 - %72 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %66, %"github.com/goplus/llgo/internal/runtime.Slice" %71, i1 false) - %73 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 1 }, ptr %72, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %74 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %75 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 4 }, ptr %74, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %76 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %77 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %76, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %73, ptr %77, align 8 - %78 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %76, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %75, ptr %78, align 8 - %79 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %76, 0 - %80 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %79, i64 2, 1 - %81 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %80, i64 2, 2 - %82 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %81) - store ptr %82, ptr @"main.struct$p9hq6rduefaRA0UGJ6DazYUtteEOtDFu7UHk5jhDUV4", align 8 - %83 = load ptr, ptr @"main.struct$p9hq6rduefaRA0UGJ6DazYUtteEOtDFu7UHk5jhDUV4", align 8 - %84 = load ptr, ptr @_llgo_byte, align 8 - %85 = icmp eq ptr %84, null - br i1 %85, label %_llgo_23, label %_llgo_24 + %53 = load ptr, ptr @"_llgo_func$fC75jGwF1nV5TF91gEeTF_JCtbG9Z7_yOawHBxqBh6E", align 8 + %54 = load ptr, ptr @_llgo_Pointer, align 8 + %55 = load ptr, ptr @_llgo_Pointer, align 8 + %56 = load ptr, ptr @_llgo_bool, align 8 + %57 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %58 = getelementptr ptr, ptr %57, i64 0 + store ptr %54, ptr %58, align 8 + %59 = getelementptr ptr, ptr %57, i64 1 + store ptr %55, ptr %59, align 8 + %60 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %57, 0 + %61 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %60, i64 2, 1 + %62 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %61, i64 2, 2 + %63 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %64 = getelementptr ptr, ptr %63, i64 0 + store ptr %56, ptr %64, align 8 + %65 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %63, 0 + %66 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %65, i64 1, 1 + %67 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %66, i64 1, 2 + %68 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %62, %"github.com/goplus/llgo/internal/runtime.Slice" %67, i1 false) + %69 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 1 }, ptr %68, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %70 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %71 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 4 }, ptr %70, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %72 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %73 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %72, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %69, ptr %73, align 8 + %74 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %72, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %71, ptr %74, align 8 + %75 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %72, 0 + %76 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %75, i64 2, 1 + %77 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %76, i64 2, 2 + %78 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %77) + store ptr %78, ptr @"main.struct$LkOyXt2ZOfLj0dN8XuScd4CdSpCRJ9cWp1KI05fr0Ls", align 8 + %79 = load ptr, ptr @"main.struct$LkOyXt2ZOfLj0dN8XuScd4CdSpCRJ9cWp1KI05fr0Ls", align 8 + %80 = load ptr, ptr @_llgo_byte, align 8 + %81 = icmp eq ptr %80, null + br i1 %81, label %_llgo_23, label %_llgo_24 _llgo_23: ; preds = %_llgo_22 - %86 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - store ptr %86, ptr @_llgo_byte, align 8 + %82 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + store ptr %82, ptr @_llgo_byte, align 8 br label %_llgo_24 _llgo_24: ; preds = %_llgo_23, %_llgo_22 - %87 = load ptr, ptr @_llgo_byte, align 8 - %88 = load ptr, ptr @"*_llgo_byte", align 8 - %89 = icmp eq ptr %88, null - br i1 %89, label %_llgo_25, label %_llgo_26 + %83 = load ptr, ptr @_llgo_byte, align 8 + %84 = load ptr, ptr @"*_llgo_byte", align 8 + %85 = icmp eq ptr %84, null + br i1 %85, label %_llgo_25, label %_llgo_26 _llgo_25: ; preds = %_llgo_24 - %90 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %91 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %90) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %91) - store ptr %91, ptr @"*_llgo_byte", align 8 + %86 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %87 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %86) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %87) + store ptr %87, ptr @"*_llgo_byte", align 8 br label %_llgo_26 _llgo_26: ; preds = %_llgo_25, %_llgo_24 - %92 = load ptr, ptr @"*_llgo_byte", align 8 - %93 = load ptr, ptr @_llgo_string, align 8 - %94 = icmp eq ptr %93, null - br i1 %94, label %_llgo_27, label %_llgo_28 + %88 = load ptr, ptr @"*_llgo_byte", align 8 + %89 = load ptr, ptr @_llgo_string, align 8 + %90 = icmp eq ptr %89, null + br i1 %90, label %_llgo_27, label %_llgo_28 _llgo_27: ; preds = %_llgo_26 - %95 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - store ptr %95, ptr @_llgo_string, align 8 + %91 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + store ptr %91, ptr @_llgo_string, align 8 br label %_llgo_28 _llgo_28: ; preds = %_llgo_27, %_llgo_26 - %96 = load ptr, ptr @_llgo_string, align 8 - %97 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %98 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 72, i64 0, i64 23) - %99 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %100 = icmp eq ptr %99, null - br i1 %100, label %_llgo_29, label %_llgo_30 + %92 = load ptr, ptr @_llgo_string, align 8 + %93 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %94 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 72, i64 0, i64 23) + %95 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %96 = icmp eq ptr %95, null + br i1 %96, label %_llgo_29, label %_llgo_30 _llgo_29: ; preds = %_llgo_28 - %101 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %98) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %101) - store ptr %101, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %97 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %94) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %97) + store ptr %97, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 br label %_llgo_30 _llgo_30: ; preds = %_llgo_29, %_llgo_28 - %102 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %103 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 41 }, i64 8, i64 1, i64 0, i64 0) - %104 = load ptr, ptr @_llgo_Pointer, align 8 - %105 = load ptr, ptr @_llgo_Pointer, align 8 - %106 = load ptr, ptr @_llgo_Pointer, align 8 - %107 = load ptr, ptr @_llgo_bool, align 8 - %108 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 72, i64 0, i64 23) - %109 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - %110 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 5 }, ptr %109, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %111 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - %112 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 8 }, ptr %111, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %113 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) - %114 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, ptr %113, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %115 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 5 }, ptr %103, i64 20, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %116 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %117 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 6 }, ptr %116, i64 21, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %118 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %119 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 11 }, ptr %118, i64 22, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %120 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %121 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 5 }, ptr %120, i64 23, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %122 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %123 = getelementptr ptr, ptr %122, i64 0 - store ptr %104, ptr %123, align 8 - %124 = getelementptr ptr, ptr %122, i64 1 - store ptr %105, ptr %124, align 8 - %125 = getelementptr ptr, ptr %122, i64 2 - store ptr %106, ptr %125, align 8 - %126 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %122, 0 - %127 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %126, i64 3, 1 - %128 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %127, i64 3, 2 - %129 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %130 = getelementptr ptr, ptr %129, i64 0 - store ptr %107, ptr %130, align 8 - %131 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %129, 0 - %132 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %131, i64 1, 1 - %133 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %132, i64 1, 2 - %134 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %128, %"github.com/goplus/llgo/internal/runtime.Slice" %133, i1 false) - %135 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 1 }, ptr %134, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %136 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %137 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 4 }, ptr %136, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %138 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %139 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %138, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %135, ptr %139, align 8 - %140 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %138, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %137, ptr %140, align 8 - %141 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %138, 0 - %142 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %141, i64 2, 1 - %143 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %142, i64 2, 2 - %144 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %143) - %145 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 5 }, ptr %144, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %146 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %147 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %146) - %148 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 6 }, ptr %147, i64 40, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %149 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %150 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 4 }, ptr %149, i64 48, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %151 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %108) - %152 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 10 }, ptr %151, i64 64, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %153 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 616) - %154 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %153, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %110, ptr %154, align 8 - %155 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %153, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %112, ptr %155, align 8 - %156 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %153, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %114, ptr %156, align 8 - %157 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %153, i64 3 - store %"github.com/goplus/llgo/internal/abi.StructField" %115, ptr %157, align 8 - %158 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %153, i64 4 - store %"github.com/goplus/llgo/internal/abi.StructField" %117, ptr %158, align 8 - %159 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %153, i64 5 - store %"github.com/goplus/llgo/internal/abi.StructField" %119, ptr %159, align 8 - %160 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %153, i64 6 - store %"github.com/goplus/llgo/internal/abi.StructField" %121, ptr %160, align 8 - %161 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %153, i64 7 - store %"github.com/goplus/llgo/internal/abi.StructField" %145, ptr %161, align 8 - %162 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %153, i64 8 - store %"github.com/goplus/llgo/internal/abi.StructField" %148, ptr %162, align 8 - %163 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %153, i64 9 - store %"github.com/goplus/llgo/internal/abi.StructField" %150, ptr %163, align 8 - %164 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %153, i64 10 - store %"github.com/goplus/llgo/internal/abi.StructField" %152, ptr %164, align 8 - %165 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %153, 0 - %166 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %165, i64 11, 1 - %167 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %166, i64 11, 2 - %168 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 72, %"github.com/goplus/llgo/internal/runtime.Slice" %167) - store ptr %168, ptr @"main.struct$13P_TvKNXommvK6tKt3eRNnJqTcPEFYrHagFiHeRpb0", align 8 - %169 = load ptr, ptr @"main.struct$13P_TvKNXommvK6tKt3eRNnJqTcPEFYrHagFiHeRpb0", align 8 + %98 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %99 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 41 }, i64 8, i64 1, i64 0, i64 0) + %100 = load ptr, ptr @_llgo_Pointer, align 8 + %101 = load ptr, ptr @_llgo_Pointer, align 8 + %102 = load ptr, ptr @_llgo_bool, align 8 + %103 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 72, i64 0, i64 23) + %104 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) + %105 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 5 }, ptr %104, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %106 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) + %107 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 8 }, ptr %106, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %108 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) + %109 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, ptr %108, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %110 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 5 }, ptr %99, i64 20, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %111 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %112 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 6 }, ptr %111, i64 21, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %113 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %114 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 11 }, ptr %113, i64 22, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %115 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %116 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 5 }, ptr %115, i64 23, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %117 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %118 = getelementptr ptr, ptr %117, i64 0 + store ptr %100, ptr %118, align 8 + %119 = getelementptr ptr, ptr %117, i64 1 + store ptr %101, ptr %119, align 8 + %120 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %117, 0 + %121 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %120, i64 2, 1 + %122 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %121, i64 2, 2 + %123 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %124 = getelementptr ptr, ptr %123, i64 0 + store ptr %102, ptr %124, align 8 + %125 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %123, 0 + %126 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %125, i64 1, 1 + %127 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %126, i64 1, 2 + %128 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %122, %"github.com/goplus/llgo/internal/runtime.Slice" %127, i1 false) + %129 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 1 }, ptr %128, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %130 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %131 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 4 }, ptr %130, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %132 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %133 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %132, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %129, ptr %133, align 8 + %134 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %132, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %131, ptr %134, align 8 + %135 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %132, 0 + %136 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %135, i64 2, 1 + %137 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %136, i64 2, 2 + %138 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %137) + %139 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @14, i64 5 }, ptr %138, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %140 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %141 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %140) + %142 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 6 }, ptr %141, i64 40, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %143 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %144 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 4 }, ptr %143, i64 48, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %145 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %103) + %146 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @17, i64 10 }, ptr %145, i64 64, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %147 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 616) + %148 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %147, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %105, ptr %148, align 8 + %149 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %147, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %107, ptr %149, align 8 + %150 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %147, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %109, ptr %150, align 8 + %151 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %147, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %110, ptr %151, align 8 + %152 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %147, i64 4 + store %"github.com/goplus/llgo/internal/abi.StructField" %112, ptr %152, align 8 + %153 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %147, i64 5 + store %"github.com/goplus/llgo/internal/abi.StructField" %114, ptr %153, align 8 + %154 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %147, i64 6 + store %"github.com/goplus/llgo/internal/abi.StructField" %116, ptr %154, align 8 + %155 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %147, i64 7 + store %"github.com/goplus/llgo/internal/abi.StructField" %139, ptr %155, align 8 + %156 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %147, i64 8 + store %"github.com/goplus/llgo/internal/abi.StructField" %142, ptr %156, align 8 + %157 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %147, i64 9 + store %"github.com/goplus/llgo/internal/abi.StructField" %144, ptr %157, align 8 + %158 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %147, i64 10 + store %"github.com/goplus/llgo/internal/abi.StructField" %146, ptr %158, align 8 + %159 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %147, 0 + %160 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %159, i64 11, 1 + %161 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %160, i64 11, 2 + %162 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 72, %"github.com/goplus/llgo/internal/runtime.Slice" %161) + store ptr %162, ptr @"main.struct$kUO272Qk09C5NvUyOEWKmjUAoxxi3RhHpgqoeM6e1Tk", align 8 + %163 = load ptr, ptr @"main.struct$kUO272Qk09C5NvUyOEWKmjUAoxxi3RhHpgqoeM6e1Tk", align 8 br i1 %11, label %_llgo_31, label %_llgo_32 _llgo_31: ; preds = %_llgo_30 - %170 = load ptr, ptr @_llgo_int, align 8 - %171 = icmp eq ptr %170, null - br i1 %171, label %_llgo_33, label %_llgo_34 + %164 = load ptr, ptr @_llgo_int, align 8 + %165 = icmp eq ptr %164, null + br i1 %165, label %_llgo_33, label %_llgo_34 _llgo_32: ; preds = %_llgo_42, %_llgo_30 - %172 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %173 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %174 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 6 }, i64 25, i64 48, i64 0, i64 0) - %175 = load ptr, ptr @"[]_llgo_main.T", align 8 - %176 = icmp eq ptr %175, null - br i1 %176, label %_llgo_149, label %_llgo_150 + %166 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %167 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %168 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 6 }, i64 25, i64 48, i64 0, i64 0) + %169 = load ptr, ptr @"[]_llgo_main.T", align 8 + %170 = icmp eq ptr %169, null + br i1 %170, label %_llgo_149, label %_llgo_150 _llgo_33: ; preds = %_llgo_31 - %177 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - store ptr %177, ptr @_llgo_int, align 8 + %171 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + store ptr %171, ptr @_llgo_int, align 8 br label %_llgo_34 _llgo_34: ; preds = %_llgo_33, %_llgo_31 - %178 = load ptr, ptr @_llgo_int, align 8 - %179 = load ptr, ptr @_llgo_int, align 8 - %180 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %181 = icmp eq ptr %180, null - br i1 %181, label %_llgo_35, label %_llgo_36 + %172 = load ptr, ptr @_llgo_int, align 8 + %173 = load ptr, ptr @_llgo_int, align 8 + %174 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %175 = icmp eq ptr %174, null + br i1 %175, label %_llgo_35, label %_llgo_36 _llgo_35: ; preds = %_llgo_34 - %182 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %183 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %182, 0 - %184 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %183, i64 0, 1 - %185 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %184, i64 0, 2 - %186 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %187 = getelementptr ptr, ptr %186, i64 0 - store ptr %179, ptr %187, align 8 - %188 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %186, 0 - %189 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %188, i64 1, 1 - %190 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %189, i64 1, 2 - %191 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %185, %"github.com/goplus/llgo/internal/runtime.Slice" %190, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %191) - store ptr %191, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %176 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %177 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %176, 0 + %178 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %177, i64 0, 1 + %179 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %178, i64 0, 2 + %180 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %181 = getelementptr ptr, ptr %180, i64 0 + store ptr %173, ptr %181, align 8 + %182 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %180, 0 + %183 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %182, i64 1, 1 + %184 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %183, i64 1, 2 + %185 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %179, %"github.com/goplus/llgo/internal/runtime.Slice" %184, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %185) + store ptr %185, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 br label %_llgo_36 _llgo_36: ; preds = %_llgo_35, %_llgo_34 - %192 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %193 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %192, 1 - %194 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %193, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Align", 2 - %195 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %194, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Align", 3 - %196 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 45 }, i64 25, i64 104, i64 0, i64 21) - %197 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 - %198 = icmp eq ptr %197, null - br i1 %198, label %_llgo_37, label %_llgo_38 + %186 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %187 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %186, 1 + %188 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %187, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Align", 2 + %189 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %188, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Align", 3 + %190 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 45 }, i64 25, i64 104, i64 0, i64 21) + %191 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %192 = icmp eq ptr %191, null + br i1 %192, label %_llgo_37, label %_llgo_38 _llgo_37: ; preds = %_llgo_36 - store ptr %196, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + store ptr %190, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 br label %_llgo_38 _llgo_38: ; preds = %_llgo_37, %_llgo_36 - %199 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %200 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %201 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %202 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %203 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %204 = load ptr, ptr @"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY", align 8 - %205 = icmp eq ptr %204, null - br i1 %205, label %_llgo_39, label %_llgo_40 + %193 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %194 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %195 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %196 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %197 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %198 = load ptr, ptr @"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY", align 8 + %199 = icmp eq ptr %198, null + br i1 %199, label %_llgo_39, label %_llgo_40 _llgo_39: ; preds = %_llgo_38 - %206 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %201, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) - %207 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %202) - %208 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr %207, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %209 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %203) - %210 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 5 }, ptr %209, i64 80, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %211 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - %212 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr %211, i64 88, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %213 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) - %214 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %213, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %206, ptr %214, align 8 - %215 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %213, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %208, ptr %215, align 8 - %216 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %213, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %210, ptr %216, align 8 - %217 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %213, i64 3 - store %"github.com/goplus/llgo/internal/abi.StructField" %212, ptr %217, align 8 - %218 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %213, 0 - %219 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %218, i64 4, 1 - %220 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %219, i64 4, 2 - %221 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 96, %"github.com/goplus/llgo/internal/runtime.Slice" %220) - store ptr %221, ptr @"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY", align 8 + %200 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %195, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) + %201 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %196) + %202 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr %201, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %203 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %197) + %204 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @23, i64 5 }, ptr %203, i64 80, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %205 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) + %206 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr %205, i64 88, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %207 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) + %208 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %207, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %200, ptr %208, align 8 + %209 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %207, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %202, ptr %209, align 8 + %210 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %207, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %204, ptr %210, align 8 + %211 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %207, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %206, ptr %211, align 8 + %212 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %207, 0 + %213 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %212, i64 4, 1 + %214 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %213, i64 4, 2 + %215 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 96, %"github.com/goplus/llgo/internal/runtime.Slice" %214) + store ptr %215, ptr @"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY", align 8 br label %_llgo_40 _llgo_40: ; preds = %_llgo_39, %_llgo_38 - %222 = load ptr, ptr @"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY", align 8 - br i1 %198, label %_llgo_41, label %_llgo_42 + %216 = load ptr, ptr @"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY", align 8 + br i1 %192, label %_llgo_41, label %_llgo_42 _llgo_41: ; preds = %_llgo_40 - %223 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %224 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %223, 1 - %225 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %224, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Align", 2 - %226 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %225, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Align", 3 - %227 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 45 }, i64 25, i64 104, i64 0, i64 21) - %228 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 - %229 = icmp eq ptr %228, null - br i1 %229, label %_llgo_43, label %_llgo_44 + %217 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %218 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %217, 1 + %219 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %218, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Align", 2 + %220 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %219, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Align", 3 + %221 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @20, i64 45 }, i64 25, i64 104, i64 0, i64 21) + %222 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %223 = icmp eq ptr %222, null + br i1 %223, label %_llgo_43, label %_llgo_44 _llgo_42: ; preds = %_llgo_148, %_llgo_40 - %230 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 - %231 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 - %232 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %233 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %232, 1 - %234 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %233, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ArrayType", 2 - %235 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %234, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ArrayType", 3 - %236 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %237 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %236, 1 - %238 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %237, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ChanDir", 2 - %239 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %238, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ChanDir", 3 - %240 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %241 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %242 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %241, 1 - %243 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %242, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Common", 2 - %244 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %243, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Common", 3 - %245 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %246 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %247 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %246, 1 - %248 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %247, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Elem", 2 - %249 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %248, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Elem", 3 - %250 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 - %251 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %252 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %251, 1 - %253 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %252, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ExportedMethods", 2 - %254 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %253, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ExportedMethods", 3 - %255 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %256 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %255, 1 - %257 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %256, ptr @"github.com/goplus/llgo/internal/abi.(*Type).FieldAlign", 2 - %258 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %257, ptr @"github.com/goplus/llgo/internal/abi.(*Type).FieldAlign", 3 - %259 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %260 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %261 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %260, 1 - %262 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %261, ptr @"github.com/goplus/llgo/internal/abi.(*Type).FuncType", 2 - %263 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %262, ptr @"github.com/goplus/llgo/internal/abi.(*Type).FuncType", 3 - %264 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %265 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %264, 1 - %266 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %265, ptr @"github.com/goplus/llgo/internal/abi.(*Type).HasName", 2 - %267 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %266, ptr @"github.com/goplus/llgo/internal/abi.(*Type).HasName", 3 - %268 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %269 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %268, 1 - %270 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %269, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IfaceIndir", 2 - %271 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %270, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IfaceIndir", 3 - %272 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 - %273 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %274 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %273, 1 - %275 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %274, ptr @"github.com/goplus/llgo/internal/abi.(*Type).InterfaceType", 2 - %276 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %275, ptr @"github.com/goplus/llgo/internal/abi.(*Type).InterfaceType", 3 - %277 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %278 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %277, 1 - %279 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %278, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IsClosure", 2 - %280 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %279, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IsClosure", 3 - %281 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %282 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %281, 1 - %283 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %282, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IsDirectIface", 2 - %284 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %283, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IsDirectIface", 3 - %285 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %286 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %287 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %286, 1 - %288 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %287, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Key", 2 - %289 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %288, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Key", 3 - %290 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %291 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %290, 1 - %292 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %291, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Kind", 2 - %293 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %292, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Kind", 3 - %294 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %295 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %294, 1 - %296 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %295, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Len", 2 - %297 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %296, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Len", 3 - %298 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 - %299 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %300 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %299, 1 - %301 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %300, ptr @"github.com/goplus/llgo/internal/abi.(*Type).MapType", 2 - %302 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %301, ptr @"github.com/goplus/llgo/internal/abi.(*Type).MapType", 3 - %303 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %304 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %303, 1 - %305 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %304, ptr @"github.com/goplus/llgo/internal/abi.(*Type).NumMethod", 2 - %306 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %305, ptr @"github.com/goplus/llgo/internal/abi.(*Type).NumMethod", 3 - %307 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %308 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %307, 1 - %309 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %308, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Pointers", 2 - %310 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %309, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Pointers", 3 - %311 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %312 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %311, 1 - %313 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %312, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Size", 2 - %314 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %313, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Size", 3 - %315 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %316 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %315, 1 - %317 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %316, ptr @"github.com/goplus/llgo/internal/abi.(*Type).String", 2 - %318 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %317, ptr @"github.com/goplus/llgo/internal/abi.(*Type).String", 3 - %319 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 - %320 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %321 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %320, 1 - %322 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %321, ptr @"github.com/goplus/llgo/internal/abi.(*Type).StructType", 2 - %323 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %322, ptr @"github.com/goplus/llgo/internal/abi.(*Type).StructType", 3 - %324 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %325 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %324, 1 - %326 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %325, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Uncommon", 2 - %327 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %326, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Uncommon", 3 - %328 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 920) - %329 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %195, ptr %329, align 8 - %330 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %235, ptr %330, align 8 - %331 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %239, ptr %331, align 8 - %332 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 3 - store %"github.com/goplus/llgo/internal/abi.Method" %244, ptr %332, align 8 - %333 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 4 - store %"github.com/goplus/llgo/internal/abi.Method" %249, ptr %333, align 8 - %334 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 5 - store %"github.com/goplus/llgo/internal/abi.Method" %254, ptr %334, align 8 - %335 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 6 - store %"github.com/goplus/llgo/internal/abi.Method" %258, ptr %335, align 8 - %336 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 7 - store %"github.com/goplus/llgo/internal/abi.Method" %263, ptr %336, align 8 - %337 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 8 - store %"github.com/goplus/llgo/internal/abi.Method" %267, ptr %337, align 8 - %338 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 9 - store %"github.com/goplus/llgo/internal/abi.Method" %271, ptr %338, align 8 - %339 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 10 - store %"github.com/goplus/llgo/internal/abi.Method" %276, ptr %339, align 8 - %340 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 11 - store %"github.com/goplus/llgo/internal/abi.Method" %280, ptr %340, align 8 - %341 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 12 - store %"github.com/goplus/llgo/internal/abi.Method" %284, ptr %341, align 8 - %342 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 13 - store %"github.com/goplus/llgo/internal/abi.Method" %289, ptr %342, align 8 - %343 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 14 - store %"github.com/goplus/llgo/internal/abi.Method" %293, ptr %343, align 8 - %344 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 15 - store %"github.com/goplus/llgo/internal/abi.Method" %297, ptr %344, align 8 - %345 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 16 - store %"github.com/goplus/llgo/internal/abi.Method" %302, ptr %345, align 8 - %346 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 17 - store %"github.com/goplus/llgo/internal/abi.Method" %306, ptr %346, align 8 - %347 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 18 - store %"github.com/goplus/llgo/internal/abi.Method" %310, ptr %347, align 8 - %348 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 19 - store %"github.com/goplus/llgo/internal/abi.Method" %314, ptr %348, align 8 - %349 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 20 - store %"github.com/goplus/llgo/internal/abi.Method" %318, ptr %349, align 8 - %350 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 21 - store %"github.com/goplus/llgo/internal/abi.Method" %323, ptr %350, align 8 - %351 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %328, i64 22 - store %"github.com/goplus/llgo/internal/abi.Method" %327, ptr %351, align 8 - %352 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %328, 0 - %353 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %352, i64 23, 1 - %354 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %353, i64 23, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %9, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %169, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %354) + %224 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %225 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %226 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 + %227 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %226, 1 + %228 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %227, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ArrayType", 2 + %229 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %228, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ArrayType", 3 + %230 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 + %231 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %230, 1 + %232 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %231, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ChanDir", 2 + %233 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %232, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ChanDir", 3 + %234 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %235 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %236 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %235, 1 + %237 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %236, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Common", 2 + %238 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %237, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Common", 3 + %239 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %240 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %241 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %240, 1 + %242 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %241, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Elem", 2 + %243 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %242, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Elem", 3 + %244 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %245 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %246 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %245, 1 + %247 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %246, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ExportedMethods", 2 + %248 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %247, ptr @"github.com/goplus/llgo/internal/abi.(*Type).ExportedMethods", 3 + %249 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %250 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %249, 1 + %251 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %250, ptr @"github.com/goplus/llgo/internal/abi.(*Type).FieldAlign", 2 + %252 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %251, ptr @"github.com/goplus/llgo/internal/abi.(*Type).FieldAlign", 3 + %253 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %254 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 + %255 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %254, 1 + %256 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %255, ptr @"github.com/goplus/llgo/internal/abi.(*Type).FuncType", 2 + %257 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %256, ptr @"github.com/goplus/llgo/internal/abi.(*Type).FuncType", 3 + %258 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %259 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %258, 1 + %260 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %259, ptr @"github.com/goplus/llgo/internal/abi.(*Type).HasName", 2 + %261 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %260, ptr @"github.com/goplus/llgo/internal/abi.(*Type).HasName", 3 + %262 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %263 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %262, 1 + %264 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %263, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IfaceIndir", 2 + %265 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %264, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IfaceIndir", 3 + %266 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %267 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 + %268 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %267, 1 + %269 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %268, ptr @"github.com/goplus/llgo/internal/abi.(*Type).InterfaceType", 2 + %270 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %269, ptr @"github.com/goplus/llgo/internal/abi.(*Type).InterfaceType", 3 + %271 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %272 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %271, 1 + %273 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %272, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IsClosure", 2 + %274 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %273, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IsClosure", 3 + %275 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %276 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %275, 1 + %277 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %276, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IsDirectIface", 2 + %278 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %277, ptr @"github.com/goplus/llgo/internal/abi.(*Type).IsDirectIface", 3 + %279 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %280 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %281 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %280, 1 + %282 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %281, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Key", 2 + %283 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %282, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Key", 3 + %284 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 + %285 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %284, 1 + %286 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %285, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Kind", 2 + %287 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %286, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Kind", 3 + %288 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %289 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %288, 1 + %290 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %289, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Len", 2 + %291 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %290, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Len", 3 + %292 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %293 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 + %294 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %293, 1 + %295 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %294, ptr @"github.com/goplus/llgo/internal/abi.(*Type).MapType", 2 + %296 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %295, ptr @"github.com/goplus/llgo/internal/abi.(*Type).MapType", 3 + %297 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %298 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %297, 1 + %299 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %298, ptr @"github.com/goplus/llgo/internal/abi.(*Type).NumMethod", 2 + %300 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %299, ptr @"github.com/goplus/llgo/internal/abi.(*Type).NumMethod", 3 + %301 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %302 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %301, 1 + %303 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %302, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Pointers", 2 + %304 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %303, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Pointers", 3 + %305 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 + %306 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %305, 1 + %307 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %306, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Size", 2 + %308 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %307, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Size", 3 + %309 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %310 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %309, 1 + %311 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %310, ptr @"github.com/goplus/llgo/internal/abi.(*Type).String", 2 + %312 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %311, ptr @"github.com/goplus/llgo/internal/abi.(*Type).String", 3 + %313 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %314 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 + %315 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %314, 1 + %316 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %315, ptr @"github.com/goplus/llgo/internal/abi.(*Type).StructType", 2 + %317 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %316, ptr @"github.com/goplus/llgo/internal/abi.(*Type).StructType", 3 + %318 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 + %319 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %318, 1 + %320 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %319, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Uncommon", 2 + %321 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %320, ptr @"github.com/goplus/llgo/internal/abi.(*Type).Uncommon", 3 + %322 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 920) + %323 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %189, ptr %323, align 8 + %324 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %229, ptr %324, align 8 + %325 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %233, ptr %325, align 8 + %326 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 3 + store %"github.com/goplus/llgo/internal/abi.Method" %238, ptr %326, align 8 + %327 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 4 + store %"github.com/goplus/llgo/internal/abi.Method" %243, ptr %327, align 8 + %328 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 5 + store %"github.com/goplus/llgo/internal/abi.Method" %248, ptr %328, align 8 + %329 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 6 + store %"github.com/goplus/llgo/internal/abi.Method" %252, ptr %329, align 8 + %330 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 7 + store %"github.com/goplus/llgo/internal/abi.Method" %257, ptr %330, align 8 + %331 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 8 + store %"github.com/goplus/llgo/internal/abi.Method" %261, ptr %331, align 8 + %332 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 9 + store %"github.com/goplus/llgo/internal/abi.Method" %265, ptr %332, align 8 + %333 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 10 + store %"github.com/goplus/llgo/internal/abi.Method" %270, ptr %333, align 8 + %334 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 11 + store %"github.com/goplus/llgo/internal/abi.Method" %274, ptr %334, align 8 + %335 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 12 + store %"github.com/goplus/llgo/internal/abi.Method" %278, ptr %335, align 8 + %336 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 13 + store %"github.com/goplus/llgo/internal/abi.Method" %283, ptr %336, align 8 + %337 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 14 + store %"github.com/goplus/llgo/internal/abi.Method" %287, ptr %337, align 8 + %338 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 15 + store %"github.com/goplus/llgo/internal/abi.Method" %291, ptr %338, align 8 + %339 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 16 + store %"github.com/goplus/llgo/internal/abi.Method" %296, ptr %339, align 8 + %340 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 17 + store %"github.com/goplus/llgo/internal/abi.Method" %300, ptr %340, align 8 + %341 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 18 + store %"github.com/goplus/llgo/internal/abi.Method" %304, ptr %341, align 8 + %342 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 19 + store %"github.com/goplus/llgo/internal/abi.Method" %308, ptr %342, align 8 + %343 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 20 + store %"github.com/goplus/llgo/internal/abi.Method" %312, ptr %343, align 8 + %344 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 21 + store %"github.com/goplus/llgo/internal/abi.Method" %317, ptr %344, align 8 + %345 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %322, i64 22 + store %"github.com/goplus/llgo/internal/abi.Method" %321, ptr %345, align 8 + %346 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %322, 0 + %347 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %346, i64 23, 1 + %348 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %347, i64 23, 2 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %9, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %163, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %348) br label %_llgo_32 _llgo_43: ; preds = %_llgo_41 - %355 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %227) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %355) - store ptr %355, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %349 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %221) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %349) + store ptr %349, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 br label %_llgo_44 _llgo_44: ; preds = %_llgo_43, %_llgo_41 - %356 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 - %357 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 - %358 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %359 = icmp eq ptr %358, null - br i1 %359, label %_llgo_45, label %_llgo_46 + %350 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %351 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %352 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 + %353 = icmp eq ptr %352, null + br i1 %353, label %_llgo_45, label %_llgo_46 _llgo_45: ; preds = %_llgo_44 - %360 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %361 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %360, 0 - %362 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %361, i64 0, 1 - %363 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %362, i64 0, 2 - %364 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %365 = getelementptr ptr, ptr %364, i64 0 - store ptr %357, ptr %365, align 8 - %366 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %364, 0 - %367 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %366, i64 1, 1 - %368 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %367, i64 1, 2 - %369 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %363, %"github.com/goplus/llgo/internal/runtime.Slice" %368, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %369) - store ptr %369, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 + %354 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %355 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %354, 0 + %356 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %355, i64 0, 1 + %357 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %356, i64 0, 2 + %358 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %359 = getelementptr ptr, ptr %358, i64 0 + store ptr %351, ptr %359, align 8 + %360 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %358, 0 + %361 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %360, i64 1, 1 + %362 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %361, i64 1, 2 + %363 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %357, %"github.com/goplus/llgo/internal/runtime.Slice" %362, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %363) + store ptr %363, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 br label %_llgo_46 _llgo_46: ; preds = %_llgo_45, %_llgo_44 - %370 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %371 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %370, 1 - %372 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %371, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ArrayType", 2 - %373 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %372, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ArrayType", 3 - %374 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 43 }, i64 2, i64 8, i64 0, i64 0) - %375 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir", align 8 - %376 = icmp eq ptr %375, null - br i1 %376, label %_llgo_47, label %_llgo_48 + %364 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 + %365 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %364, 1 + %366 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %365, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ArrayType", 2 + %367 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %366, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ArrayType", 3 + %368 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @26, i64 43 }, i64 2, i64 8, i64 0, i64 0) + %369 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir", align 8 + %370 = icmp eq ptr %369, null + br i1 %370, label %_llgo_47, label %_llgo_48 _llgo_47: ; preds = %_llgo_46 - store ptr %374, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir", align 8 + store ptr %368, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir", align 8 br label %_llgo_48 _llgo_48: ; preds = %_llgo_47, %_llgo_46 - %377 = load ptr, ptr @_llgo_int, align 8 - br i1 %376, label %_llgo_49, label %_llgo_50 + %371 = load ptr, ptr @_llgo_int, align 8 + br i1 %370, label %_llgo_49, label %_llgo_50 _llgo_49: ; preds = %_llgo_48 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %374, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr %377, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %368, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr %371, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_50 _llgo_50: ; preds = %_llgo_49, %_llgo_48 - %378 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir", align 8 - %379 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir", align 8 - %380 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %381 = icmp eq ptr %380, null - br i1 %381, label %_llgo_51, label %_llgo_52 + %372 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir", align 8 + %373 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir", align 8 + %374 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 + %375 = icmp eq ptr %374, null + br i1 %375, label %_llgo_51, label %_llgo_52 _llgo_51: ; preds = %_llgo_50 - %382 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %383 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %382, 0 - %384 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %383, i64 0, 1 - %385 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %384, i64 0, 2 - %386 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %387 = getelementptr ptr, ptr %386, i64 0 - store ptr %379, ptr %387, align 8 - %388 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %386, 0 - %389 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %388, i64 1, 1 - %390 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %389, i64 1, 2 - %391 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %385, %"github.com/goplus/llgo/internal/runtime.Slice" %390, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %391) - store ptr %391, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 + %376 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %377 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %376, 0 + %378 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %377, i64 0, 1 + %379 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %378, i64 0, 2 + %380 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %381 = getelementptr ptr, ptr %380, i64 0 + store ptr %373, ptr %381, align 8 + %382 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %380, 0 + %383 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %382, i64 1, 1 + %384 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %383, i64 1, 2 + %385 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %379, %"github.com/goplus/llgo/internal/runtime.Slice" %384, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %385) + store ptr %385, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 br label %_llgo_52 _llgo_52: ; preds = %_llgo_51, %_llgo_50 - %392 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %393 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %392, 1 - %394 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %393, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ChanDir", 2 - %395 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %394, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ChanDir", 3 - %396 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %397 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %398 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %399 = icmp eq ptr %398, null - br i1 %399, label %_llgo_53, label %_llgo_54 + %386 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 + %387 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %386, 1 + %388 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %387, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ChanDir", 2 + %389 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %388, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ChanDir", 3 + %390 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %391 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %392 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %393 = icmp eq ptr %392, null + br i1 %393, label %_llgo_53, label %_llgo_54 _llgo_53: ; preds = %_llgo_52 - %400 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %401 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %400, 0 - %402 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %401, i64 0, 1 - %403 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %402, i64 0, 2 - %404 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %405 = getelementptr ptr, ptr %404, i64 0 - store ptr %397, ptr %405, align 8 - %406 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %404, 0 - %407 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %406, i64 1, 1 - %408 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %407, i64 1, 2 - %409 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %403, %"github.com/goplus/llgo/internal/runtime.Slice" %408, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %409) - store ptr %409, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %394 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %395 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %394, 0 + %396 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %395, i64 0, 1 + %397 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %396, i64 0, 2 + %398 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %399 = getelementptr ptr, ptr %398, i64 0 + store ptr %391, ptr %399, align 8 + %400 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %398, 0 + %401 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %400, i64 1, 1 + %402 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %401, i64 1, 2 + %403 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %397, %"github.com/goplus/llgo/internal/runtime.Slice" %402, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %403) + store ptr %403, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 br label %_llgo_54 _llgo_54: ; preds = %_llgo_53, %_llgo_52 - %410 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %411 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %410, 1 - %412 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %411, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Common", 2 - %413 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %412, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Common", 3 - %414 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @29, i64 42 }, i64 25, i64 40, i64 0, i64 3) - %415 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 - %416 = icmp eq ptr %415, null - br i1 %416, label %_llgo_55, label %_llgo_56 + %404 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %405 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %404, 1 + %406 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %405, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Common", 2 + %407 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %406, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Common", 3 + %408 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @29, i64 42 }, i64 25, i64 40, i64 0, i64 3) + %409 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %410 = icmp eq ptr %409, null + br i1 %410, label %_llgo_55, label %_llgo_56 _llgo_55: ; preds = %_llgo_54 - store ptr %414, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + store ptr %408, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 br label %_llgo_56 _llgo_56: ; preds = %_llgo_55, %_llgo_54 - %417 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 44 }, i64 25, i64 128, i64 0, i64 24) - %418 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %419 = icmp eq ptr %418, null - br i1 %419, label %_llgo_57, label %_llgo_58 + %411 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 44 }, i64 25, i64 128, i64 0, i64 24) + %412 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %413 = icmp eq ptr %412, null + br i1 %413, label %_llgo_57, label %_llgo_58 _llgo_57: ; preds = %_llgo_56 - store ptr %417, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + store ptr %411, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 br label %_llgo_58 _llgo_58: ; preds = %_llgo_57, %_llgo_56 - %420 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %421 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %422 = load ptr, ptr @"[]*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %423 = icmp eq ptr %422, null - br i1 %423, label %_llgo_59, label %_llgo_60 + %414 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %415 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %416 = load ptr, ptr @"[]*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %417 = icmp eq ptr %416, null + br i1 %417, label %_llgo_59, label %_llgo_60 _llgo_59: ; preds = %_llgo_58 - %424 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %421) - %425 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %424) - store ptr %425, ptr @"[]*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %418 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %415) + %419 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %418) + store ptr %419, ptr @"[]*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 br label %_llgo_60 _llgo_60: ; preds = %_llgo_59, %_llgo_58 - %426 = load ptr, ptr @"[]*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %427 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %428 = load ptr, ptr @"[]*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %429 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %430 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %431 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %432 = load ptr, ptr @"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw", align 8 - %433 = icmp eq ptr %432, null - br i1 %433, label %_llgo_61, label %_llgo_62 + %420 = load ptr, ptr @"[]*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %421 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %422 = load ptr, ptr @"[]*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %423 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %424 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %425 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %426 = load ptr, ptr @"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw", align 8 + %427 = icmp eq ptr %426, null + br i1 %427, label %_llgo_61, label %_llgo_62 _llgo_61: ; preds = %_llgo_60 - %434 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %429, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) - %435 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %430) - %436 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %435) - %437 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @31, i64 2 }, ptr %436, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %438 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %431) - %439 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %438) - %440 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @32, i64 3 }, ptr %439, i64 96, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %441 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) - %442 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %441, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %434, ptr %442, align 8 - %443 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %441, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %437, ptr %443, align 8 - %444 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %441, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %440, ptr %444, align 8 - %445 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %441, 0 - %446 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %445, i64 3, 1 - %447 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %446, i64 3, 2 - %448 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 120, %"github.com/goplus/llgo/internal/runtime.Slice" %447) - store ptr %448, ptr @"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw", align 8 + %428 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %423, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) + %429 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %424) + %430 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %429) + %431 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @31, i64 2 }, ptr %430, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %432 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %425) + %433 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %432) + %434 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @32, i64 3 }, ptr %433, i64 96, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %435 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) + %436 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %435, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %428, ptr %436, align 8 + %437 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %435, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %431, ptr %437, align 8 + %438 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %435, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %434, ptr %438, align 8 + %439 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %435, 0 + %440 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %439, i64 3, 1 + %441 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %440, i64 3, 2 + %442 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 120, %"github.com/goplus/llgo/internal/runtime.Slice" %441) + store ptr %442, ptr @"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw", align 8 br label %_llgo_62 _llgo_62: ; preds = %_llgo_61, %_llgo_60 - %449 = load ptr, ptr @"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw", align 8 - br i1 %419, label %_llgo_63, label %_llgo_64 + %443 = load ptr, ptr @"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw", align 8 + br i1 %413, label %_llgo_63, label %_llgo_64 _llgo_63: ; preds = %_llgo_62 - %450 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %451 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %450, 1 - %452 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %451, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Align", 2 - %453 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %452, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Align", 3 - %454 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 - %455 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %456 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %455, 1 - %457 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %456, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ArrayType", 2 - %458 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %457, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ArrayType", 3 - %459 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %460 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %459, 1 - %461 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %460, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ChanDir", 2 - %462 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %461, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ChanDir", 3 - %463 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %464 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %465 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %464, 1 - %466 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %465, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Common", 2 - %467 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %466, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Common", 3 - %468 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %469 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %470 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %469, 1 - %471 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %470, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Elem", 2 - %472 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %471, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Elem", 3 - %473 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @29, i64 42 }, i64 25, i64 40, i64 0, i64 3) - %474 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 - %475 = icmp eq ptr %474, null - br i1 %475, label %_llgo_65, label %_llgo_66 + %444 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %445 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %444, 1 + %446 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %445, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Align", 2 + %447 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %446, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Align", 3 + %448 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %449 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 + %450 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %449, 1 + %451 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %450, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ArrayType", 2 + %452 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %451, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ArrayType", 3 + %453 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 + %454 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %453, 1 + %455 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %454, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ChanDir", 2 + %456 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %455, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ChanDir", 3 + %457 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %458 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %459 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %458, 1 + %460 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %459, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Common", 2 + %461 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %460, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Common", 3 + %462 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %463 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %464 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %463, 1 + %465 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %464, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Elem", 2 + %466 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %465, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Elem", 3 + %467 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @29, i64 42 }, i64 25, i64 40, i64 0, i64 3) + %468 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %469 = icmp eq ptr %468, null + br i1 %469, label %_llgo_65, label %_llgo_66 _llgo_64: ; preds = %_llgo_90, %_llgo_62 - %476 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %477 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %478 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 44 }, i64 25, i64 128, i64 0, i64 24) - %479 = load ptr, ptr @"_llgo_struct$SDp3TNnYnxb26MhB1v8VMbmY71BX77YOaY7lgS1cFx0", align 8 - %480 = icmp eq ptr %479, null - br i1 %480, label %_llgo_145, label %_llgo_146 + %470 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %471 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %472 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 44 }, i64 25, i64 128, i64 0, i64 24) + %473 = load ptr, ptr @"_llgo_struct$SDp3TNnYnxb26MhB1v8VMbmY71BX77YOaY7lgS1cFx0", align 8 + %474 = icmp eq ptr %473, null + br i1 %474, label %_llgo_145, label %_llgo_146 _llgo_65: ; preds = %_llgo_63 - %481 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %473) - store ptr %481, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %475 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %467) + store ptr %475, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 br label %_llgo_66 _llgo_66: ; preds = %_llgo_65, %_llgo_63 - %482 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 - %483 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 - %484 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %485 = icmp eq ptr %484, null - br i1 %485, label %_llgo_67, label %_llgo_68 + %476 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %477 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %478 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %479 = icmp eq ptr %478, null + br i1 %479, label %_llgo_67, label %_llgo_68 _llgo_67: ; preds = %_llgo_66 - %486 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %487 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %486, 0 - %488 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %487, i64 0, 1 - %489 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %488, i64 0, 2 - %490 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %491 = getelementptr ptr, ptr %490, i64 0 - store ptr %483, ptr %491, align 8 - %492 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %490, 0 - %493 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %492, i64 1, 1 - %494 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %493, i64 1, 2 - %495 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %489, %"github.com/goplus/llgo/internal/runtime.Slice" %494, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %495) - store ptr %495, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %480 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %481 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %480, 0 + %482 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %481, i64 0, 1 + %483 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %482, i64 0, 2 + %484 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %485 = getelementptr ptr, ptr %484, i64 0 + store ptr %477, ptr %485, align 8 + %486 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %484, 0 + %487 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %486, i64 1, 1 + %488 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %487, i64 1, 2 + %489 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %483, %"github.com/goplus/llgo/internal/runtime.Slice" %488, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %489) + store ptr %489, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 br label %_llgo_68 _llgo_68: ; preds = %_llgo_67, %_llgo_66 - %496 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %497 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %496, 1 - %498 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %497, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ExportedMethods", 2 - %499 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %498, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ExportedMethods", 3 - %500 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %501 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %500, 1 - %502 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %501, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FieldAlign", 2 - %503 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %502, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FieldAlign", 3 - %504 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 44 }, i64 25, i64 128, i64 0, i64 24) - %505 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %506 = icmp eq ptr %505, null - br i1 %506, label %_llgo_69, label %_llgo_70 + %490 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %491 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %490, 1 + %492 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %491, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ExportedMethods", 2 + %493 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %492, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ExportedMethods", 3 + %494 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %495 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %494, 1 + %496 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %495, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FieldAlign", 2 + %497 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %496, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FieldAlign", 3 + %498 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 44 }, i64 25, i64 128, i64 0, i64 24) + %499 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %500 = icmp eq ptr %499, null + br i1 %500, label %_llgo_69, label %_llgo_70 _llgo_69: ; preds = %_llgo_68 - %507 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %504) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %507) - store ptr %507, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %501 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %498) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %501) + store ptr %501, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 br label %_llgo_70 _llgo_70: ; preds = %_llgo_69, %_llgo_68 - %508 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %509 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %510 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %511 = icmp eq ptr %510, null - br i1 %511, label %_llgo_71, label %_llgo_72 + %502 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %503 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %504 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 + %505 = icmp eq ptr %504, null + br i1 %505, label %_llgo_71, label %_llgo_72 _llgo_71: ; preds = %_llgo_70 - %512 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %513 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %512, 0 - %514 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %513, i64 0, 1 - %515 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %514, i64 0, 2 - %516 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %517 = getelementptr ptr, ptr %516, i64 0 - store ptr %509, ptr %517, align 8 - %518 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %516, 0 - %519 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %518, i64 1, 1 - %520 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %519, i64 1, 2 - %521 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %515, %"github.com/goplus/llgo/internal/runtime.Slice" %520, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %521) - store ptr %521, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 + %506 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %507 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %506, 0 + %508 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %507, i64 0, 1 + %509 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %508, i64 0, 2 + %510 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %511 = getelementptr ptr, ptr %510, i64 0 + store ptr %503, ptr %511, align 8 + %512 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %510, 0 + %513 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %512, i64 1, 1 + %514 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %513, i64 1, 2 + %515 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %509, %"github.com/goplus/llgo/internal/runtime.Slice" %514, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %515) + store ptr %515, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 br label %_llgo_72 _llgo_72: ; preds = %_llgo_71, %_llgo_70 - %522 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %523 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %522, 1 - %524 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %523, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FuncType", 2 - %525 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %524, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FuncType", 3 - %526 = load ptr, ptr @_llgo_bool, align 8 - %527 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %528 = icmp eq ptr %527, null - br i1 %528, label %_llgo_73, label %_llgo_74 + %516 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 + %517 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %516, 1 + %518 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %517, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FuncType", 2 + %519 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %518, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FuncType", 3 + %520 = load ptr, ptr @_llgo_bool, align 8 + %521 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %522 = icmp eq ptr %521, null + br i1 %522, label %_llgo_73, label %_llgo_74 _llgo_73: ; preds = %_llgo_72 - %529 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %530 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %529, 0 - %531 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %530, i64 0, 1 - %532 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %531, i64 0, 2 - %533 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %534 = getelementptr ptr, ptr %533, i64 0 - store ptr %526, ptr %534, align 8 - %535 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %533, 0 - %536 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %535, i64 1, 1 - %537 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %536, i64 1, 2 - %538 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %532, %"github.com/goplus/llgo/internal/runtime.Slice" %537, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %538) - store ptr %538, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %523 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %524 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %523, 0 + %525 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %524, i64 0, 1 + %526 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %525, i64 0, 2 + %527 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %528 = getelementptr ptr, ptr %527, i64 0 + store ptr %520, ptr %528, align 8 + %529 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %527, 0 + %530 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %529, i64 1, 1 + %531 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %530, i64 1, 2 + %532 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %526, %"github.com/goplus/llgo/internal/runtime.Slice" %531, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %532) + store ptr %532, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 br label %_llgo_74 _llgo_74: ; preds = %_llgo_73, %_llgo_72 - %539 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %540 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %539, 1 - %541 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %540, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).HasName", 2 - %542 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %541, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).HasName", 3 - %543 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %544 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %543, 1 - %545 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %544, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IfaceIndir", 2 - %546 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %545, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IfaceIndir", 3 - %547 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @38, i64 49 }, i64 25, i64 120, i64 0, i64 23) - %548 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 - %549 = icmp eq ptr %548, null - br i1 %549, label %_llgo_75, label %_llgo_76 + %533 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %534 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %533, 1 + %535 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %534, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).HasName", 2 + %536 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %535, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).HasName", 3 + %537 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %538 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %537, 1 + %539 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %538, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IfaceIndir", 2 + %540 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %539, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IfaceIndir", 3 + %541 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @38, i64 49 }, i64 25, i64 120, i64 0, i64 23) + %542 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %543 = icmp eq ptr %542, null + br i1 %543, label %_llgo_75, label %_llgo_76 _llgo_75: ; preds = %_llgo_74 - store ptr %547, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + store ptr %541, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 br label %_llgo_76 _llgo_76: ; preds = %_llgo_75, %_llgo_74 - %550 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @39, i64 43 }, i64 25, i64 24, i64 0, i64 3) - %551 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 - %552 = icmp eq ptr %551, null - br i1 %552, label %_llgo_77, label %_llgo_78 + %544 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @39, i64 43 }, i64 25, i64 24, i64 0, i64 3) + %545 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 + %546 = icmp eq ptr %545, null + br i1 %546, label %_llgo_77, label %_llgo_78 _llgo_77: ; preds = %_llgo_76 - store ptr %550, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 + store ptr %544, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 br label %_llgo_78 _llgo_78: ; preds = %_llgo_77, %_llgo_76 - %553 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %554 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 44 }, i64 25, i64 128, i64 0, i64 24) - %555 = load ptr, ptr @"_llgo_struct$-SVMNS9vOT5F9q4yodRiL9MFhdPf0tfZ2Cx2o7KjSDw", align 8 - %556 = icmp eq ptr %555, null - br i1 %556, label %_llgo_79, label %_llgo_80 + %547 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %548 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @30, i64 44 }, i64 25, i64 128, i64 0, i64 24) + %549 = load ptr, ptr @"_llgo_struct$-SVMNS9vOT5F9q4yodRiL9MFhdPf0tfZ2Cx2o7KjSDw", align 8 + %550 = icmp eq ptr %549, null + br i1 %550, label %_llgo_79, label %_llgo_80 _llgo_79: ; preds = %_llgo_78 - %557 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %558 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @40, i64 5 }, ptr %557, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %559 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %554) - %560 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @41, i64 4 }, ptr %559, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %561 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %562 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %561, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %558, ptr %562, align 8 - %563 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %561, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %560, ptr %563, align 8 - %564 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %561, 0 - %565 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %564, i64 2, 1 - %566 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %565, i64 2, 2 - %567 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %566) - store ptr %567, ptr @"_llgo_struct$-SVMNS9vOT5F9q4yodRiL9MFhdPf0tfZ2Cx2o7KjSDw", align 8 + %551 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %552 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @40, i64 5 }, ptr %551, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %553 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %548) + %554 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @41, i64 4 }, ptr %553, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %555 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %556 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %555, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %552, ptr %556, align 8 + %557 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %555, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %554, ptr %557, align 8 + %558 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %555, 0 + %559 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %558, i64 2, 1 + %560 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %559, i64 2, 2 + %561 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %560) + store ptr %561, ptr @"_llgo_struct$-SVMNS9vOT5F9q4yodRiL9MFhdPf0tfZ2Cx2o7KjSDw", align 8 br label %_llgo_80 _llgo_80: ; preds = %_llgo_79, %_llgo_78 - %568 = load ptr, ptr @"_llgo_struct$-SVMNS9vOT5F9q4yodRiL9MFhdPf0tfZ2Cx2o7KjSDw", align 8 - br i1 %552, label %_llgo_81, label %_llgo_82 + %562 = load ptr, ptr @"_llgo_struct$-SVMNS9vOT5F9q4yodRiL9MFhdPf0tfZ2Cx2o7KjSDw", align 8 + br i1 %546, label %_llgo_81, label %_llgo_82 _llgo_81: ; preds = %_llgo_80 - %569 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %570 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @42, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %569, 1 - %571 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %570, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).Exported", 2 - %572 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %571, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).Exported", 3 - %573 = load ptr, ptr @_llgo_string, align 8 - %574 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %575 = icmp eq ptr %574, null - br i1 %575, label %_llgo_83, label %_llgo_84 + %563 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %564 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @42, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %563, 1 + %565 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %564, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).Exported", 2 + %566 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %565, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).Exported", 3 + %567 = load ptr, ptr @_llgo_string, align 8 + %568 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %569 = icmp eq ptr %568, null + br i1 %569, label %_llgo_83, label %_llgo_84 _llgo_82: ; preds = %_llgo_84, %_llgo_80 - %576 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 - %577 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @39, i64 43 }, i64 25, i64 24, i64 0, i64 3) - %578 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 - %579 = icmp eq ptr %578, null - br i1 %579, label %_llgo_85, label %_llgo_86 + %570 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 + %571 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @39, i64 43 }, i64 25, i64 24, i64 0, i64 3) + %572 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 + %573 = icmp eq ptr %572, null + br i1 %573, label %_llgo_85, label %_llgo_86 _llgo_83: ; preds = %_llgo_81 - %580 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %581 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %580, 0 - %582 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %581, i64 0, 1 - %583 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %582, i64 0, 2 - %584 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %585 = getelementptr ptr, ptr %584, i64 0 - store ptr %573, ptr %585, align 8 - %586 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %584, 0 - %587 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %586, i64 1, 1 - %588 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %587, i64 1, 2 - %589 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %583, %"github.com/goplus/llgo/internal/runtime.Slice" %588, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %589) - store ptr %589, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %574 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %575 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %574, 0 + %576 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %575, i64 0, 1 + %577 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %576, i64 0, 2 + %578 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %579 = getelementptr ptr, ptr %578, i64 0 + store ptr %567, ptr %579, align 8 + %580 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %578, 0 + %581 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %580, i64 1, 1 + %582 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %581, i64 1, 2 + %583 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %577, %"github.com/goplus/llgo/internal/runtime.Slice" %582, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %583) + store ptr %583, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 br label %_llgo_84 _llgo_84: ; preds = %_llgo_83, %_llgo_81 - %590 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %591 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @43, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %590, 1 - %592 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %591, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).Name", 2 - %593 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %592, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).Name", 3 - %594 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %595 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @44, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %594, 1 - %596 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %595, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).PkgPath", 2 - %597 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %596, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).PkgPath", 3 - %598 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 120) - %599 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %598, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %572, ptr %599, align 8 - %600 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %598, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %593, ptr %600, align 8 - %601 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %598, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %597, ptr %601, align 8 - %602 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %598, 0 - %603 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %602, i64 3, 1 - %604 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %603, i64 3, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %550, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @45, i64 7 }, ptr %568, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %604) + %584 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %585 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @43, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %584, 1 + %586 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %585, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).Name", 2 + %587 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %586, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).Name", 3 + %588 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %589 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @44, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %588, 1 + %590 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %589, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).PkgPath", 2 + %591 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %590, ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).PkgPath", 3 + %592 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 120) + %593 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %592, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %566, ptr %593, align 8 + %594 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %592, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %587, ptr %594, align 8 + %595 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %592, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %591, ptr %595, align 8 + %596 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %592, 0 + %597 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %596, i64 3, 1 + %598 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %597, i64 3, 2 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %544, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @45, i64 7 }, ptr %562, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %598) br label %_llgo_82 _llgo_85: ; preds = %_llgo_82 - %605 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %577) - store ptr %605, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 + %599 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %571) + store ptr %599, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 br label %_llgo_86 _llgo_86: ; preds = %_llgo_85, %_llgo_82 - %606 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 - %607 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %608 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @39, i64 43 }, i64 25, i64 24, i64 0, i64 3) - %609 = load ptr, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", align 8 - %610 = icmp eq ptr %609, null - br i1 %610, label %_llgo_87, label %_llgo_88 + %600 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 + %601 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %602 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @39, i64 43 }, i64 25, i64 24, i64 0, i64 3) + %603 = load ptr, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", align 8 + %604 = icmp eq ptr %603, null + br i1 %604, label %_llgo_87, label %_llgo_88 _llgo_87: ; preds = %_llgo_86 - %611 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %607, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) - %612 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %613 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 8 }, ptr %612, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %614 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %608) - %615 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @47, i64 7 }, ptr %614, i64 88, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %616 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) - %617 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %616, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %611, ptr %617, align 8 - %618 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %616, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %613, ptr %618, align 8 - %619 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %616, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %615, ptr %619, align 8 - %620 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %616, 0 - %621 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %620, i64 3, 1 - %622 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %621, i64 3, 2 - %623 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 112, %"github.com/goplus/llgo/internal/runtime.Slice" %622) - store ptr %623, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", 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" { ptr @21, i64 4 }, ptr %601, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) + %606 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %607 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 8 }, ptr %606, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %608 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %602) + %609 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @47, i64 7 }, ptr %608, i64 88, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %610 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) + %611 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %610, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %605, ptr %611, align 8 + %612 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %610, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %607, ptr %612, align 8 + %613 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %610, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %609, ptr %613, align 8 + %614 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %610, 0 + %615 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %614, i64 3, 1 + %616 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %615, i64 3, 2 + %617 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 112, %"github.com/goplus/llgo/internal/runtime.Slice" %616) + store ptr %617, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", align 8 br label %_llgo_88 _llgo_88: ; preds = %_llgo_87, %_llgo_86 - %624 = load ptr, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", align 8 - br i1 %549, label %_llgo_89, label %_llgo_90 + %618 = load ptr, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", align 8 + br i1 %543, label %_llgo_89, label %_llgo_90 _llgo_89: ; preds = %_llgo_88 - %625 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %626 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %625, 1 - %627 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %626, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Align", 2 - %628 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %627, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Align", 3 - %629 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 - %630 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %631 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %630, 1 - %632 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %631, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ArrayType", 2 - %633 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %632, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ArrayType", 3 - %634 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %635 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %634, 1 - %636 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %635, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ChanDir", 2 - %637 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %636, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ChanDir", 3 - %638 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %639 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %640 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %639, 1 - %641 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %640, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Common", 2 - %642 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %641, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Common", 3 - %643 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %644 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %645 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %644, 1 - %646 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %645, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Elem", 2 - %647 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %646, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Elem", 3 - %648 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 - %649 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %650 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %649, 1 - %651 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %650, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ExportedMethods", 2 - %652 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %651, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ExportedMethods", 3 - %653 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %654 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %653, 1 - %655 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %654, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FieldAlign", 2 - %656 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %655, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FieldAlign", 3 - %657 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %658 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %659 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %658, 1 - %660 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %659, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FuncType", 2 - %661 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %660, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FuncType", 3 - %662 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %663 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %662, 1 - %664 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %663, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).HasName", 2 - %665 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %664, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).HasName", 3 - %666 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %667 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %666, 1 - %668 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %667, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IfaceIndir", 2 - %669 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %668, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IfaceIndir", 3 - %670 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @38, i64 49 }, i64 25, i64 120, i64 0, i64 23) - %671 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 - %672 = icmp eq ptr %671, null - br i1 %672, label %_llgo_91, label %_llgo_92 + %619 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %620 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %619, 1 + %621 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %620, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Align", 2 + %622 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %621, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Align", 3 + %623 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %624 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 + %625 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %624, 1 + %626 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %625, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ArrayType", 2 + %627 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %626, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ArrayType", 3 + %628 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 + %629 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %628, 1 + %630 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %629, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ChanDir", 2 + %631 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %630, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ChanDir", 3 + %632 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %633 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %634 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %633, 1 + %635 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %634, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Common", 2 + %636 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %635, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Common", 3 + %637 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %638 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %639 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %638, 1 + %640 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %639, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Elem", 2 + %641 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %640, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Elem", 3 + %642 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %643 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %644 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %643, 1 + %645 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %644, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ExportedMethods", 2 + %646 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %645, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ExportedMethods", 3 + %647 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %648 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %647, 1 + %649 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %648, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FieldAlign", 2 + %650 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %649, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FieldAlign", 3 + %651 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %652 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 + %653 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %652, 1 + %654 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %653, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FuncType", 2 + %655 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %654, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FuncType", 3 + %656 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %657 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %656, 1 + %658 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %657, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).HasName", 2 + %659 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %658, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).HasName", 3 + %660 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %661 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %660, 1 + %662 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %661, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IfaceIndir", 2 + %663 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %662, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IfaceIndir", 3 + %664 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @38, i64 49 }, i64 25, i64 120, i64 0, i64 23) + %665 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %666 = icmp eq ptr %665, null + br i1 %666, label %_llgo_91, label %_llgo_92 _llgo_90: ; preds = %_llgo_110, %_llgo_88 - %673 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 - %674 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 - %675 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %676 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %675, 1 - %677 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %676, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).InterfaceType", 2 - %678 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %677, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).InterfaceType", 3 - %679 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %680 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %679, 1 - %681 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %680, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IsClosure", 2 - %682 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %681, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IsClosure", 3 - %683 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %684 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %683, 1 - %685 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %684, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IsDirectIface", 2 - %686 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %685, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IsDirectIface", 3 - %687 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %688 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %689 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %688, 1 - %690 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %689, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Key", 2 - %691 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %690, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Key", 3 - %692 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %693 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %692, 1 - %694 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %693, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Kind", 2 - %695 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %694, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Kind", 3 - %696 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %697 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %696, 1 - %698 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %697, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Len", 2 - %699 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %698, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Len", 3 - %700 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 - %701 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %702 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %701, 1 - %703 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %702, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).MapType", 2 - %704 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %703, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).MapType", 3 - %705 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %706 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %705, 1 - %707 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %706, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).NumMethod", 2 - %708 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %707, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).NumMethod", 3 - %709 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %710 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %709, 1 - %711 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %710, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Pointers", 2 - %712 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %711, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Pointers", 3 - %713 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %714 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %713, 1 - %715 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %714, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Size", 2 - %716 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %715, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Size", 3 - %717 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %718 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %717, 1 - %719 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %718, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).String", 2 - %720 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %719, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).String", 3 - %721 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 - %722 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %723 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %722, 1 - %724 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %723, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).StructType", 2 - %725 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %724, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).StructType", 3 - %726 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %727 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %726, 1 - %728 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %727, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Uncommon", 2 - %729 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %728, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Uncommon", 3 - %730 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %731 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @86, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %730, 1 - %732 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %731, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Variadic", 2 - %733 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %732, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Variadic", 3 - %734 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 960) - %735 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %453, ptr %735, align 8 - %736 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %458, ptr %736, align 8 - %737 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %462, ptr %737, align 8 - %738 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 3 - store %"github.com/goplus/llgo/internal/abi.Method" %467, ptr %738, align 8 - %739 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 4 - store %"github.com/goplus/llgo/internal/abi.Method" %472, ptr %739, align 8 - %740 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 5 - store %"github.com/goplus/llgo/internal/abi.Method" %499, ptr %740, align 8 - %741 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 6 - store %"github.com/goplus/llgo/internal/abi.Method" %503, ptr %741, align 8 - %742 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 7 - store %"github.com/goplus/llgo/internal/abi.Method" %525, ptr %742, align 8 - %743 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 8 - store %"github.com/goplus/llgo/internal/abi.Method" %542, ptr %743, align 8 - %744 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 9 - store %"github.com/goplus/llgo/internal/abi.Method" %546, ptr %744, align 8 - %745 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 10 - store %"github.com/goplus/llgo/internal/abi.Method" %678, ptr %745, align 8 - %746 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 11 - store %"github.com/goplus/llgo/internal/abi.Method" %682, ptr %746, align 8 - %747 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 12 - store %"github.com/goplus/llgo/internal/abi.Method" %686, ptr %747, align 8 - %748 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 13 - store %"github.com/goplus/llgo/internal/abi.Method" %691, ptr %748, align 8 - %749 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 14 - store %"github.com/goplus/llgo/internal/abi.Method" %695, ptr %749, align 8 - %750 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 15 - store %"github.com/goplus/llgo/internal/abi.Method" %699, ptr %750, align 8 - %751 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 16 - store %"github.com/goplus/llgo/internal/abi.Method" %704, ptr %751, align 8 - %752 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 17 - store %"github.com/goplus/llgo/internal/abi.Method" %708, ptr %752, align 8 - %753 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 18 - store %"github.com/goplus/llgo/internal/abi.Method" %712, ptr %753, align 8 - %754 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 19 - store %"github.com/goplus/llgo/internal/abi.Method" %716, ptr %754, align 8 - %755 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 20 - store %"github.com/goplus/llgo/internal/abi.Method" %720, ptr %755, align 8 - %756 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 21 - store %"github.com/goplus/llgo/internal/abi.Method" %725, ptr %756, align 8 - %757 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 22 - store %"github.com/goplus/llgo/internal/abi.Method" %729, ptr %757, align 8 - %758 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %734, i64 23 - store %"github.com/goplus/llgo/internal/abi.Method" %733, ptr %758, align 8 - %759 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %734, 0 - %760 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %759, i64 24, 1 - %761 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %760, i64 24, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %417, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr %449, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %761) + %667 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %668 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %669 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 + %670 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %669, 1 + %671 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %670, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).InterfaceType", 2 + %672 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %671, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).InterfaceType", 3 + %673 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %674 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %673, 1 + %675 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %674, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IsClosure", 2 + %676 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %675, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IsClosure", 3 + %677 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %678 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %677, 1 + %679 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %678, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IsDirectIface", 2 + %680 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %679, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IsDirectIface", 3 + %681 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %682 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %683 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %682, 1 + %684 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %683, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Key", 2 + %685 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %684, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Key", 3 + %686 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 + %687 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %686, 1 + %688 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %687, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Kind", 2 + %689 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %688, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Kind", 3 + %690 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %691 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %690, 1 + %692 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %691, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Len", 2 + %693 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %692, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Len", 3 + %694 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %695 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 + %696 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %695, 1 + %697 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %696, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).MapType", 2 + %698 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %697, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).MapType", 3 + %699 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %700 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %699, 1 + %701 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %700, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).NumMethod", 2 + %702 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %701, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).NumMethod", 3 + %703 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %704 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %703, 1 + %705 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %704, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Pointers", 2 + %706 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %705, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Pointers", 3 + %707 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 + %708 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %707, 1 + %709 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %708, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Size", 2 + %710 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %709, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Size", 3 + %711 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %712 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %711, 1 + %713 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %712, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).String", 2 + %714 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %713, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).String", 3 + %715 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %716 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 + %717 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %716, 1 + %718 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %717, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).StructType", 2 + %719 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %718, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).StructType", 3 + %720 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 + %721 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %720, 1 + %722 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %721, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Uncommon", 2 + %723 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %722, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Uncommon", 3 + %724 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %725 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @86, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %724, 1 + %726 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %725, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Variadic", 2 + %727 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %726, ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Variadic", 3 + %728 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 960) + %729 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %447, ptr %729, align 8 + %730 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %452, ptr %730, align 8 + %731 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %456, ptr %731, align 8 + %732 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 3 + store %"github.com/goplus/llgo/internal/abi.Method" %461, ptr %732, align 8 + %733 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 4 + store %"github.com/goplus/llgo/internal/abi.Method" %466, ptr %733, align 8 + %734 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 5 + store %"github.com/goplus/llgo/internal/abi.Method" %493, ptr %734, align 8 + %735 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 6 + store %"github.com/goplus/llgo/internal/abi.Method" %497, ptr %735, align 8 + %736 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 7 + store %"github.com/goplus/llgo/internal/abi.Method" %519, ptr %736, align 8 + %737 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 8 + store %"github.com/goplus/llgo/internal/abi.Method" %536, ptr %737, align 8 + %738 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 9 + store %"github.com/goplus/llgo/internal/abi.Method" %540, ptr %738, align 8 + %739 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 10 + store %"github.com/goplus/llgo/internal/abi.Method" %672, ptr %739, align 8 + %740 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 11 + store %"github.com/goplus/llgo/internal/abi.Method" %676, ptr %740, align 8 + %741 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 12 + store %"github.com/goplus/llgo/internal/abi.Method" %680, ptr %741, align 8 + %742 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 13 + store %"github.com/goplus/llgo/internal/abi.Method" %685, ptr %742, align 8 + %743 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 14 + store %"github.com/goplus/llgo/internal/abi.Method" %689, ptr %743, align 8 + %744 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 15 + store %"github.com/goplus/llgo/internal/abi.Method" %693, ptr %744, align 8 + %745 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 16 + store %"github.com/goplus/llgo/internal/abi.Method" %698, ptr %745, align 8 + %746 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 17 + store %"github.com/goplus/llgo/internal/abi.Method" %702, ptr %746, align 8 + %747 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 18 + store %"github.com/goplus/llgo/internal/abi.Method" %706, ptr %747, align 8 + %748 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 19 + store %"github.com/goplus/llgo/internal/abi.Method" %710, ptr %748, align 8 + %749 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 20 + store %"github.com/goplus/llgo/internal/abi.Method" %714, ptr %749, align 8 + %750 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 21 + store %"github.com/goplus/llgo/internal/abi.Method" %719, ptr %750, align 8 + %751 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 22 + store %"github.com/goplus/llgo/internal/abi.Method" %723, ptr %751, align 8 + %752 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i64 23 + store %"github.com/goplus/llgo/internal/abi.Method" %727, ptr %752, align 8 + %753 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %728, 0 + %754 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %753, i64 24, 1 + %755 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %754, i64 24, 2 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %411, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr %443, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %755) br label %_llgo_64 _llgo_91: ; preds = %_llgo_89 - %762 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %670) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %762) - store ptr %762, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %756 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %664) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %756) + store ptr %756, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 br label %_llgo_92 _llgo_92: ; preds = %_llgo_91, %_llgo_89 - %763 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 - %764 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 - %765 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %766 = icmp eq ptr %765, null - br i1 %766, label %_llgo_93, label %_llgo_94 + %757 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %758 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %759 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 + %760 = icmp eq ptr %759, null + br i1 %760, label %_llgo_93, label %_llgo_94 _llgo_93: ; preds = %_llgo_92 - %767 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %768 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %767, 0 - %769 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %768, i64 0, 1 - %770 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %769, i64 0, 2 - %771 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %772 = getelementptr ptr, ptr %771, i64 0 - store ptr %764, ptr %772, align 8 - %773 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %771, 0 - %774 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %773, i64 1, 1 - %775 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %774, i64 1, 2 - %776 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %770, %"github.com/goplus/llgo/internal/runtime.Slice" %775, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %776) - store ptr %776, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 + %761 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %762 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %761, 0 + %763 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %762, i64 0, 1 + %764 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %763, i64 0, 2 + %765 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %766 = getelementptr ptr, ptr %765, i64 0 + store ptr %758, ptr %766, align 8 + %767 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %765, 0 + %768 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %767, i64 1, 1 + %769 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %768, i64 1, 2 + %770 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %764, %"github.com/goplus/llgo/internal/runtime.Slice" %769, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %770) + store ptr %770, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 br label %_llgo_94 _llgo_94: ; preds = %_llgo_93, %_llgo_92 - %777 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %778 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %777, 1 - %779 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %778, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).InterfaceType", 2 - %780 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %779, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).InterfaceType", 3 - %781 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %782 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %781, 1 - %783 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %782, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IsClosure", 2 - %784 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %783, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IsClosure", 3 - %785 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %786 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %785, 1 - %787 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %786, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IsDirectIface", 2 - %788 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %787, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IsDirectIface", 3 - %789 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %790 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %791 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %790, 1 - %792 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %791, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Key", 2 - %793 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %792, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Key", 3 - %794 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @52, i64 40 }, i64 7, i64 8, i64 1, i64 1) - %795 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 - %796 = icmp eq ptr %795, null - br i1 %796, label %_llgo_95, label %_llgo_96 + %771 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 + %772 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %771, 1 + %773 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %772, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).InterfaceType", 2 + %774 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %773, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).InterfaceType", 3 + %775 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %776 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %775, 1 + %777 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %776, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IsClosure", 2 + %778 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %777, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IsClosure", 3 + %779 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %780 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %779, 1 + %781 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %780, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IsDirectIface", 2 + %782 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %781, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IsDirectIface", 3 + %783 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %784 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %785 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %784, 1 + %786 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %785, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Key", 2 + %787 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %786, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Key", 3 + %788 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @52, i64 40 }, i64 7, i64 8, i64 1, i64 1) + %789 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 + %790 = icmp eq ptr %789, null + br i1 %790, label %_llgo_95, label %_llgo_96 _llgo_95: ; preds = %_llgo_94 - store ptr %794, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 + store ptr %788, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 br label %_llgo_96 _llgo_96: ; preds = %_llgo_95, %_llgo_94 - %797 = load ptr, ptr @_llgo_uint, align 8 - %798 = icmp eq ptr %797, null - br i1 %798, label %_llgo_97, label %_llgo_98 + %791 = load ptr, ptr @_llgo_uint, align 8 + %792 = icmp eq ptr %791, null + br i1 %792, label %_llgo_97, label %_llgo_98 _llgo_97: ; preds = %_llgo_96 - %799 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 39) - store ptr %799, ptr @_llgo_uint, align 8 + %793 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 39) + store ptr %793, ptr @_llgo_uint, align 8 br label %_llgo_98 _llgo_98: ; preds = %_llgo_97, %_llgo_96 - %800 = load ptr, ptr @_llgo_uint, align 8 - br i1 %796, label %_llgo_99, label %_llgo_100 + %794 = load ptr, ptr @_llgo_uint, align 8 + br i1 %790, label %_llgo_99, label %_llgo_100 _llgo_99: ; preds = %_llgo_98 - %801 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %802 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %801, 1 - %803 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %802, ptr @"github.com/goplus/llgo/internal/abi.(*Kind).String", 2 - %804 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %803, ptr @"github.com/goplus/llgo/internal/abi.(*Kind).String", 3 - %805 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %801, 1 - %806 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %805, ptr @"github.com/goplus/llgo/internal/abi.(*Kind).String", 2 - %807 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %806, ptr @"github.com/goplus/llgo/internal/abi.Kind.String", 3 - %808 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %809 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %808, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %807, ptr %809, align 8 - %810 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %808, 0 - %811 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %810, i64 1, 1 - %812 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %811, i64 1, 2 - %813 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %814 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %813, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %804, ptr %814, align 8 - %815 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %813, 0 - %816 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %815, i64 1, 1 - %817 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %816, i64 1, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %794, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr %800, %"github.com/goplus/llgo/internal/runtime.Slice" %812, %"github.com/goplus/llgo/internal/runtime.Slice" %817) + %795 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %796 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %795, 1 + %797 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %796, ptr @"github.com/goplus/llgo/internal/abi.(*Kind).String", 2 + %798 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %797, ptr @"github.com/goplus/llgo/internal/abi.(*Kind).String", 3 + %799 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %795, 1 + %800 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %799, ptr @"github.com/goplus/llgo/internal/abi.(*Kind).String", 2 + %801 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %800, ptr @"github.com/goplus/llgo/internal/abi.Kind.String", 3 + %802 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %803 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %802, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %801, ptr %803, align 8 + %804 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %802, 0 + %805 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %804, i64 1, 1 + %806 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %805, i64 1, 2 + %807 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %808 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %807, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %798, ptr %808, align 8 + %809 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %807, 0 + %810 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %809, i64 1, 1 + %811 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %810, i64 1, 2 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %788, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr %794, %"github.com/goplus/llgo/internal/runtime.Slice" %806, %"github.com/goplus/llgo/internal/runtime.Slice" %811) br label %_llgo_100 _llgo_100: ; preds = %_llgo_99, %_llgo_98 - %818 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 - %819 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 - %820 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %821 = icmp eq ptr %820, null - br i1 %821, label %_llgo_101, label %_llgo_102 + %812 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 + %813 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 + %814 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 + %815 = icmp eq ptr %814, null + br i1 %815, label %_llgo_101, label %_llgo_102 _llgo_101: ; preds = %_llgo_100 - %822 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %823 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %822, 0 - %824 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %823, i64 0, 1 - %825 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %824, i64 0, 2 - %826 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %827 = getelementptr ptr, ptr %826, i64 0 - store ptr %819, ptr %827, align 8 - %828 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %826, 0 - %829 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %828, i64 1, 1 - %830 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %829, i64 1, 2 - %831 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %825, %"github.com/goplus/llgo/internal/runtime.Slice" %830, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %831) - store ptr %831, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 + %816 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %817 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %816, 0 + %818 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %817, i64 0, 1 + %819 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %818, i64 0, 2 + %820 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %821 = getelementptr ptr, ptr %820, i64 0 + store ptr %813, ptr %821, align 8 + %822 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %820, 0 + %823 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %822, i64 1, 1 + %824 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %823, i64 1, 2 + %825 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %819, %"github.com/goplus/llgo/internal/runtime.Slice" %824, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %825) + store ptr %825, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 br label %_llgo_102 _llgo_102: ; preds = %_llgo_101, %_llgo_100 - %832 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %833 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %832, 1 - %834 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %833, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Kind", 2 - %835 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %834, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Kind", 3 - %836 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %837 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %836, 1 - %838 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %837, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Len", 2 - %839 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %838, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Len", 3 - %840 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @55, i64 43 }, i64 25, i64 136, i64 0, i64 26) - %841 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 - %842 = icmp eq ptr %841, null - br i1 %842, label %_llgo_103, label %_llgo_104 + %826 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 + %827 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %826, 1 + %828 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %827, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Kind", 2 + %829 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %828, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Kind", 3 + %830 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %831 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %830, 1 + %832 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %831, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Len", 2 + %833 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %832, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Len", 3 + %834 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @55, i64 43 }, i64 25, i64 136, i64 0, i64 26) + %835 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %836 = icmp eq ptr %835, null + br i1 %836, label %_llgo_103, label %_llgo_104 _llgo_103: ; preds = %_llgo_102 - store ptr %840, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + store ptr %834, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 br label %_llgo_104 _llgo_104: ; preds = %_llgo_103, %_llgo_102 - %843 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %844 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %845 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %846 = load ptr, ptr @_llgo_Pointer, align 8 - %847 = load ptr, ptr @_llgo_Pointer, align 8 - %848 = load ptr, ptr @_llgo_uintptr, align 8 - %849 = load ptr, ptr @_llgo_uintptr, align 8 - %850 = load ptr, ptr @"_llgo_func$cAvVsWLgvZTNybpI-5Hj9CeBwW9xcw6i77GFRvp83mY", align 8 - %851 = icmp eq ptr %850, null - br i1 %851, label %_llgo_105, label %_llgo_106 + %837 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %838 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %839 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %840 = load ptr, ptr @_llgo_Pointer, align 8 + %841 = load ptr, ptr @_llgo_uintptr, align 8 + %842 = load ptr, ptr @_llgo_uintptr, align 8 + %843 = load ptr, ptr @"_llgo_func$ahHMZCcDhfW-lrs446sPkiW0NoVa2vpmK_wKarVa_20", align 8 + %844 = icmp eq ptr %843, null + br i1 %844, label %_llgo_105, label %_llgo_106 _llgo_105: ; preds = %_llgo_104 - %852 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %853 = getelementptr ptr, ptr %852, i64 0 - store ptr %846, ptr %853, align 8 - %854 = getelementptr ptr, ptr %852, i64 1 - store ptr %847, ptr %854, align 8 - %855 = getelementptr ptr, ptr %852, i64 2 - store ptr %848, ptr %855, align 8 - %856 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %852, 0 - %857 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %856, i64 3, 1 - %858 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %857, i64 3, 2 - %859 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %860 = getelementptr ptr, ptr %859, i64 0 - store ptr %849, ptr %860, align 8 - %861 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %859, 0 - %862 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %861, i64 1, 1 - %863 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %862, i64 1, 2 - %864 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %858, %"github.com/goplus/llgo/internal/runtime.Slice" %863, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %864) - store ptr %864, ptr @"_llgo_func$cAvVsWLgvZTNybpI-5Hj9CeBwW9xcw6i77GFRvp83mY", align 8 + %845 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %846 = getelementptr ptr, ptr %845, i64 0 + store ptr %840, ptr %846, align 8 + %847 = getelementptr ptr, ptr %845, i64 1 + store ptr %841, ptr %847, align 8 + %848 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %845, 0 + %849 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %848, i64 2, 1 + %850 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %849, i64 2, 2 + %851 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %852 = getelementptr ptr, ptr %851, i64 0 + store ptr %842, ptr %852, align 8 + %853 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %851, 0 + %854 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %853, i64 1, 1 + %855 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %854, i64 1, 2 + %856 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %850, %"github.com/goplus/llgo/internal/runtime.Slice" %855, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %856) + store ptr %856, ptr @"_llgo_func$ahHMZCcDhfW-lrs446sPkiW0NoVa2vpmK_wKarVa_20", align 8 br label %_llgo_106 _llgo_106: ; preds = %_llgo_105, %_llgo_104 - %865 = load ptr, ptr @"_llgo_func$cAvVsWLgvZTNybpI-5Hj9CeBwW9xcw6i77GFRvp83mY", align 8 - %866 = load ptr, ptr @_llgo_Pointer, align 8 - %867 = load ptr, ptr @_llgo_Pointer, align 8 - %868 = load ptr, ptr @_llgo_uintptr, align 8 - %869 = load ptr, ptr @_llgo_uintptr, align 8 - %870 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %871 = getelementptr ptr, ptr %870, i64 0 - store ptr %866, ptr %871, align 8 - %872 = getelementptr ptr, ptr %870, i64 1 - store ptr %867, ptr %872, align 8 - %873 = getelementptr ptr, ptr %870, i64 2 - store ptr %868, ptr %873, align 8 - %874 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %870, 0 - %875 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %874, i64 3, 1 - %876 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %875, i64 3, 2 - %877 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %878 = getelementptr ptr, ptr %877, i64 0 - store ptr %869, ptr %878, align 8 - %879 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %877, 0 - %880 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %879, i64 1, 1 - %881 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %880, i64 1, 2 - %882 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %876, %"github.com/goplus/llgo/internal/runtime.Slice" %881, i1 false) - %883 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 1 }, ptr %882, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %884 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %885 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 4 }, ptr %884, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %886 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %887 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %886, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %883, ptr %887, align 8 - %888 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %886, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %885, ptr %888, align 8 - %889 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %886, 0 - %890 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %889, i64 2, 1 - %891 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %890, i64 2, 2 - %892 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %891) - store ptr %892, ptr @"main.struct$uDDWukIj6_GRAIQyJjrj0CZt1Ru2uIDU1N9fcbR_jCg", align 8 - %893 = load ptr, ptr @"main.struct$uDDWukIj6_GRAIQyJjrj0CZt1Ru2uIDU1N9fcbR_jCg", align 8 - %894 = load ptr, ptr @_llgo_uint16, align 8 - %895 = icmp eq ptr %894, null - br i1 %895, label %_llgo_107, label %_llgo_108 + %857 = load ptr, ptr @"_llgo_func$ahHMZCcDhfW-lrs446sPkiW0NoVa2vpmK_wKarVa_20", align 8 + %858 = load ptr, ptr @_llgo_Pointer, align 8 + %859 = load ptr, ptr @_llgo_uintptr, align 8 + %860 = load ptr, ptr @_llgo_uintptr, align 8 + %861 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %862 = getelementptr ptr, ptr %861, i64 0 + store ptr %858, ptr %862, align 8 + %863 = getelementptr ptr, ptr %861, i64 1 + store ptr %859, ptr %863, align 8 + %864 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %861, 0 + %865 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %864, i64 2, 1 + %866 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %865, i64 2, 2 + %867 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %868 = getelementptr ptr, ptr %867, i64 0 + store ptr %860, ptr %868, align 8 + %869 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %867, 0 + %870 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %869, i64 1, 1 + %871 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %870, i64 1, 2 + %872 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %866, %"github.com/goplus/llgo/internal/runtime.Slice" %871, i1 false) + %873 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 1 }, ptr %872, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %874 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %875 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 4 }, ptr %874, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %876 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %877 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %876, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %873, ptr %877, align 8 + %878 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %876, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %875, ptr %878, align 8 + %879 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %876, 0 + %880 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %879, i64 2, 1 + %881 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %880, i64 2, 2 + %882 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %881) + store ptr %882, ptr @"main.struct$2gmPOZCguOeDHn3rO8wA0kSBY0yVjg54EviMsNeV45o", align 8 + %883 = load ptr, ptr @"main.struct$2gmPOZCguOeDHn3rO8wA0kSBY0yVjg54EviMsNeV45o", align 8 + %884 = load ptr, ptr @_llgo_uint16, align 8 + %885 = icmp eq ptr %884, null + br i1 %885, label %_llgo_107, label %_llgo_108 _llgo_107: ; preds = %_llgo_106 - %896 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) - store ptr %896, ptr @_llgo_uint16, align 8 + %886 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) + store ptr %886, ptr @_llgo_uint16, align 8 br label %_llgo_108 _llgo_108: ; preds = %_llgo_107, %_llgo_106 - %897 = load ptr, ptr @_llgo_uint16, align 8 - %898 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %899 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %900 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %901 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %902 = load ptr, ptr @_llgo_Pointer, align 8 - %903 = load ptr, ptr @_llgo_Pointer, align 8 - %904 = load ptr, ptr @_llgo_uintptr, align 8 - %905 = load ptr, ptr @_llgo_uintptr, align 8 - %906 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %898, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) - %907 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %899) - %908 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr %907, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %909 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %900) - %910 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr %909, i64 80, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %911 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %901) - %912 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @56, i64 6 }, ptr %911, i64 88, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %913 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %914 = getelementptr ptr, ptr %913, i64 0 - store ptr %902, ptr %914, align 8 - %915 = getelementptr ptr, ptr %913, i64 1 - store ptr %903, ptr %915, align 8 - %916 = getelementptr ptr, ptr %913, i64 2 - store ptr %904, ptr %916, align 8 - %917 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %913, 0 - %918 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %917, i64 3, 1 - %919 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %918, i64 3, 2 - %920 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %921 = getelementptr ptr, ptr %920, i64 0 - store ptr %905, ptr %921, align 8 - %922 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %920, 0 - %923 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %922, i64 1, 1 - %924 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %923, i64 1, 2 - %925 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %919, %"github.com/goplus/llgo/internal/runtime.Slice" %924, i1 false) - %926 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 1 }, ptr %925, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %927 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %928 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 4 }, ptr %927, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %929 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %930 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %929, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %926, ptr %930, align 8 - %931 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %929, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %928, ptr %931, align 8 - %932 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %929, 0 - %933 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %932, i64 2, 1 - %934 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %933, i64 2, 2 - %935 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %934) - %936 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @57, i64 6 }, ptr %935, i64 96, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %937 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %938 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @58, i64 7 }, ptr %937, i64 112, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %939 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %940 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @59, i64 9 }, ptr %939, i64 113, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %941 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) - %942 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @60, i64 10 }, ptr %941, i64 114, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %943 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) - %944 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @61, i64 5 }, ptr %943, i64 116, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %945 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 504) - %946 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %945, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %906, ptr %946, align 8 - %947 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %945, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %908, ptr %947, align 8 - %948 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %945, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %910, ptr %948, align 8 - %949 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %945, i64 3 - store %"github.com/goplus/llgo/internal/abi.StructField" %912, ptr %949, align 8 - %950 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %945, i64 4 - store %"github.com/goplus/llgo/internal/abi.StructField" %936, ptr %950, align 8 - %951 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %945, i64 5 - store %"github.com/goplus/llgo/internal/abi.StructField" %938, ptr %951, align 8 - %952 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %945, i64 6 - store %"github.com/goplus/llgo/internal/abi.StructField" %940, ptr %952, align 8 - %953 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %945, i64 7 - store %"github.com/goplus/llgo/internal/abi.StructField" %942, ptr %953, align 8 - %954 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %945, i64 8 - store %"github.com/goplus/llgo/internal/abi.StructField" %944, ptr %954, align 8 - %955 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %945, 0 - %956 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %955, i64 9, 1 - %957 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %956, i64 9, 2 - %958 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 120, %"github.com/goplus/llgo/internal/runtime.Slice" %957) - store ptr %958, ptr @"main.struct$Yk42tBqeO4BzIoRAwt__cbPj2UwIDCP07Kg_SR7sBZM", align 8 - %959 = load ptr, ptr @"main.struct$Yk42tBqeO4BzIoRAwt__cbPj2UwIDCP07Kg_SR7sBZM", align 8 - br i1 %842, label %_llgo_109, label %_llgo_110 + %887 = load ptr, ptr @_llgo_uint16, align 8 + %888 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %889 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %890 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %891 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %892 = load ptr, ptr @_llgo_Pointer, align 8 + %893 = load ptr, ptr @_llgo_uintptr, align 8 + %894 = load ptr, ptr @_llgo_uintptr, align 8 + %895 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %888, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) + %896 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %889) + %897 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr %896, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %898 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %890) + %899 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr %898, i64 80, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %900 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %891) + %901 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @56, i64 6 }, ptr %900, i64 88, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %902 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %903 = getelementptr ptr, ptr %902, i64 0 + store ptr %892, ptr %903, align 8 + %904 = getelementptr ptr, ptr %902, i64 1 + store ptr %893, ptr %904, align 8 + %905 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %902, 0 + %906 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %905, i64 2, 1 + %907 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %906, i64 2, 2 + %908 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %909 = getelementptr ptr, ptr %908, i64 0 + store ptr %894, ptr %909, align 8 + %910 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %908, 0 + %911 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %910, i64 1, 1 + %912 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %911, i64 1, 2 + %913 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %907, %"github.com/goplus/llgo/internal/runtime.Slice" %912, i1 false) + %914 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 1 }, ptr %913, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %915 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %916 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 4 }, ptr %915, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %917 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %918 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %917, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %914, ptr %918, align 8 + %919 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %917, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %916, ptr %919, align 8 + %920 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %917, 0 + %921 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %920, i64 2, 1 + %922 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %921, i64 2, 2 + %923 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %922) + %924 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @57, i64 6 }, ptr %923, i64 96, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %925 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %926 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @58, i64 7 }, ptr %925, i64 112, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %927 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %928 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @59, i64 9 }, ptr %927, i64 113, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %929 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) + %930 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @60, i64 10 }, ptr %929, i64 114, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %931 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) + %932 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @61, i64 5 }, ptr %931, i64 116, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %933 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 504) + %934 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %933, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %895, ptr %934, align 8 + %935 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %933, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %897, ptr %935, align 8 + %936 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %933, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %899, ptr %936, align 8 + %937 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %933, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %901, ptr %937, align 8 + %938 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %933, i64 4 + store %"github.com/goplus/llgo/internal/abi.StructField" %924, ptr %938, align 8 + %939 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %933, i64 5 + store %"github.com/goplus/llgo/internal/abi.StructField" %926, ptr %939, align 8 + %940 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %933, i64 6 + store %"github.com/goplus/llgo/internal/abi.StructField" %928, ptr %940, align 8 + %941 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %933, i64 7 + store %"github.com/goplus/llgo/internal/abi.StructField" %930, ptr %941, align 8 + %942 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %933, i64 8 + store %"github.com/goplus/llgo/internal/abi.StructField" %932, ptr %942, align 8 + %943 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %933, 0 + %944 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %943, i64 9, 1 + %945 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %944, i64 9, 2 + %946 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 120, %"github.com/goplus/llgo/internal/runtime.Slice" %945) + store ptr %946, ptr @"main.struct$jgHT3zlvUCWdGAH-l4Nn1MOOw31LQoSt74SxHNLR50Q", align 8 + %947 = load ptr, ptr @"main.struct$jgHT3zlvUCWdGAH-l4Nn1MOOw31LQoSt74SxHNLR50Q", align 8 + br i1 %836, label %_llgo_109, label %_llgo_110 _llgo_109: ; preds = %_llgo_108 - %960 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %961 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %960, 1 - %962 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %961, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Align", 2 - %963 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %962, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Align", 3 - %964 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 - %965 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %966 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %965, 1 - %967 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %966, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ArrayType", 2 - %968 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %967, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ArrayType", 3 - %969 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %970 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %969, 1 - %971 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %970, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ChanDir", 2 - %972 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %971, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ChanDir", 3 - %973 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %974 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %975 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %974, 1 - %976 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %975, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Common", 2 - %977 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %976, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Common", 3 - %978 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 - %979 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %980 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %979, 1 - %981 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %980, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ExportedMethods", 2 - %982 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %981, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ExportedMethods", 3 - %983 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %984 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %983, 1 - %985 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %984, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FieldAlign", 2 - %986 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %985, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FieldAlign", 3 - %987 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %988 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %989 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %988, 1 - %990 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %989, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FuncType", 2 - %991 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %990, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FuncType", 3 + %948 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %949 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %948, 1 + %950 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %949, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Align", 2 + %951 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %950, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Align", 3 + %952 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %953 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 + %954 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %953, 1 + %955 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %954, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ArrayType", 2 + %956 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %955, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ArrayType", 3 + %957 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 + %958 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %957, 1 + %959 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %958, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ChanDir", 2 + %960 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %959, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ChanDir", 3 + %961 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %962 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %963 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %962, 1 + %964 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %963, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Common", 2 + %965 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %964, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Common", 3 + %966 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %967 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %968 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %967, 1 + %969 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %968, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ExportedMethods", 2 + %970 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %969, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ExportedMethods", 3 + %971 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %972 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %971, 1 + %973 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %972, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FieldAlign", 2 + %974 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %973, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FieldAlign", 3 + %975 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %976 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 + %977 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %976, 1 + %978 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %977, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FuncType", 2 + %979 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %978, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FuncType", 3 + %980 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %981 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %980, 1 + %982 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %981, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HasName", 2 + %983 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %982, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HasName", 3 + %984 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %985 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @62, i64 14 }, ptr undef, ptr undef, ptr undef }, ptr %984, 1 + %986 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %985, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HashMightPanic", 2 + %987 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %986, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HashMightPanic", 3 + %988 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %989 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %988, 1 + %990 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %989, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IfaceIndir", 2 + %991 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %990, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IfaceIndir", 3 %992 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %993 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %992, 1 - %994 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %993, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HasName", 2 - %995 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %994, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HasName", 3 + %993 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @63, i64 12 }, ptr undef, ptr undef, ptr undef }, ptr %992, 1 + %994 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %993, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectElem", 2 + %995 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %994, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectElem", 3 %996 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %997 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @62, i64 14 }, ptr undef, ptr undef, ptr undef }, ptr %996, 1 - %998 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %997, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HashMightPanic", 2 - %999 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %998, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HashMightPanic", 3 - %1000 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1001 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1000, 1 - %1002 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1001, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IfaceIndir", 2 - %1003 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1002, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IfaceIndir", 3 - %1004 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1005 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @63, i64 12 }, ptr undef, ptr undef, ptr undef }, ptr %1004, 1 - %1006 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1005, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectElem", 2 - %1007 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1006, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectElem", 3 - %1008 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1009 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @64, i64 11 }, ptr undef, ptr undef, ptr undef }, ptr %1008, 1 - %1010 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1009, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectKey", 2 - %1011 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1010, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectKey", 3 - %1012 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 - %1013 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %1014 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1013, 1 - %1015 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1014, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).InterfaceType", 2 - %1016 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1015, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).InterfaceType", 3 - %1017 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1018 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1017, 1 - %1019 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1018, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IsClosure", 2 - %1020 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1019, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IsClosure", 3 - %1021 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1022 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1021, 1 - %1023 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1022, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IsDirectIface", 2 - %1024 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1023, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IsDirectIface", 3 - %1025 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %1026 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1025, 1 - %1027 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1026, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Kind", 2 - %1028 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1027, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Kind", 3 - %1029 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1030 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %1029, 1 - %1031 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1030, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Len", 2 - %1032 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1031, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Len", 3 - %1033 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @55, i64 43 }, i64 25, i64 136, i64 0, i64 26) - %1034 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 - %1035 = icmp eq ptr %1034, null - br i1 %1035, label %_llgo_111, label %_llgo_112 + %997 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @64, i64 11 }, ptr undef, ptr undef, ptr undef }, ptr %996, 1 + %998 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %997, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectKey", 2 + %999 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %998, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectKey", 3 + %1000 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %1001 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 + %1002 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1001, 1 + %1003 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1002, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).InterfaceType", 2 + %1004 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1003, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).InterfaceType", 3 + %1005 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1006 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1005, 1 + %1007 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1006, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IsClosure", 2 + %1008 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1007, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IsClosure", 3 + %1009 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1010 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1009, 1 + %1011 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1010, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IsDirectIface", 2 + %1012 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1011, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IsDirectIface", 3 + %1013 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 + %1014 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1013, 1 + %1015 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1014, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Kind", 2 + %1016 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1015, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Kind", 3 + %1017 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %1018 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %1017, 1 + %1019 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1018, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Len", 2 + %1020 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1019, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Len", 3 + %1021 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @55, i64 43 }, i64 25, i64 136, i64 0, i64 26) + %1022 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %1023 = icmp eq ptr %1022, null + br i1 %1023, label %_llgo_111, label %_llgo_112 _llgo_110: ; preds = %_llgo_130, %_llgo_108 - %1036 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 - %1037 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 - %1038 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %1039 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1038, 1 - %1040 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1039, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).MapType", 2 - %1041 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1040, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).MapType", 3 - %1042 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1043 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1042, 1 - %1044 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1043, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).NumMethod", 2 - %1045 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1044, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).NumMethod", 3 - %1046 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1047 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1046, 1 - %1048 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1047, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Pointers", 2 - %1049 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1048, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Pointers", 3 - %1050 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %1051 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1050, 1 - %1052 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1051, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Size", 2 - %1053 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1052, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Size", 3 - %1054 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %1055 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1054, 1 - %1056 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1055, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).String", 2 - %1057 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1056, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).String", 3 - %1058 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 - %1059 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %1060 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1059, 1 - %1061 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1060, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).StructType", 2 - %1062 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1061, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).StructType", 3 - %1063 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %1064 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1063, 1 - %1065 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1064, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Uncommon", 2 - %1066 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1065, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Uncommon", 3 - %1067 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 920) - %1068 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %628, ptr %1068, align 8 - %1069 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %633, ptr %1069, align 8 - %1070 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %637, ptr %1070, align 8 - %1071 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 3 - store %"github.com/goplus/llgo/internal/abi.Method" %642, ptr %1071, align 8 - %1072 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 4 - store %"github.com/goplus/llgo/internal/abi.Method" %647, ptr %1072, align 8 - %1073 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 5 - store %"github.com/goplus/llgo/internal/abi.Method" %652, ptr %1073, align 8 - %1074 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 6 - store %"github.com/goplus/llgo/internal/abi.Method" %656, ptr %1074, align 8 - %1075 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 7 - store %"github.com/goplus/llgo/internal/abi.Method" %661, ptr %1075, align 8 - %1076 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 8 - store %"github.com/goplus/llgo/internal/abi.Method" %665, ptr %1076, align 8 - %1077 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 9 - store %"github.com/goplus/llgo/internal/abi.Method" %669, ptr %1077, align 8 - %1078 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 10 - store %"github.com/goplus/llgo/internal/abi.Method" %780, ptr %1078, align 8 - %1079 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 11 - store %"github.com/goplus/llgo/internal/abi.Method" %784, ptr %1079, align 8 - %1080 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 12 - store %"github.com/goplus/llgo/internal/abi.Method" %788, ptr %1080, align 8 - %1081 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 13 - store %"github.com/goplus/llgo/internal/abi.Method" %793, ptr %1081, align 8 - %1082 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 14 - store %"github.com/goplus/llgo/internal/abi.Method" %835, ptr %1082, align 8 - %1083 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 15 - store %"github.com/goplus/llgo/internal/abi.Method" %839, ptr %1083, align 8 - %1084 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 16 - store %"github.com/goplus/llgo/internal/abi.Method" %1041, ptr %1084, align 8 - %1085 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 17 - store %"github.com/goplus/llgo/internal/abi.Method" %1045, ptr %1085, align 8 - %1086 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 18 - store %"github.com/goplus/llgo/internal/abi.Method" %1049, ptr %1086, align 8 - %1087 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 19 - store %"github.com/goplus/llgo/internal/abi.Method" %1053, ptr %1087, align 8 - %1088 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 20 - store %"github.com/goplus/llgo/internal/abi.Method" %1057, ptr %1088, align 8 - %1089 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 21 - store %"github.com/goplus/llgo/internal/abi.Method" %1062, ptr %1089, align 8 - %1090 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i64 22 - store %"github.com/goplus/llgo/internal/abi.Method" %1066, ptr %1090, align 8 - %1091 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1067, 0 - %1092 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1091, i64 23, 1 - %1093 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1092, i64 23, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %547, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr %624, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1093) + %1024 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %1025 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %1026 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 + %1027 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1026, 1 + %1028 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1027, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).MapType", 2 + %1029 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1028, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).MapType", 3 + %1030 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %1031 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1030, 1 + %1032 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1031, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).NumMethod", 2 + %1033 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1032, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).NumMethod", 3 + %1034 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1035 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1034, 1 + %1036 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1035, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Pointers", 2 + %1037 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1036, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Pointers", 3 + %1038 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 + %1039 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1038, 1 + %1040 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1039, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Size", 2 + %1041 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1040, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Size", 3 + %1042 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %1043 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1042, 1 + %1044 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1043, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).String", 2 + %1045 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1044, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).String", 3 + %1046 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %1047 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 + %1048 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1047, 1 + %1049 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1048, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).StructType", 2 + %1050 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1049, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).StructType", 3 + %1051 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 + %1052 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1051, 1 + %1053 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1052, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Uncommon", 2 + %1054 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1053, ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Uncommon", 3 + %1055 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 920) + %1056 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %622, ptr %1056, align 8 + %1057 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %627, ptr %1057, align 8 + %1058 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %631, ptr %1058, align 8 + %1059 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 3 + store %"github.com/goplus/llgo/internal/abi.Method" %636, ptr %1059, align 8 + %1060 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 4 + store %"github.com/goplus/llgo/internal/abi.Method" %641, ptr %1060, align 8 + %1061 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 5 + store %"github.com/goplus/llgo/internal/abi.Method" %646, ptr %1061, align 8 + %1062 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 6 + store %"github.com/goplus/llgo/internal/abi.Method" %650, ptr %1062, align 8 + %1063 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 7 + store %"github.com/goplus/llgo/internal/abi.Method" %655, ptr %1063, align 8 + %1064 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 8 + store %"github.com/goplus/llgo/internal/abi.Method" %659, ptr %1064, align 8 + %1065 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 9 + store %"github.com/goplus/llgo/internal/abi.Method" %663, ptr %1065, align 8 + %1066 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 10 + store %"github.com/goplus/llgo/internal/abi.Method" %774, ptr %1066, align 8 + %1067 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 11 + store %"github.com/goplus/llgo/internal/abi.Method" %778, ptr %1067, align 8 + %1068 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 12 + store %"github.com/goplus/llgo/internal/abi.Method" %782, ptr %1068, align 8 + %1069 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 13 + store %"github.com/goplus/llgo/internal/abi.Method" %787, ptr %1069, align 8 + %1070 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 14 + store %"github.com/goplus/llgo/internal/abi.Method" %829, ptr %1070, align 8 + %1071 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 15 + store %"github.com/goplus/llgo/internal/abi.Method" %833, ptr %1071, align 8 + %1072 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 16 + store %"github.com/goplus/llgo/internal/abi.Method" %1029, ptr %1072, align 8 + %1073 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 17 + store %"github.com/goplus/llgo/internal/abi.Method" %1033, ptr %1073, align 8 + %1074 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 18 + store %"github.com/goplus/llgo/internal/abi.Method" %1037, ptr %1074, align 8 + %1075 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 19 + store %"github.com/goplus/llgo/internal/abi.Method" %1041, ptr %1075, align 8 + %1076 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 20 + store %"github.com/goplus/llgo/internal/abi.Method" %1045, ptr %1076, align 8 + %1077 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 21 + store %"github.com/goplus/llgo/internal/abi.Method" %1050, ptr %1077, align 8 + %1078 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1055, i64 22 + store %"github.com/goplus/llgo/internal/abi.Method" %1054, ptr %1078, align 8 + %1079 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1055, 0 + %1080 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1079, i64 23, 1 + %1081 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1080, i64 23, 2 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %541, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr %618, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1081) br label %_llgo_90 _llgo_111: ; preds = %_llgo_109 - %1094 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1033) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1094) - store ptr %1094, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %1082 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1021) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1082) + store ptr %1082, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 br label %_llgo_112 _llgo_112: ; preds = %_llgo_111, %_llgo_109 - %1095 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 - %1096 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 - %1097 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %1098 = icmp eq ptr %1097, null - br i1 %1098, label %_llgo_113, label %_llgo_114 + %1083 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %1084 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %1085 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 + %1086 = icmp eq ptr %1085, null + br i1 %1086, label %_llgo_113, label %_llgo_114 _llgo_113: ; preds = %_llgo_112 - %1099 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %1100 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1099, 0 - %1101 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1100, i64 0, 1 - %1102 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1101, i64 0, 2 - %1103 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %1104 = getelementptr ptr, ptr %1103, i64 0 - store ptr %1096, ptr %1104, align 8 - %1105 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1103, 0 - %1106 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1105, i64 1, 1 - %1107 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1106, i64 1, 2 - %1108 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1102, %"github.com/goplus/llgo/internal/runtime.Slice" %1107, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1108) - store ptr %1108, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 + %1087 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %1088 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1087, 0 + %1089 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1088, i64 0, 1 + %1090 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1089, i64 0, 2 + %1091 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %1092 = getelementptr ptr, ptr %1091, i64 0 + store ptr %1084, ptr %1092, align 8 + %1093 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1091, 0 + %1094 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1093, i64 1, 1 + %1095 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1094, i64 1, 2 + %1096 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1090, %"github.com/goplus/llgo/internal/runtime.Slice" %1095, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1096) + store ptr %1096, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 br label %_llgo_114 _llgo_114: ; preds = %_llgo_113, %_llgo_112 - %1109 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %1110 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1109, 1 - %1111 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1110, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).MapType", 2 - %1112 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1111, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).MapType", 3 + %1097 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 + %1098 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1097, 1 + %1099 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1098, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).MapType", 2 + %1100 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1099, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).MapType", 3 + %1101 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1102 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @65, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1101, 1 + %1103 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1102, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NeedKeyUpdate", 2 + %1104 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1103, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NeedKeyUpdate", 3 + %1105 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %1106 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1105, 1 + %1107 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1106, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NumMethod", 2 + %1108 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1107, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NumMethod", 3 + %1109 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1110 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1109, 1 + %1111 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1110, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Pointers", 2 + %1112 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1111, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Pointers", 3 %1113 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1114 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @65, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1113, 1 - %1115 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1114, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NeedKeyUpdate", 2 - %1116 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1115, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NeedKeyUpdate", 3 - %1117 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1118 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1117, 1 - %1119 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1118, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NumMethod", 2 - %1120 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1119, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NumMethod", 3 - %1121 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1122 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1121, 1 - %1123 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1122, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Pointers", 2 - %1124 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1123, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Pointers", 3 - %1125 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1126 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @68, i64 12 }, ptr undef, ptr undef, ptr undef }, ptr %1125, 1 - %1127 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1126, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ReflexiveKey", 2 - %1128 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1127, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ReflexiveKey", 3 - %1129 = load ptr, ptr @_llgo_uintptr, align 8 - %1130 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %1131 = icmp eq ptr %1130, null - br i1 %1131, label %_llgo_115, label %_llgo_116 + %1114 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @68, i64 12 }, ptr undef, ptr undef, ptr undef }, ptr %1113, 1 + %1115 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1114, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ReflexiveKey", 2 + %1116 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1115, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ReflexiveKey", 3 + %1117 = load ptr, ptr @_llgo_uintptr, align 8 + %1118 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 + %1119 = icmp eq ptr %1118, null + br i1 %1119, label %_llgo_115, label %_llgo_116 _llgo_115: ; preds = %_llgo_114 - %1132 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %1133 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1132, 0 - %1134 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1133, i64 0, 1 - %1135 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1134, i64 0, 2 - %1136 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %1137 = getelementptr ptr, ptr %1136, i64 0 - store ptr %1129, ptr %1137, align 8 - %1138 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1136, 0 - %1139 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1138, i64 1, 1 - %1140 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1139, i64 1, 2 - %1141 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1135, %"github.com/goplus/llgo/internal/runtime.Slice" %1140, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1141) - store ptr %1141, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 + %1120 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %1121 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1120, 0 + %1122 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1121, i64 0, 1 + %1123 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1122, i64 0, 2 + %1124 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %1125 = getelementptr ptr, ptr %1124, i64 0 + store ptr %1117, ptr %1125, align 8 + %1126 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1124, 0 + %1127 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1126, i64 1, 1 + %1128 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1127, i64 1, 2 + %1129 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1123, %"github.com/goplus/llgo/internal/runtime.Slice" %1128, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1129) + store ptr %1129, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 br label %_llgo_116 _llgo_116: ; preds = %_llgo_115, %_llgo_114 - %1142 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %1143 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1142, 1 - %1144 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1143, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Size", 2 - %1145 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1144, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Size", 3 - %1146 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %1147 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1146, 1 - %1148 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1147, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).String", 2 - %1149 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1148, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).String", 3 - %1150 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @71, i64 46 }, i64 25, i64 120, i64 0, i64 23) - %1151 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 - %1152 = icmp eq ptr %1151, null - br i1 %1152, label %_llgo_117, label %_llgo_118 + %1130 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 + %1131 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1130, 1 + %1132 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1131, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Size", 2 + %1133 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1132, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Size", 3 + %1134 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %1135 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1134, 1 + %1136 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1135, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).String", 2 + %1137 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1136, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).String", 3 + %1138 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @71, i64 46 }, i64 25, i64 120, i64 0, i64 23) + %1139 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %1140 = icmp eq ptr %1139, null + br i1 %1140, label %_llgo_117, label %_llgo_118 _llgo_117: ; preds = %_llgo_116 - store ptr %1150, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + store ptr %1138, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 br label %_llgo_118 _llgo_118: ; preds = %_llgo_117, %_llgo_116 - %1153 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @72, i64 47 }, i64 25, i64 56, i64 0, i64 2) - %1154 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 - %1155 = icmp eq ptr %1154, null - br i1 %1155, label %_llgo_119, label %_llgo_120 + %1141 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @72, i64 47 }, i64 25, i64 56, i64 0, i64 2) + %1142 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 + %1143 = icmp eq ptr %1142, null + br i1 %1143, label %_llgo_119, label %_llgo_120 _llgo_119: ; preds = %_llgo_118 - store ptr %1153, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 + store ptr %1141, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 br label %_llgo_120 _llgo_120: ; preds = %_llgo_119, %_llgo_118 - %1156 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %1157 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %1158 = load ptr, ptr @"_llgo_struct$GYlWrg0B_axMyyq9xClGPKuTjurG0iQMRoz8Me1fQig", align 8 - %1159 = icmp eq ptr %1158, null - br i1 %1159, label %_llgo_121, label %_llgo_122 + %1144 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %1145 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %1146 = load ptr, ptr @"_llgo_struct$GYlWrg0B_axMyyq9xClGPKuTjurG0iQMRoz8Me1fQig", align 8 + %1147 = icmp eq ptr %1146, null + br i1 %1147, label %_llgo_121, label %_llgo_122 _llgo_121: ; preds = %_llgo_120 - %1160 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %1161 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @40, i64 5 }, ptr %1160, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1162 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1157) - %1163 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @73, i64 3 }, ptr %1162, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1164 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - %1165 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @74, i64 6 }, ptr %1164, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1166 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %1167 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @75, i64 4 }, ptr %1166, i64 32, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1168 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 33) - %1169 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @76, i64 9 }, ptr %1168, i64 48, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1170 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 280) - %1171 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1170, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %1161, ptr %1171, align 8 - %1172 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1170, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %1163, ptr %1172, align 8 - %1173 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1170, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %1165, ptr %1173, align 8 - %1174 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1170, i64 3 - store %"github.com/goplus/llgo/internal/abi.StructField" %1167, ptr %1174, align 8 - %1175 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1170, i64 4 - store %"github.com/goplus/llgo/internal/abi.StructField" %1169, ptr %1175, align 8 - %1176 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1170, 0 - %1177 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1176, i64 5, 1 - %1178 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1177, i64 5, 2 - %1179 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 56, %"github.com/goplus/llgo/internal/runtime.Slice" %1178) - store ptr %1179, ptr @"_llgo_struct$GYlWrg0B_axMyyq9xClGPKuTjurG0iQMRoz8Me1fQig", align 8 + %1148 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %1149 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @40, i64 5 }, ptr %1148, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1150 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1145) + %1151 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @73, i64 3 }, ptr %1150, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1152 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) + %1153 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @74, i64 6 }, ptr %1152, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1154 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %1155 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @75, i64 4 }, ptr %1154, i64 32, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1156 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 33) + %1157 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @76, i64 9 }, ptr %1156, i64 48, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1158 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 280) + %1159 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1158, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %1149, ptr %1159, align 8 + %1160 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1158, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %1151, ptr %1160, align 8 + %1161 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1158, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %1153, ptr %1161, align 8 + %1162 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1158, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %1155, ptr %1162, align 8 + %1163 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1158, i64 4 + store %"github.com/goplus/llgo/internal/abi.StructField" %1157, ptr %1163, align 8 + %1164 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1158, 0 + %1165 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1164, i64 5, 1 + %1166 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1165, i64 5, 2 + %1167 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 56, %"github.com/goplus/llgo/internal/runtime.Slice" %1166) + store ptr %1167, ptr @"_llgo_struct$GYlWrg0B_axMyyq9xClGPKuTjurG0iQMRoz8Me1fQig", align 8 br label %_llgo_122 _llgo_122: ; preds = %_llgo_121, %_llgo_120 - %1180 = load ptr, ptr @"_llgo_struct$GYlWrg0B_axMyyq9xClGPKuTjurG0iQMRoz8Me1fQig", align 8 - br i1 %1155, label %_llgo_123, label %_llgo_124 + %1168 = load ptr, ptr @"_llgo_struct$GYlWrg0B_axMyyq9xClGPKuTjurG0iQMRoz8Me1fQig", align 8 + br i1 %1143, label %_llgo_123, label %_llgo_124 _llgo_123: ; preds = %_llgo_122 - %1181 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1182 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @77, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1181, 1 - %1183 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1182, ptr @"github.com/goplus/llgo/internal/abi.(*StructField).Embedded", 2 - %1184 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1183, ptr @"github.com/goplus/llgo/internal/abi.(*StructField).Embedded", 3 - %1185 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1186 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @42, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1185, 1 - %1187 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1186, ptr @"github.com/goplus/llgo/internal/abi.(*StructField).Exported", 2 - %1188 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1187, ptr @"github.com/goplus/llgo/internal/abi.(*StructField).Exported", 3 - %1189 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) - %1190 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1189, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %1184, ptr %1190, align 8 - %1191 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1189, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %1188, ptr %1191, align 8 - %1192 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1189, 0 - %1193 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1192, i64 2, 1 - %1194 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1193, i64 2, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1153, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @78, i64 11 }, ptr %1180, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1194) + %1169 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1170 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @77, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1169, 1 + %1171 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1170, ptr @"github.com/goplus/llgo/internal/abi.(*StructField).Embedded", 2 + %1172 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1171, ptr @"github.com/goplus/llgo/internal/abi.(*StructField).Embedded", 3 + %1173 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1174 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @42, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1173, 1 + %1175 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1174, ptr @"github.com/goplus/llgo/internal/abi.(*StructField).Exported", 2 + %1176 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1175, ptr @"github.com/goplus/llgo/internal/abi.(*StructField).Exported", 3 + %1177 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) + %1178 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1177, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %1172, ptr %1178, align 8 + %1179 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1177, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %1176, ptr %1179, align 8 + %1180 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1177, 0 + %1181 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1180, i64 2, 1 + %1182 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1181, i64 2, 2 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1141, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @78, i64 11 }, ptr %1168, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1182) br label %_llgo_124 _llgo_124: ; preds = %_llgo_123, %_llgo_122 - %1195 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 - %1196 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @72, i64 47 }, i64 25, i64 56, i64 0, i64 2) - %1197 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 - %1198 = icmp eq ptr %1197, null - br i1 %1198, label %_llgo_125, label %_llgo_126 + %1183 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 + %1184 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @72, i64 47 }, i64 25, i64 56, i64 0, i64 2) + %1185 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 + %1186 = icmp eq ptr %1185, null + br i1 %1186, label %_llgo_125, label %_llgo_126 _llgo_125: ; preds = %_llgo_124 - %1199 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %1196) - store ptr %1199, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 + %1187 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %1184) + store ptr %1187, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 br label %_llgo_126 _llgo_126: ; preds = %_llgo_125, %_llgo_124 - %1200 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 - %1201 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %1202 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @72, i64 47 }, i64 25, i64 56, i64 0, i64 2) - %1203 = load ptr, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 - %1204 = icmp eq ptr %1203, null - br i1 %1204, label %_llgo_127, label %_llgo_128 + %1188 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 + %1189 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %1190 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @72, i64 47 }, i64 25, i64 56, i64 0, i64 2) + %1191 = load ptr, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 + %1192 = icmp eq ptr %1191, null + br i1 %1192, label %_llgo_127, label %_llgo_128 _llgo_127: ; preds = %_llgo_126 - %1205 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %1201, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) - %1206 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %1207 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 8 }, ptr %1206, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1208 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %1202) - %1209 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @79, i64 6 }, ptr %1208, i64 88, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1210 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) - %1211 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1210, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %1205, ptr %1211, align 8 - %1212 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1210, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %1207, ptr %1212, align 8 - %1213 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1210, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %1209, ptr %1213, align 8 - %1214 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1210, 0 - %1215 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1214, i64 3, 1 - %1216 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1215, i64 3, 2 - %1217 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 112, %"github.com/goplus/llgo/internal/runtime.Slice" %1216) - store ptr %1217, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 + %1193 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @21, i64 4 }, ptr %1189, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 true) + %1194 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %1195 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 8 }, ptr %1194, i64 72, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1196 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %1190) + %1197 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @79, i64 6 }, ptr %1196, i64 88, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1198 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) + %1199 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1198, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %1193, ptr %1199, align 8 + %1200 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1198, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %1195, ptr %1200, align 8 + %1201 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1198, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %1197, ptr %1201, align 8 + %1202 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1198, 0 + %1203 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1202, i64 3, 1 + %1204 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1203, i64 3, 2 + %1205 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 112, %"github.com/goplus/llgo/internal/runtime.Slice" %1204) + store ptr %1205, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 br label %_llgo_128 _llgo_128: ; preds = %_llgo_127, %_llgo_126 - %1218 = load ptr, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 - br i1 %1152, label %_llgo_129, label %_llgo_130 + %1206 = load ptr, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 + br i1 %1140, label %_llgo_129, label %_llgo_130 _llgo_129: ; preds = %_llgo_128 - %1219 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1220 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %1219, 1 - %1221 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1220, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Align", 2 - %1222 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1221, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Align", 3 - %1223 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 - %1224 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %1225 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1224, 1 - %1226 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1225, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ArrayType", 2 - %1227 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1226, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ArrayType", 3 - %1228 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %1229 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1228, 1 - %1230 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1229, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ChanDir", 2 - %1231 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1230, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ChanDir", 3 - %1232 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %1233 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %1234 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1233, 1 - %1235 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1234, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Common", 2 - %1236 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1235, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Common", 3 - %1237 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %1238 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %1239 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1238, 1 - %1240 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1239, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Elem", 2 - %1241 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1240, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Elem", 3 - %1242 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 - %1243 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %1244 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %1243, 1 - %1245 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1244, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ExportedMethods", 2 - %1246 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1245, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ExportedMethods", 3 - %1247 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1248 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1247, 1 - %1249 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1248, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FieldAlign", 2 - %1250 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1249, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FieldAlign", 3 - %1251 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %1252 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %1253 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1252, 1 - %1254 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1253, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FuncType", 2 - %1255 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1254, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FuncType", 3 - %1256 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1257 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1256, 1 - %1258 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1257, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).HasName", 2 - %1259 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1258, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).HasName", 3 - %1260 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1261 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1260, 1 - %1262 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1261, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IfaceIndir", 2 - %1263 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1262, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IfaceIndir", 3 - %1264 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 - %1265 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %1266 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1265, 1 - %1267 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1266, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).InterfaceType", 2 - %1268 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1267, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).InterfaceType", 3 - %1269 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1270 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1269, 1 - %1271 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1270, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IsClosure", 2 - %1272 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1271, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IsClosure", 3 - %1273 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1274 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1273, 1 - %1275 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1274, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IsDirectIface", 2 - %1276 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1275, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IsDirectIface", 3 - %1277 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %1278 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %1279 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %1278, 1 - %1280 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1279, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Key", 2 - %1281 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1280, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Key", 3 - %1282 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %1283 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1282, 1 - %1284 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1283, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Kind", 2 - %1285 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1284, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Kind", 3 - %1286 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1287 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %1286, 1 - %1288 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1287, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Len", 2 - %1289 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1288, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Len", 3 - %1290 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 - %1291 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %1292 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1291, 1 - %1293 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1292, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).MapType", 2 - %1294 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1293, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).MapType", 3 - %1295 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1296 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1295, 1 - %1297 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1296, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).NumMethod", 2 - %1298 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1297, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).NumMethod", 3 - %1299 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1300 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1299, 1 - %1301 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1300, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Pointers", 2 - %1302 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1301, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Pointers", 3 - %1303 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %1304 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1303, 1 - %1305 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1304, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Size", 2 - %1306 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1305, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Size", 3 - %1307 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %1308 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1307, 1 - %1309 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1308, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).String", 2 - %1310 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1309, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).String", 3 - %1311 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @71, i64 46 }, i64 25, i64 120, i64 0, i64 23) - %1312 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 - %1313 = icmp eq ptr %1312, null - br i1 %1313, label %_llgo_131, label %_llgo_132 + %1207 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %1208 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @18, i64 5 }, ptr undef, ptr undef, ptr undef }, ptr %1207, 1 + %1209 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1208, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Align", 2 + %1210 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1209, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Align", 3 + %1211 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %1212 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 + %1213 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1212, 1 + %1214 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1213, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ArrayType", 2 + %1215 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1214, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ArrayType", 3 + %1216 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 + %1217 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @25, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1216, 1 + %1218 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1217, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ChanDir", 2 + %1219 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1218, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ChanDir", 3 + %1220 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %1221 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %1222 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @27, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1221, 1 + %1223 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1222, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Common", 2 + %1224 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1223, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Common", 3 + %1225 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %1226 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %1227 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @22, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1226, 1 + %1228 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1227, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Elem", 2 + %1229 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1228, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Elem", 3 + %1230 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %1231 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %1232 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %1231, 1 + %1233 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1232, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ExportedMethods", 2 + %1234 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1233, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ExportedMethods", 3 + %1235 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %1236 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1235, 1 + %1237 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1236, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FieldAlign", 2 + %1238 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1237, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FieldAlign", 3 + %1239 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %1240 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 + %1241 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1240, 1 + %1242 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1241, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FuncType", 2 + %1243 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1242, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FuncType", 3 + %1244 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1245 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1244, 1 + %1246 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1245, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).HasName", 2 + %1247 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1246, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).HasName", 3 + %1248 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1249 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1248, 1 + %1250 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1249, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IfaceIndir", 2 + %1251 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1250, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IfaceIndir", 3 + %1252 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %1253 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 + %1254 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1253, 1 + %1255 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1254, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).InterfaceType", 2 + %1256 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1255, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).InterfaceType", 3 + %1257 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1258 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1257, 1 + %1259 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1258, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IsClosure", 2 + %1260 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1259, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IsClosure", 3 + %1261 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1262 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1261, 1 + %1263 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1262, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IsDirectIface", 2 + %1264 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1263, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IsDirectIface", 3 + %1265 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %1266 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %1267 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %1266, 1 + %1268 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1267, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Key", 2 + %1269 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1268, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Key", 3 + %1270 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 + %1271 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1270, 1 + %1272 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1271, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Kind", 2 + %1273 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1272, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Kind", 3 + %1274 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %1275 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @24, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %1274, 1 + %1276 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1275, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Len", 2 + %1277 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1276, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Len", 3 + %1278 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %1279 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 + %1280 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1279, 1 + %1281 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1280, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).MapType", 2 + %1282 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1281, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).MapType", 3 + %1283 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %1284 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1283, 1 + %1285 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1284, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).NumMethod", 2 + %1286 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1285, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).NumMethod", 3 + %1287 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1288 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1287, 1 + %1289 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1288, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Pointers", 2 + %1290 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1289, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Pointers", 3 + %1291 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 + %1292 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1291, 1 + %1293 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1292, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Size", 2 + %1294 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1293, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Size", 3 + %1295 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %1296 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1295, 1 + %1297 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1296, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).String", 2 + %1298 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1297, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).String", 3 + %1299 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @71, i64 46 }, i64 25, i64 120, i64 0, i64 23) + %1300 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %1301 = icmp eq ptr %1300, null + br i1 %1301, label %_llgo_131, label %_llgo_132 _llgo_130: ; preds = %_llgo_144, %_llgo_128 - %1314 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 - %1315 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 - %1316 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %1317 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1316, 1 - %1318 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1317, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).StructType", 2 - %1319 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1318, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).StructType", 3 - %1320 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %1321 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1320, 1 - %1322 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1321, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Uncommon", 2 - %1323 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1322, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Uncommon", 3 - %1324 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 1040) - %1325 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %963, ptr %1325, align 8 - %1326 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %968, ptr %1326, align 8 - %1327 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %972, ptr %1327, align 8 - %1328 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 3 - store %"github.com/goplus/llgo/internal/abi.Method" %977, ptr %1328, align 8 - %1329 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 4 - store %"github.com/goplus/llgo/internal/abi.Method" %982, ptr %1329, align 8 - %1330 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 5 - store %"github.com/goplus/llgo/internal/abi.Method" %986, ptr %1330, align 8 - %1331 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 6 - store %"github.com/goplus/llgo/internal/abi.Method" %991, ptr %1331, align 8 - %1332 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 7 - store %"github.com/goplus/llgo/internal/abi.Method" %995, ptr %1332, align 8 - %1333 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 8 - store %"github.com/goplus/llgo/internal/abi.Method" %999, ptr %1333, align 8 - %1334 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 9 - store %"github.com/goplus/llgo/internal/abi.Method" %1003, ptr %1334, align 8 - %1335 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 10 - store %"github.com/goplus/llgo/internal/abi.Method" %1007, ptr %1335, align 8 - %1336 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 11 - store %"github.com/goplus/llgo/internal/abi.Method" %1011, ptr %1336, align 8 - %1337 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 12 - store %"github.com/goplus/llgo/internal/abi.Method" %1016, ptr %1337, align 8 - %1338 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 13 - store %"github.com/goplus/llgo/internal/abi.Method" %1020, ptr %1338, align 8 - %1339 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 14 - store %"github.com/goplus/llgo/internal/abi.Method" %1024, ptr %1339, align 8 - %1340 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 15 - store %"github.com/goplus/llgo/internal/abi.Method" %1028, ptr %1340, align 8 - %1341 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 16 - store %"github.com/goplus/llgo/internal/abi.Method" %1032, ptr %1341, align 8 - %1342 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 17 - store %"github.com/goplus/llgo/internal/abi.Method" %1112, ptr %1342, align 8 - %1343 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 18 - store %"github.com/goplus/llgo/internal/abi.Method" %1116, ptr %1343, align 8 - %1344 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 19 - store %"github.com/goplus/llgo/internal/abi.Method" %1120, ptr %1344, align 8 - %1345 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 20 - store %"github.com/goplus/llgo/internal/abi.Method" %1124, ptr %1345, align 8 - %1346 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 21 - store %"github.com/goplus/llgo/internal/abi.Method" %1128, ptr %1346, align 8 - %1347 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 22 - store %"github.com/goplus/llgo/internal/abi.Method" %1145, ptr %1347, align 8 - %1348 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 23 - store %"github.com/goplus/llgo/internal/abi.Method" %1149, ptr %1348, align 8 - %1349 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 24 - store %"github.com/goplus/llgo/internal/abi.Method" %1319, ptr %1349, align 8 - %1350 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1324, i64 25 - store %"github.com/goplus/llgo/internal/abi.Method" %1323, ptr %1350, align 8 - %1351 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1324, 0 - %1352 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1351, i64 26, 1 - %1353 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1352, i64 26, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %840, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr %959, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1353) + %1302 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %1303 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %1304 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 + %1305 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1304, 1 + %1306 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1305, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).StructType", 2 + %1307 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1306, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).StructType", 3 + %1308 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 + %1309 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1308, 1 + %1310 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1309, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Uncommon", 2 + %1311 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1310, ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Uncommon", 3 + %1312 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 1040) + %1313 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %951, ptr %1313, align 8 + %1314 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %956, ptr %1314, align 8 + %1315 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %960, ptr %1315, align 8 + %1316 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 3 + store %"github.com/goplus/llgo/internal/abi.Method" %965, ptr %1316, align 8 + %1317 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 4 + store %"github.com/goplus/llgo/internal/abi.Method" %970, ptr %1317, align 8 + %1318 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 5 + store %"github.com/goplus/llgo/internal/abi.Method" %974, ptr %1318, align 8 + %1319 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 6 + store %"github.com/goplus/llgo/internal/abi.Method" %979, ptr %1319, align 8 + %1320 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 7 + store %"github.com/goplus/llgo/internal/abi.Method" %983, ptr %1320, align 8 + %1321 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 8 + store %"github.com/goplus/llgo/internal/abi.Method" %987, ptr %1321, align 8 + %1322 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 9 + store %"github.com/goplus/llgo/internal/abi.Method" %991, ptr %1322, align 8 + %1323 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 10 + store %"github.com/goplus/llgo/internal/abi.Method" %995, ptr %1323, align 8 + %1324 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 11 + store %"github.com/goplus/llgo/internal/abi.Method" %999, ptr %1324, align 8 + %1325 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 12 + store %"github.com/goplus/llgo/internal/abi.Method" %1004, ptr %1325, align 8 + %1326 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 13 + store %"github.com/goplus/llgo/internal/abi.Method" %1008, ptr %1326, align 8 + %1327 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 14 + store %"github.com/goplus/llgo/internal/abi.Method" %1012, ptr %1327, align 8 + %1328 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 15 + store %"github.com/goplus/llgo/internal/abi.Method" %1016, ptr %1328, align 8 + %1329 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 16 + store %"github.com/goplus/llgo/internal/abi.Method" %1020, ptr %1329, align 8 + %1330 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 17 + store %"github.com/goplus/llgo/internal/abi.Method" %1100, ptr %1330, align 8 + %1331 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 18 + store %"github.com/goplus/llgo/internal/abi.Method" %1104, ptr %1331, align 8 + %1332 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 19 + store %"github.com/goplus/llgo/internal/abi.Method" %1108, ptr %1332, align 8 + %1333 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 20 + store %"github.com/goplus/llgo/internal/abi.Method" %1112, ptr %1333, align 8 + %1334 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 21 + store %"github.com/goplus/llgo/internal/abi.Method" %1116, ptr %1334, align 8 + %1335 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 22 + store %"github.com/goplus/llgo/internal/abi.Method" %1133, ptr %1335, align 8 + %1336 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 23 + store %"github.com/goplus/llgo/internal/abi.Method" %1137, ptr %1336, align 8 + %1337 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 24 + store %"github.com/goplus/llgo/internal/abi.Method" %1307, ptr %1337, align 8 + %1338 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1312, i64 25 + store %"github.com/goplus/llgo/internal/abi.Method" %1311, ptr %1338, align 8 + %1339 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1312, 0 + %1340 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1339, i64 26, 1 + %1341 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1340, i64 26, 2 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %834, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr %947, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1341) br label %_llgo_110 _llgo_131: ; preds = %_llgo_129 - %1354 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1311) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1354) - store ptr %1354, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %1342 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1299) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1342) + store ptr %1342, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 br label %_llgo_132 _llgo_132: ; preds = %_llgo_131, %_llgo_129 - %1355 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 - %1356 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 - %1357 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %1358 = icmp eq ptr %1357, null - br i1 %1358, label %_llgo_133, label %_llgo_134 + %1343 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %1344 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %1345 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 + %1346 = icmp eq ptr %1345, null + br i1 %1346, label %_llgo_133, label %_llgo_134 _llgo_133: ; preds = %_llgo_132 - %1359 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %1360 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1359, 0 - %1361 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1360, i64 0, 1 - %1362 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1361, i64 0, 2 - %1363 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %1364 = getelementptr ptr, ptr %1363, i64 0 - store ptr %1356, ptr %1364, align 8 - %1365 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1363, 0 - %1366 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1365, i64 1, 1 - %1367 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1366, i64 1, 2 - %1368 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1362, %"github.com/goplus/llgo/internal/runtime.Slice" %1367, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1368) - store ptr %1368, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 + %1347 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %1348 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1347, 0 + %1349 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1348, i64 0, 1 + %1350 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1349, i64 0, 2 + %1351 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %1352 = getelementptr ptr, ptr %1351, i64 0 + store ptr %1344, ptr %1352, align 8 + %1353 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1351, 0 + %1354 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1353, i64 1, 1 + %1355 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1354, i64 1, 2 + %1356 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1350, %"github.com/goplus/llgo/internal/runtime.Slice" %1355, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1356) + store ptr %1356, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 br label %_llgo_134 _llgo_134: ; preds = %_llgo_133, %_llgo_132 - %1369 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %1370 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1369, 1 - %1371 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1370, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).StructType", 2 - %1372 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1371, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).StructType", 3 - %1373 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @81, i64 48 }, i64 25, i64 24, i64 0, i64 2) - %1374 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 - %1375 = icmp eq ptr %1374, null - br i1 %1375, label %_llgo_135, label %_llgo_136 + %1357 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 + %1358 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1357, 1 + %1359 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1358, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).StructType", 2 + %1360 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1359, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).StructType", 3 + %1361 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @81, i64 48 }, i64 25, i64 24, i64 0, i64 2) + %1362 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + %1363 = icmp eq ptr %1362, null + br i1 %1363, label %_llgo_135, label %_llgo_136 _llgo_135: ; preds = %_llgo_134 - store ptr %1373, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + store ptr %1361, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 br label %_llgo_136 _llgo_136: ; preds = %_llgo_135, %_llgo_134 - %1376 = load ptr, ptr @"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI", align 8 - %1377 = icmp eq ptr %1376, null - br i1 %1377, label %_llgo_137, label %_llgo_138 + %1364 = load ptr, ptr @"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI", align 8 + %1365 = icmp eq ptr %1364, null + br i1 %1365, label %_llgo_137, label %_llgo_138 _llgo_137: ; preds = %_llgo_136 - %1378 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %1379 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 8 }, ptr %1378, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1380 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) - %1381 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @82, i64 6 }, ptr %1380, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1382 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) - %1383 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @83, i64 6 }, ptr %1382, i64 18, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1384 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) - %1385 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @84, i64 4 }, ptr %1384, i64 20, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1386 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) - %1387 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1386, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %1379, ptr %1387, align 8 - %1388 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1386, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %1381, ptr %1388, align 8 - %1389 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1386, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %1383, ptr %1389, align 8 - %1390 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1386, i64 3 - store %"github.com/goplus/llgo/internal/abi.StructField" %1385, ptr %1390, align 8 - %1391 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1386, 0 - %1392 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1391, i64 4, 1 - %1393 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1392, i64 4, 2 - %1394 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %1393) - store ptr %1394, ptr @"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI", align 8 + %1366 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %1367 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @46, i64 8 }, ptr %1366, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1368 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) + %1369 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @82, i64 6 }, ptr %1368, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1370 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) + %1371 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @83, i64 6 }, ptr %1370, i64 18, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1372 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) + %1373 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @84, i64 4 }, ptr %1372, i64 20, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1374 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) + %1375 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1374, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %1367, ptr %1375, align 8 + %1376 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1374, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %1369, ptr %1376, align 8 + %1377 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1374, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %1371, ptr %1377, align 8 + %1378 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1374, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %1373, ptr %1378, align 8 + %1379 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1374, 0 + %1380 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1379, i64 4, 1 + %1381 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1380, i64 4, 2 + %1382 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %1381) + store ptr %1382, ptr @"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI", align 8 br label %_llgo_138 _llgo_138: ; preds = %_llgo_137, %_llgo_136 - %1395 = load ptr, ptr @"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI", align 8 - br i1 %1375, label %_llgo_139, label %_llgo_140 + %1383 = load ptr, ptr @"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI", align 8 + br i1 %1363, label %_llgo_139, label %_llgo_140 _llgo_139: ; preds = %_llgo_138 - %1396 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 - %1397 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %1398 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %1397, 1 - %1399 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1398, ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).ExportedMethods", 2 - %1400 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1399, ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).ExportedMethods", 3 - %1401 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 - %1402 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %1403 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @47, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1402, 1 - %1404 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1403, ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).Methods", 2 - %1405 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1404, ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).Methods", 3 - %1406 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) - %1407 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1406, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %1400, ptr %1407, align 8 - %1408 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1406, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %1405, ptr %1408, align 8 - %1409 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1406, 0 - %1410 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1409, i64 2, 1 - %1411 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1410, i64 2, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1373, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @85, i64 12 }, ptr %1395, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1411) + %1384 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %1385 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %1386 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %1385, 1 + %1387 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1386, ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).ExportedMethods", 2 + %1388 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1387, ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).ExportedMethods", 3 + %1389 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %1390 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %1391 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @47, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1390, 1 + %1392 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1391, ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).Methods", 2 + %1393 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1392, ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).Methods", 3 + %1394 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) + %1395 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1394, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %1388, ptr %1395, align 8 + %1396 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1394, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %1393, ptr %1396, align 8 + %1397 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1394, 0 + %1398 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1397, i64 2, 1 + %1399 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1398, i64 2, 2 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1361, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @85, i64 12 }, ptr %1383, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1399) br label %_llgo_140 _llgo_140: ; preds = %_llgo_139, %_llgo_138 - %1412 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 - %1413 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @81, i64 48 }, i64 25, i64 24, i64 0, i64 2) - %1414 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 - %1415 = icmp eq ptr %1414, null - br i1 %1415, label %_llgo_141, label %_llgo_142 + %1400 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + %1401 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @81, i64 48 }, i64 25, i64 24, i64 0, i64 2) + %1402 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + %1403 = icmp eq ptr %1402, null + br i1 %1403, label %_llgo_141, label %_llgo_142 _llgo_141: ; preds = %_llgo_140 - %1416 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1413) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1416) - store ptr %1416, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + %1404 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1401) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1404) + store ptr %1404, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 br label %_llgo_142 _llgo_142: ; preds = %_llgo_141, %_llgo_140 - %1417 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 - %1418 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 - %1419 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %1420 = icmp eq ptr %1419, null - br i1 %1420, label %_llgo_143, label %_llgo_144 + %1405 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + %1406 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + %1407 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 + %1408 = icmp eq ptr %1407, null + br i1 %1408, label %_llgo_143, label %_llgo_144 _llgo_143: ; preds = %_llgo_142 - %1421 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %1422 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1421, 0 - %1423 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1422, i64 0, 1 - %1424 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1423, i64 0, 2 - %1425 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %1426 = getelementptr ptr, ptr %1425, i64 0 - store ptr %1418, ptr %1426, align 8 - %1427 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1425, 0 - %1428 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1427, i64 1, 1 - %1429 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1428, i64 1, 2 - %1430 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1424, %"github.com/goplus/llgo/internal/runtime.Slice" %1429, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1430) - store ptr %1430, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 + %1409 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %1410 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1409, 0 + %1411 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1410, i64 0, 1 + %1412 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1411, i64 0, 2 + %1413 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %1414 = getelementptr ptr, ptr %1413, i64 0 + store ptr %1406, ptr %1414, align 8 + %1415 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1413, 0 + %1416 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1415, i64 1, 1 + %1417 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1416, i64 1, 2 + %1418 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1412, %"github.com/goplus/llgo/internal/runtime.Slice" %1417, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1418) + store ptr %1418, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 br label %_llgo_144 _llgo_144: ; preds = %_llgo_143, %_llgo_142 - %1431 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %1432 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1431, 1 - %1433 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1432, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Uncommon", 2 - %1434 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1433, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Uncommon", 3 - %1435 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 920) - %1436 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %1222, ptr %1436, align 8 - %1437 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %1227, ptr %1437, align 8 - %1438 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %1231, ptr %1438, align 8 - %1439 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 3 - store %"github.com/goplus/llgo/internal/abi.Method" %1236, ptr %1439, align 8 - %1440 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 4 - store %"github.com/goplus/llgo/internal/abi.Method" %1241, ptr %1440, align 8 - %1441 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 5 - store %"github.com/goplus/llgo/internal/abi.Method" %1246, ptr %1441, align 8 - %1442 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 6 - store %"github.com/goplus/llgo/internal/abi.Method" %1250, ptr %1442, align 8 - %1443 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 7 - store %"github.com/goplus/llgo/internal/abi.Method" %1255, ptr %1443, align 8 - %1444 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 8 - store %"github.com/goplus/llgo/internal/abi.Method" %1259, ptr %1444, align 8 - %1445 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 9 - store %"github.com/goplus/llgo/internal/abi.Method" %1263, ptr %1445, align 8 - %1446 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 10 - store %"github.com/goplus/llgo/internal/abi.Method" %1268, ptr %1446, align 8 - %1447 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 11 - store %"github.com/goplus/llgo/internal/abi.Method" %1272, ptr %1447, align 8 - %1448 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 12 - store %"github.com/goplus/llgo/internal/abi.Method" %1276, ptr %1448, align 8 - %1449 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 13 - store %"github.com/goplus/llgo/internal/abi.Method" %1281, ptr %1449, align 8 - %1450 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 14 - store %"github.com/goplus/llgo/internal/abi.Method" %1285, ptr %1450, align 8 - %1451 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 15 - store %"github.com/goplus/llgo/internal/abi.Method" %1289, ptr %1451, align 8 - %1452 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 16 - store %"github.com/goplus/llgo/internal/abi.Method" %1294, ptr %1452, align 8 - %1453 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 17 - store %"github.com/goplus/llgo/internal/abi.Method" %1298, ptr %1453, align 8 - %1454 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 18 - store %"github.com/goplus/llgo/internal/abi.Method" %1302, ptr %1454, align 8 - %1455 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 19 - store %"github.com/goplus/llgo/internal/abi.Method" %1306, ptr %1455, align 8 - %1456 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 20 - store %"github.com/goplus/llgo/internal/abi.Method" %1310, ptr %1456, align 8 - %1457 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 21 - store %"github.com/goplus/llgo/internal/abi.Method" %1372, ptr %1457, align 8 - %1458 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1435, i64 22 - store %"github.com/goplus/llgo/internal/abi.Method" %1434, ptr %1458, align 8 - %1459 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1435, 0 - %1460 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1459, i64 23, 1 - %1461 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1460, i64 23, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1150, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr %1218, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1461) + %1419 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 + %1420 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1419, 1 + %1421 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1420, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Uncommon", 2 + %1422 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1421, ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Uncommon", 3 + %1423 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 920) + %1424 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %1210, ptr %1424, align 8 + %1425 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %1215, ptr %1425, align 8 + %1426 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %1219, ptr %1426, align 8 + %1427 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 3 + store %"github.com/goplus/llgo/internal/abi.Method" %1224, ptr %1427, align 8 + %1428 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 4 + store %"github.com/goplus/llgo/internal/abi.Method" %1229, ptr %1428, align 8 + %1429 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 5 + store %"github.com/goplus/llgo/internal/abi.Method" %1234, ptr %1429, align 8 + %1430 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 6 + store %"github.com/goplus/llgo/internal/abi.Method" %1238, ptr %1430, align 8 + %1431 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 7 + store %"github.com/goplus/llgo/internal/abi.Method" %1243, ptr %1431, align 8 + %1432 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 8 + store %"github.com/goplus/llgo/internal/abi.Method" %1247, ptr %1432, align 8 + %1433 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 9 + store %"github.com/goplus/llgo/internal/abi.Method" %1251, ptr %1433, align 8 + %1434 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 10 + store %"github.com/goplus/llgo/internal/abi.Method" %1256, ptr %1434, align 8 + %1435 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 11 + store %"github.com/goplus/llgo/internal/abi.Method" %1260, ptr %1435, align 8 + %1436 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 12 + store %"github.com/goplus/llgo/internal/abi.Method" %1264, ptr %1436, align 8 + %1437 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 13 + store %"github.com/goplus/llgo/internal/abi.Method" %1269, ptr %1437, align 8 + %1438 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 14 + store %"github.com/goplus/llgo/internal/abi.Method" %1273, ptr %1438, align 8 + %1439 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 15 + store %"github.com/goplus/llgo/internal/abi.Method" %1277, ptr %1439, align 8 + %1440 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 16 + store %"github.com/goplus/llgo/internal/abi.Method" %1282, ptr %1440, align 8 + %1441 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 17 + store %"github.com/goplus/llgo/internal/abi.Method" %1286, ptr %1441, align 8 + %1442 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 18 + store %"github.com/goplus/llgo/internal/abi.Method" %1290, ptr %1442, align 8 + %1443 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 19 + store %"github.com/goplus/llgo/internal/abi.Method" %1294, ptr %1443, align 8 + %1444 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 20 + store %"github.com/goplus/llgo/internal/abi.Method" %1298, ptr %1444, align 8 + %1445 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 21 + store %"github.com/goplus/llgo/internal/abi.Method" %1360, ptr %1445, align 8 + %1446 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1423, i64 22 + store %"github.com/goplus/llgo/internal/abi.Method" %1422, ptr %1446, align 8 + %1447 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1423, 0 + %1448 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1447, i64 23, 1 + %1449 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1448, i64 23, 2 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1138, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr %1206, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1449) br label %_llgo_130 _llgo_145: ; preds = %_llgo_64 - %1462 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %1463 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @40, i64 5 }, ptr %1462, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1464 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %478) - %1465 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @87, i64 5 }, ptr %1464, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1466 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %1467 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @88, i64 4 }, ptr %1466, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1468 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %1469 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @89, i64 4 }, ptr %1468, i64 32, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1470 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) - %1471 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1470, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %1463, ptr %1471, align 8 - %1472 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1470, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %1465, ptr %1472, align 8 - %1473 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1470, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %1467, ptr %1473, align 8 - %1474 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1470, i64 3 - store %"github.com/goplus/llgo/internal/abi.StructField" %1469, ptr %1474, align 8 - %1475 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1470, 0 - %1476 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1475, i64 4, 1 - %1477 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1476, i64 4, 2 - %1478 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 40, %"github.com/goplus/llgo/internal/runtime.Slice" %1477) - store ptr %1478, ptr @"_llgo_struct$SDp3TNnYnxb26MhB1v8VMbmY71BX77YOaY7lgS1cFx0", align 8 + %1450 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %1451 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @40, i64 5 }, ptr %1450, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1452 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %472) + %1453 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @87, i64 5 }, ptr %1452, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1454 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %1455 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @88, i64 4 }, ptr %1454, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1456 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %1457 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @89, i64 4 }, ptr %1456, i64 32, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1458 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) + %1459 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1458, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %1451, ptr %1459, align 8 + %1460 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1458, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %1453, ptr %1460, align 8 + %1461 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1458, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %1455, ptr %1461, align 8 + %1462 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1458, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %1457, ptr %1462, align 8 + %1463 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1458, 0 + %1464 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1463, i64 4, 1 + %1465 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1464, i64 4, 2 + %1466 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 40, %"github.com/goplus/llgo/internal/runtime.Slice" %1465) + store ptr %1466, ptr @"_llgo_struct$SDp3TNnYnxb26MhB1v8VMbmY71BX77YOaY7lgS1cFx0", align 8 br label %_llgo_146 _llgo_146: ; preds = %_llgo_145, %_llgo_64 - %1479 = load ptr, ptr @"_llgo_struct$SDp3TNnYnxb26MhB1v8VMbmY71BX77YOaY7lgS1cFx0", align 8 - br i1 %416, label %_llgo_147, label %_llgo_148 + %1467 = load ptr, ptr @"_llgo_struct$SDp3TNnYnxb26MhB1v8VMbmY71BX77YOaY7lgS1cFx0", align 8 + br i1 %410, label %_llgo_147, label %_llgo_148 _llgo_147: ; preds = %_llgo_146 - %1480 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1481 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @42, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1480, 1 - %1482 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1481, ptr @"github.com/goplus/llgo/internal/abi.(*Method).Exported", 2 - %1483 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1482, ptr @"github.com/goplus/llgo/internal/abi.(*Method).Exported", 3 - %1484 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %1485 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @43, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1484, 1 - %1486 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1485, ptr @"github.com/goplus/llgo/internal/abi.(*Method).Name", 2 - %1487 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1486, ptr @"github.com/goplus/llgo/internal/abi.(*Method).Name", 3 - %1488 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %1489 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @44, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1488, 1 - %1490 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1489, ptr @"github.com/goplus/llgo/internal/abi.(*Method).PkgPath", 2 - %1491 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1490, ptr @"github.com/goplus/llgo/internal/abi.(*Method).PkgPath", 3 - %1492 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 120) - %1493 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1492, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %1483, ptr %1493, align 8 - %1494 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1492, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %1487, ptr %1494, align 8 - %1495 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1492, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %1491, ptr %1495, align 8 - %1496 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1492, 0 - %1497 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1496, i64 3, 1 - %1498 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1497, i64 3, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %414, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @90, i64 6 }, ptr %1479, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1498) + %1468 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1469 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @42, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1468, 1 + %1470 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1469, ptr @"github.com/goplus/llgo/internal/abi.(*Method).Exported", 2 + %1471 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1470, ptr @"github.com/goplus/llgo/internal/abi.(*Method).Exported", 3 + %1472 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %1473 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @43, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1472, 1 + %1474 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1473, ptr @"github.com/goplus/llgo/internal/abi.(*Method).Name", 2 + %1475 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1474, ptr @"github.com/goplus/llgo/internal/abi.(*Method).Name", 3 + %1476 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %1477 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @44, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1476, 1 + %1478 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1477, ptr @"github.com/goplus/llgo/internal/abi.(*Method).PkgPath", 2 + %1479 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1478, ptr @"github.com/goplus/llgo/internal/abi.(*Method).PkgPath", 3 + %1480 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 120) + %1481 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1480, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %1471, ptr %1481, align 8 + %1482 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1480, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %1475, ptr %1482, align 8 + %1483 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1480, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %1479, ptr %1483, align 8 + %1484 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1480, 0 + %1485 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1484, i64 3, 1 + %1486 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1485, i64 3, 2 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %408, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @90, i64 6 }, ptr %1467, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1486) br label %_llgo_148 _llgo_148: ; preds = %_llgo_147, %_llgo_146 - %1499 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 - %1500 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 - %1501 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %1502 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %1501, 1 - %1503 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1502, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ExportedMethods", 2 - %1504 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1503, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ExportedMethods", 3 - %1505 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1506 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1505, 1 - %1507 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1506, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FieldAlign", 2 - %1508 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1507, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FieldAlign", 3 - %1509 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %1510 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %1511 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1510, 1 - %1512 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1511, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FuncType", 2 - %1513 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1512, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FuncType", 3 - %1514 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1515 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1514, 1 - %1516 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1515, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).HasName", 2 - %1517 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1516, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).HasName", 3 - %1518 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1519 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1518, 1 - %1520 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1519, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IfaceIndir", 2 - %1521 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1520, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IfaceIndir", 3 - %1522 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 - %1523 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %1524 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1523, 1 - %1525 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1524, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).InterfaceType", 2 - %1526 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1525, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).InterfaceType", 3 - %1527 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1528 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1527, 1 - %1529 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1528, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IsClosure", 2 - %1530 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1529, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IsClosure", 3 - %1531 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1532 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1531, 1 - %1533 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1532, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IsDirectIface", 2 - %1534 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1533, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IsDirectIface", 3 - %1535 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %1536 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %1537 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %1536, 1 - %1538 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1537, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Key", 2 - %1539 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1538, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Key", 3 - %1540 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %1541 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1540, 1 - %1542 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1541, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Kind", 2 - %1543 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1542, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Kind", 3 - %1544 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 - %1545 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %1546 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1545, 1 - %1547 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1546, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).MapType", 2 - %1548 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1547, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).MapType", 3 - %1549 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1550 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1549, 1 - %1551 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1550, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).NumMethod", 2 - %1552 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1551, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).NumMethod", 3 - %1553 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1554 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1553, 1 - %1555 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1554, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Pointers", 2 - %1556 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1555, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Pointers", 3 - %1557 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %1558 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1557, 1 - %1559 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1558, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Size", 2 - %1560 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1559, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Size", 3 - %1561 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %1562 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1561, 1 - %1563 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1562, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).String", 2 - %1564 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1563, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).String", 3 - %1565 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 - %1566 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %1567 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1566, 1 - %1568 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1567, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).StructType", 2 - %1569 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1568, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).StructType", 3 - %1570 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %1571 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1570, 1 - %1572 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1571, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Uncommon", 2 - %1573 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1572, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Uncommon", 3 - %1574 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 840) - %1575 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %226, ptr %1575, align 8 - %1576 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %373, ptr %1576, align 8 - %1577 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %395, ptr %1577, align 8 - %1578 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 3 - store %"github.com/goplus/llgo/internal/abi.Method" %413, ptr %1578, align 8 - %1579 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 4 - store %"github.com/goplus/llgo/internal/abi.Method" %1504, ptr %1579, align 8 - %1580 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 5 - store %"github.com/goplus/llgo/internal/abi.Method" %1508, ptr %1580, align 8 - %1581 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 6 - store %"github.com/goplus/llgo/internal/abi.Method" %1513, ptr %1581, align 8 - %1582 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 7 - store %"github.com/goplus/llgo/internal/abi.Method" %1517, ptr %1582, align 8 - %1583 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 8 - store %"github.com/goplus/llgo/internal/abi.Method" %1521, ptr %1583, align 8 - %1584 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 9 - store %"github.com/goplus/llgo/internal/abi.Method" %1526, ptr %1584, align 8 - %1585 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 10 - store %"github.com/goplus/llgo/internal/abi.Method" %1530, ptr %1585, align 8 - %1586 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 11 - store %"github.com/goplus/llgo/internal/abi.Method" %1534, ptr %1586, align 8 - %1587 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 12 - store %"github.com/goplus/llgo/internal/abi.Method" %1539, ptr %1587, align 8 - %1588 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 13 - store %"github.com/goplus/llgo/internal/abi.Method" %1543, ptr %1588, align 8 - %1589 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 14 - store %"github.com/goplus/llgo/internal/abi.Method" %1548, ptr %1589, align 8 - %1590 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 15 - store %"github.com/goplus/llgo/internal/abi.Method" %1552, ptr %1590, align 8 - %1591 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 16 - store %"github.com/goplus/llgo/internal/abi.Method" %1556, ptr %1591, align 8 - %1592 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 17 - store %"github.com/goplus/llgo/internal/abi.Method" %1560, ptr %1592, align 8 - %1593 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 18 - store %"github.com/goplus/llgo/internal/abi.Method" %1564, ptr %1593, align 8 - %1594 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 19 - store %"github.com/goplus/llgo/internal/abi.Method" %1569, ptr %1594, align 8 - %1595 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1574, i64 20 - store %"github.com/goplus/llgo/internal/abi.Method" %1573, ptr %1595, align 8 - %1596 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1574, 0 - %1597 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1596, i64 21, 1 - %1598 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1597, i64 21, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %196, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr %222, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1598) + %1487 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %1488 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %1489 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %1490 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @28, i64 15 }, ptr undef, ptr undef, ptr undef }, ptr %1489, 1 + %1491 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1490, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ExportedMethods", 2 + %1492 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1491, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ExportedMethods", 3 + %1493 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %1494 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @33, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1493, 1 + %1495 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1494, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FieldAlign", 2 + %1496 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1495, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FieldAlign", 3 + %1497 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %1498 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 + %1499 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @34, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1498, 1 + %1500 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1499, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FuncType", 2 + %1501 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1500, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FuncType", 3 + %1502 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1503 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @35, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1502, 1 + %1504 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1503, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).HasName", 2 + %1505 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1504, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).HasName", 3 + %1506 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1507 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @36, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1506, 1 + %1508 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1507, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IfaceIndir", 2 + %1509 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1508, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IfaceIndir", 3 + %1510 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %1511 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 + %1512 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @37, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1511, 1 + %1513 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1512, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).InterfaceType", 2 + %1514 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1513, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).InterfaceType", 3 + %1515 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1516 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @48, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1515, 1 + %1517 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1516, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IsClosure", 2 + %1518 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1517, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IsClosure", 3 + %1519 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1520 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @49, i64 13 }, ptr undef, ptr undef, ptr undef }, ptr %1519, 1 + %1521 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1520, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IsDirectIface", 2 + %1522 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1521, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IsDirectIface", 3 + %1523 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %1524 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %1525 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @50, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %1524, 1 + %1526 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1525, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Key", 2 + %1527 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1526, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Key", 3 + %1528 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 + %1529 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @51, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1528, 1 + %1530 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1529, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Kind", 2 + %1531 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1530, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Kind", 3 + %1532 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %1533 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 + %1534 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @54, i64 7 }, ptr undef, ptr undef, ptr undef }, ptr %1533, 1 + %1535 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1534, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).MapType", 2 + %1536 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1535, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).MapType", 3 + %1537 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %1538 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @66, i64 9 }, ptr undef, ptr undef, ptr undef }, ptr %1537, 1 + %1539 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1538, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).NumMethod", 2 + %1540 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1539, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).NumMethod", 3 + %1541 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1542 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @67, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1541, 1 + %1543 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1542, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Pointers", 2 + %1544 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1543, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Pointers", 3 + %1545 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 + %1546 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @69, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %1545, 1 + %1547 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1546, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Size", 2 + %1548 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1547, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Size", 3 + %1549 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %1550 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @53, i64 6 }, ptr undef, ptr undef, ptr undef }, ptr %1549, 1 + %1551 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1550, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).String", 2 + %1552 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1551, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).String", 3 + %1553 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %1554 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 + %1555 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @70, i64 10 }, ptr undef, ptr undef, ptr undef }, ptr %1554, 1 + %1556 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1555, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).StructType", 2 + %1557 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1556, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).StructType", 3 + %1558 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 + %1559 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @80, i64 8 }, ptr undef, ptr undef, ptr undef }, ptr %1558, 1 + %1560 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1559, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Uncommon", 2 + %1561 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %1560, ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Uncommon", 3 + %1562 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 840) + %1563 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %220, ptr %1563, align 8 + %1564 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %367, ptr %1564, align 8 + %1565 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %389, ptr %1565, align 8 + %1566 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 3 + store %"github.com/goplus/llgo/internal/abi.Method" %407, ptr %1566, align 8 + %1567 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 4 + store %"github.com/goplus/llgo/internal/abi.Method" %1492, ptr %1567, align 8 + %1568 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 5 + store %"github.com/goplus/llgo/internal/abi.Method" %1496, ptr %1568, align 8 + %1569 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 6 + store %"github.com/goplus/llgo/internal/abi.Method" %1501, ptr %1569, align 8 + %1570 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 7 + store %"github.com/goplus/llgo/internal/abi.Method" %1505, ptr %1570, align 8 + %1571 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 8 + store %"github.com/goplus/llgo/internal/abi.Method" %1509, ptr %1571, align 8 + %1572 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 9 + store %"github.com/goplus/llgo/internal/abi.Method" %1514, ptr %1572, align 8 + %1573 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 10 + store %"github.com/goplus/llgo/internal/abi.Method" %1518, ptr %1573, align 8 + %1574 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 11 + store %"github.com/goplus/llgo/internal/abi.Method" %1522, ptr %1574, align 8 + %1575 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 12 + store %"github.com/goplus/llgo/internal/abi.Method" %1527, ptr %1575, align 8 + %1576 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 13 + store %"github.com/goplus/llgo/internal/abi.Method" %1531, ptr %1576, align 8 + %1577 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 14 + store %"github.com/goplus/llgo/internal/abi.Method" %1536, ptr %1577, align 8 + %1578 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 15 + store %"github.com/goplus/llgo/internal/abi.Method" %1540, ptr %1578, align 8 + %1579 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 16 + store %"github.com/goplus/llgo/internal/abi.Method" %1544, ptr %1579, align 8 + %1580 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 17 + store %"github.com/goplus/llgo/internal/abi.Method" %1548, ptr %1580, align 8 + %1581 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 18 + store %"github.com/goplus/llgo/internal/abi.Method" %1552, ptr %1581, align 8 + %1582 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 19 + store %"github.com/goplus/llgo/internal/abi.Method" %1557, ptr %1582, align 8 + %1583 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1562, i64 20 + store %"github.com/goplus/llgo/internal/abi.Method" %1561, ptr %1583, align 8 + %1584 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1562, 0 + %1585 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1584, i64 21, 1 + %1586 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1585, i64 21, 2 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %190, %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 35 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @19, i64 9 }, ptr %216, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1586) br label %_llgo_42 _llgo_149: ; preds = %_llgo_32 - %1599 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %174) - store ptr %1599, ptr @"[]_llgo_main.T", align 8 + %1587 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %168) + store ptr %1587, ptr @"[]_llgo_main.T", align 8 br label %_llgo_150 _llgo_150: ; preds = %_llgo_149, %_llgo_32 - %1600 = load ptr, ptr @"[]_llgo_main.T", align 8 - %1601 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 6 }, i64 25, i64 48, i64 0, i64 0) - %1602 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) - %1603 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 6 }, i64 25, i64 48, i64 0, i64 0) - %1604 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1601) - %1605 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @91, i64 1 }, ptr %1604, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1606 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1602) - %1607 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @92, i64 1 }, ptr %1606, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1608 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - %1609 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @93, i64 1 }, ptr %1608, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1610 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %1603) - %1611 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @94, i64 1 }, ptr %1610, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %1612 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) - %1613 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1612, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %1605, ptr %1613, align 8 - %1614 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1612, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %1607, ptr %1614, align 8 - %1615 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1612, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %1609, ptr %1615, align 8 - %1616 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1612, i64 3 - store %"github.com/goplus/llgo/internal/abi.StructField" %1611, ptr %1616, align 8 - %1617 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1612, 0 - %1618 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1617, i64 4, 1 - %1619 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1618, i64 4, 2 - %1620 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 48, %"github.com/goplus/llgo/internal/runtime.Slice" %1619) - store ptr %1620, ptr @"main.struct$FYfyNCnlvkYOztpQWjt-y8D_WY3tpxyt5Qo62CJffTE", align 8 - %1621 = load ptr, ptr @"main.struct$FYfyNCnlvkYOztpQWjt-y8D_WY3tpxyt5Qo62CJffTE", align 8 + %1588 = load ptr, ptr @"[]_llgo_main.T", align 8 + %1589 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 6 }, i64 25, i64 48, i64 0, i64 0) + %1590 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 40 }, i64 25, i64 80, i64 0, i64 23) + %1591 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 6 }, i64 25, i64 48, i64 0, i64 0) + %1592 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1589) + %1593 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @91, i64 1 }, ptr %1592, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1594 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1590) + %1595 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @92, i64 1 }, ptr %1594, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1596 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) + %1597 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @93, i64 1 }, ptr %1596, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1598 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %1591) + %1599 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @94, i64 1 }, ptr %1598, i64 24, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %1600 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) + %1601 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1600, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %1593, ptr %1601, align 8 + %1602 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1600, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %1595, ptr %1602, align 8 + %1603 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1600, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %1597, ptr %1603, align 8 + %1604 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1600, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %1599, ptr %1604, align 8 + %1605 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %1600, 0 + %1606 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1605, i64 4, 1 + %1607 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %1606, i64 4, 2 + %1608 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, i64 48, %"github.com/goplus/llgo/internal/runtime.Slice" %1607) + store ptr %1608, ptr @"main.struct$FYfyNCnlvkYOztpQWjt-y8D_WY3tpxyt5Qo62CJffTE", align 8 + %1609 = load ptr, ptr @"main.struct$FYfyNCnlvkYOztpQWjt-y8D_WY3tpxyt5Qo62CJffTE", align 8 br i1 %2, label %_llgo_151, label %_llgo_152 _llgo_151: ; preds = %_llgo_150 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, %"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @95, i64 1 }, ptr %1621, { 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" { ptr @7, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @95, i64 1 }, ptr %1609, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_152 _llgo_152: ; preds = %_llgo_151, %_llgo_150 diff --git a/cl/_testrt/closureiface/out.ll b/cl/_testrt/closureiface/out.ll index 534a7d3c..4b0a3755 100644 --- a/cl/_testrt/closureiface/out.ll +++ b/cl/_testrt/closureiface/out.ll @@ -9,10 +9,10 @@ source_filename = "main" @"main.init$guard" = global i1 false, align 1 @__llgo_argc = global i32 0, align 4 @__llgo_argv = global ptr null, align 8 -@_llgo_Pointer = linkonce global ptr null, align 8 @_llgo_int = linkonce global ptr null, align 8 -@"_llgo_func$LW7NaHY4krmx4VSCwrrjp23xg526aJ8NlR7kN98tIyE" = linkonce global ptr null, align 8 -@"main.struct$J4GOle3xvLePlAXZSFNKiHRJ-WQyyOMhvl8OQfxW2Q8" = linkonce global ptr null, align 8 +@"_llgo_func$ekGNsrYBSzltfAjxbl6T8H6Yq8j16wzqS3nDj2xxGMU" = linkonce global ptr null, align 8 +@_llgo_Pointer = linkonce global ptr null, align 8 +@"main.struct$0F5MIVpixVnQ6IoIDrJI9hTk70oCWg1odzb2q0E2rJ0" = linkonce global ptr null, align 8 @0 = private unnamed_addr constant [1 x i8] c"f", align 1 @1 = private unnamed_addr constant [4 x i8] c"data", align 1 @2 = private unnamed_addr constant [4 x i8] c"main", align 1 @@ -45,17 +45,17 @@ _llgo_0: %4 = getelementptr inbounds { ptr }, ptr %3, i32 0, i32 0 store ptr %2, ptr %4, align 8 %5 = insertvalue { ptr, ptr } { ptr @"main.main$1", ptr undef }, ptr %3, 1 - %6 = load ptr, ptr @_llgo_Pointer, align 8 - %7 = load ptr, ptr @_llgo_int, align 8 - %8 = load ptr, ptr @"_llgo_func$LW7NaHY4krmx4VSCwrrjp23xg526aJ8NlR7kN98tIyE", align 8 - %9 = load ptr, ptr @"main.struct$J4GOle3xvLePlAXZSFNKiHRJ-WQyyOMhvl8OQfxW2Q8", align 8 + %6 = load ptr, ptr @_llgo_int, align 8 + %7 = load ptr, ptr @"_llgo_func$ekGNsrYBSzltfAjxbl6T8H6Yq8j16wzqS3nDj2xxGMU", align 8 + %8 = load ptr, ptr @_llgo_Pointer, align 8 + %9 = load ptr, ptr @"main.struct$0F5MIVpixVnQ6IoIDrJI9hTk70oCWg1odzb2q0E2rJ0", align 8 call void @"github.com/goplus/llgo/internal/runtime.SetClosure"(ptr %9) %10 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) store { ptr, ptr } %5, ptr %10, align 8 %11 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %9, 0 %12 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %11, ptr %10, 1 %13 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %12, 0 - %14 = load ptr, ptr @"main.struct$J4GOle3xvLePlAXZSFNKiHRJ-WQyyOMhvl8OQfxW2Q8", align 8 + %14 = load ptr, ptr @"main.struct$0F5MIVpixVnQ6IoIDrJI9hTk70oCWg1odzb2q0E2rJ0", align 8 %15 = icmp eq ptr %13, %14 br i1 %15, label %_llgo_3, label %_llgo_4 @@ -110,93 +110,87 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64) define void @"main.init$after"() { _llgo_0: - %0 = load ptr, ptr @_llgo_Pointer, align 8 + %0 = load ptr, ptr @_llgo_int, align 8 %1 = icmp eq ptr %0, null br i1 %1, label %_llgo_1, label %_llgo_2 _llgo_1: ; preds = %_llgo_0 - %2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2) - store ptr %2, ptr @_llgo_Pointer, align 8 + %2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + store ptr %2, ptr @_llgo_int, align 8 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 %3 = load ptr, ptr @_llgo_int, align 8 - %4 = icmp eq ptr %3, null - br i1 %4, label %_llgo_3, label %_llgo_4 + %4 = load ptr, ptr @_llgo_int, align 8 + %5 = load ptr, ptr @"_llgo_func$ekGNsrYBSzltfAjxbl6T8H6Yq8j16wzqS3nDj2xxGMU", align 8 + %6 = icmp eq ptr %5, null + br i1 %6, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 - %5 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - store ptr %5, ptr @_llgo_int, align 8 + %7 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %8 = getelementptr ptr, ptr %7, i64 0 + store ptr %3, ptr %8, align 8 + %9 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %7, 0 + %10 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %9, i64 1, 1 + %11 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %10, i64 1, 2 + %12 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %13 = getelementptr ptr, ptr %12, i64 0 + store ptr %4, ptr %13, align 8 + %14 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %12, 0 + %15 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %14, i64 1, 1 + %16 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %15, i64 1, 2 + %17 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %11, %"github.com/goplus/llgo/internal/runtime.Slice" %16, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %17) + store ptr %17, ptr @"_llgo_func$ekGNsrYBSzltfAjxbl6T8H6Yq8j16wzqS3nDj2xxGMU", align 8 br label %_llgo_4 _llgo_4: ; preds = %_llgo_3, %_llgo_2 - %6 = load ptr, ptr @_llgo_Pointer, align 8 - %7 = load ptr, ptr @_llgo_int, align 8 - %8 = load ptr, ptr @_llgo_int, align 8 - %9 = load ptr, ptr @"_llgo_func$LW7NaHY4krmx4VSCwrrjp23xg526aJ8NlR7kN98tIyE", align 8 - %10 = icmp eq ptr %9, null - br i1 %10, label %_llgo_5, label %_llgo_6 + %18 = load ptr, ptr @_llgo_Pointer, align 8 + %19 = icmp eq ptr %18, null + br i1 %19, label %_llgo_5, label %_llgo_6 _llgo_5: ; preds = %_llgo_4 - %11 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %12 = getelementptr ptr, ptr %11, i64 0 - store ptr %6, ptr %12, align 8 - %13 = getelementptr ptr, ptr %11, i64 1 - store ptr %7, ptr %13, align 8 - %14 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %11, 0 - %15 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %14, i64 2, 1 - %16 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %15, i64 2, 2 - %17 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %18 = getelementptr ptr, ptr %17, i64 0 - store ptr %8, ptr %18, align 8 - %19 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %17, 0 - %20 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %19, i64 1, 1 - %21 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %20, i64 1, 2 - %22 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %16, %"github.com/goplus/llgo/internal/runtime.Slice" %21, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %22) - store ptr %22, ptr @"_llgo_func$LW7NaHY4krmx4VSCwrrjp23xg526aJ8NlR7kN98tIyE", align 8 + %20 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %20) + store ptr %20, ptr @_llgo_Pointer, align 8 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %23 = load ptr, ptr @_llgo_Pointer, align 8 - %24 = load ptr, ptr @_llgo_int, align 8 - %25 = load ptr, ptr @_llgo_int, align 8 - %26 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %27 = getelementptr ptr, ptr %26, i64 0 - store ptr %23, ptr %27, align 8 - %28 = getelementptr ptr, ptr %26, i64 1 - store ptr %24, ptr %28, align 8 - %29 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %26, 0 - %30 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %29, i64 2, 1 - %31 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %30, i64 2, 2 - %32 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %33 = getelementptr ptr, ptr %32, i64 0 - store ptr %25, ptr %33, align 8 - %34 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %32, 0 - %35 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %34, i64 1, 1 - %36 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %35, i64 1, 2 - %37 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %31, %"github.com/goplus/llgo/internal/runtime.Slice" %36, i1 false) - %38 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 1 }, ptr %37, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %39 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %40 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, ptr %39, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %41 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %42 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %41, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %38, ptr %42, align 8 - %43 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %41, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %40, ptr %43, align 8 - %44 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %41, 0 - %45 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %44, i64 2, 1 - %46 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %45, i64 2, 2 - %47 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %46) - store ptr %47, ptr @"main.struct$J4GOle3xvLePlAXZSFNKiHRJ-WQyyOMhvl8OQfxW2Q8", align 8 - %48 = load ptr, ptr @_llgo_string, align 8 - %49 = icmp eq ptr %48, null - br i1 %49, label %_llgo_7, label %_llgo_8 + %21 = load ptr, ptr @_llgo_int, align 8 + %22 = load ptr, ptr @_llgo_int, align 8 + %23 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %24 = getelementptr ptr, ptr %23, i64 0 + store ptr %21, ptr %24, align 8 + %25 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %23, 0 + %26 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %25, i64 1, 1 + %27 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %26, i64 1, 2 + %28 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %29 = getelementptr ptr, ptr %28, i64 0 + store ptr %22, ptr %29, align 8 + %30 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %28, 0 + %31 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %30, i64 1, 1 + %32 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %31, i64 1, 2 + %33 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %27, %"github.com/goplus/llgo/internal/runtime.Slice" %32, i1 false) + %34 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 1 }, ptr %33, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %35 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %36 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, ptr %35, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %37 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %38 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %37, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %34, ptr %38, align 8 + %39 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %37, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %36, ptr %39, align 8 + %40 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %37, 0 + %41 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %40, i64 2, 1 + %42 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %41, i64 2, 2 + %43 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %42) + store ptr %43, ptr @"main.struct$0F5MIVpixVnQ6IoIDrJI9hTk70oCWg1odzb2q0E2rJ0", align 8 + %44 = load ptr, ptr @_llgo_string, align 8 + %45 = icmp eq ptr %44, null + br i1 %45, label %_llgo_7, label %_llgo_8 _llgo_7: ; preds = %_llgo_6 - %50 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - store ptr %50, ptr @_llgo_string, align 8 + %46 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + store ptr %46, ptr @_llgo_string, align 8 br label %_llgo_8 _llgo_8: ; preds = %_llgo_7, %_llgo_6 @@ -205,10 +199,10 @@ _llgo_8: ; preds = %_llgo_7, %_llgo_6 declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64) -declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr) - declare ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice", i1) +declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr) + declare ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String", i64, %"github.com/goplus/llgo/internal/runtime.Slice") declare %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String", ptr, i64, %"github.com/goplus/llgo/internal/runtime.String", i1) diff --git a/cl/_testrt/eface/out.ll b/cl/_testrt/eface/out.ll index d373c983..90904c81 100644 --- a/cl/_testrt/eface/out.ll +++ b/cl/_testrt/eface/out.ll @@ -30,9 +30,9 @@ source_filename = "main" @_llgo_float32 = linkonce global ptr null, align 8 @_llgo_float64 = linkonce global ptr null, align 8 @"[10]_llgo_int" = linkonce global ptr null, align 8 +@"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac" = linkonce global ptr null, align 8 @_llgo_Pointer = linkonce global ptr null, align 8 -@"_llgo_func$CqBkokmWG3Ia8PBDErMKLrnXwWQ3khfTBm7VXk_2y30" = linkonce global ptr null, align 8 -@"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o" = linkonce global ptr null, align 8 +@"main.struct$MYJJzV_XnHHne2yABOrxrKaJAnHA7CUbHXWeamxO-48" = linkonce global ptr null, align 8 @3 = private unnamed_addr constant [1 x i8] c"f", align 1 @4 = private unnamed_addr constant [4 x i8] c"data", align 1 @5 = private unnamed_addr constant [4 x i8] c"main", align 1 @@ -237,9 +237,9 @@ _llgo_0: %46 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %44, 0 %47 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %46, ptr %45, 1 call void @main.dump(%"github.com/goplus/llgo/internal/runtime.eface" %47) - %48 = load ptr, ptr @_llgo_Pointer, align 8 - %49 = load ptr, ptr @"_llgo_func$CqBkokmWG3Ia8PBDErMKLrnXwWQ3khfTBm7VXk_2y30", align 8 - %50 = load ptr, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 + %48 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %49 = load ptr, ptr @_llgo_Pointer, align 8 + %50 = load ptr, ptr @"main.struct$MYJJzV_XnHHne2yABOrxrKaJAnHA7CUbHXWeamxO-48", align 8 call void @"github.com/goplus/llgo/internal/runtime.SetClosure"(ptr %50) %51 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) store { ptr, ptr } { ptr @"__llgo_stub.main.main$1", ptr null }, ptr %51, align 8 @@ -461,115 +461,109 @@ _llgo_29: ; preds = %_llgo_28 br label %_llgo_30 _llgo_30: ; preds = %_llgo_29, %_llgo_28 - %46 = load ptr, ptr @_llgo_Pointer, align 8 + %46 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 %47 = icmp eq ptr %46, null br i1 %47, label %_llgo_31, label %_llgo_32 _llgo_31: ; preds = %_llgo_30 - %48 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %48) - store ptr %48, ptr @_llgo_Pointer, align 8 + %48 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %49 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %48, 0 + %50 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %49, i64 0, 1 + %51 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %50, i64 0, 2 + %52 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %53 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %52, 0 + %54 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %53, i64 0, 1 + %55 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %54, i64 0, 2 + %56 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %51, %"github.com/goplus/llgo/internal/runtime.Slice" %55, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %56) + store ptr %56, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 br label %_llgo_32 _llgo_32: ; preds = %_llgo_31, %_llgo_30 - %49 = load ptr, ptr @_llgo_Pointer, align 8 - %50 = load ptr, ptr @"_llgo_func$CqBkokmWG3Ia8PBDErMKLrnXwWQ3khfTBm7VXk_2y30", align 8 - %51 = icmp eq ptr %50, null - br i1 %51, label %_llgo_33, label %_llgo_34 + %57 = load ptr, ptr @_llgo_Pointer, align 8 + %58 = icmp eq ptr %57, null + br i1 %58, label %_llgo_33, label %_llgo_34 _llgo_33: ; preds = %_llgo_32 - %52 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %53 = getelementptr ptr, ptr %52, i64 0 - store ptr %49, ptr %53, align 8 - %54 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %52, 0 - %55 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %54, i64 1, 1 - %56 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %55, i64 1, 2 - %57 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %58 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %57, 0 - %59 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %58, i64 0, 1 - %60 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %59, i64 0, 2 - %61 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %56, %"github.com/goplus/llgo/internal/runtime.Slice" %60, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %61) - store ptr %61, ptr @"_llgo_func$CqBkokmWG3Ia8PBDErMKLrnXwWQ3khfTBm7VXk_2y30", align 8 + %59 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %59) + store ptr %59, ptr @_llgo_Pointer, align 8 br label %_llgo_34 _llgo_34: ; preds = %_llgo_33, %_llgo_32 - %62 = load ptr, ptr @_llgo_Pointer, align 8 - %63 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %64 = getelementptr ptr, ptr %63, i64 0 - store ptr %62, ptr %64, align 8 - %65 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %63, 0 - %66 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %65, i64 1, 1 - %67 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %66, i64 1, 2 - %68 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %69 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %68, 0 - %70 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %69, i64 0, 1 - %71 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %70, i64 0, 2 - %72 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %67, %"github.com/goplus/llgo/internal/runtime.Slice" %71, i1 false) - %73 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 1 }, ptr %72, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %74 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %75 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, ptr %74, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %76 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %77 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %76, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %73, ptr %77, align 8 - %78 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %76, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %75, ptr %78, align 8 - %79 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %76, 0 - %80 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %79, i64 2, 1 - %81 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %80, i64 2, 2 - %82 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %81) - store ptr %82, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 - %83 = load ptr, ptr @"*_llgo_int", align 8 - %84 = icmp eq ptr %83, null - br i1 %84, label %_llgo_35, label %_llgo_36 + %60 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %61 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %60, 0 + %62 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %61, i64 0, 1 + %63 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %62, i64 0, 2 + %64 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %65 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %64, 0 + %66 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %65, i64 0, 1 + %67 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %66, i64 0, 2 + %68 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %63, %"github.com/goplus/llgo/internal/runtime.Slice" %67, i1 false) + %69 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 1 }, ptr %68, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %70 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %71 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, ptr %70, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %72 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %73 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %72, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %69, ptr %73, align 8 + %74 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %72, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %71, ptr %74, align 8 + %75 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %72, 0 + %76 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %75, i64 2, 1 + %77 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %76, i64 2, 2 + %78 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %77) + store ptr %78, ptr @"main.struct$MYJJzV_XnHHne2yABOrxrKaJAnHA7CUbHXWeamxO-48", align 8 + %79 = load ptr, ptr @"*_llgo_int", align 8 + %80 = icmp eq ptr %79, null + br i1 %80, label %_llgo_35, label %_llgo_36 _llgo_35: ; preds = %_llgo_34 - %85 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %86 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %85) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %86) - store ptr %86, ptr @"*_llgo_int", align 8 + %81 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %82 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %81) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %82) + store ptr %82, ptr @"*_llgo_int", align 8 br label %_llgo_36 _llgo_36: ; preds = %_llgo_35, %_llgo_34 - %87 = load ptr, ptr @"[]_llgo_int", align 8 - %88 = icmp eq ptr %87, null - br i1 %88, label %_llgo_37, label %_llgo_38 + %83 = load ptr, ptr @"[]_llgo_int", align 8 + %84 = icmp eq ptr %83, null + br i1 %84, label %_llgo_37, label %_llgo_38 _llgo_37: ; preds = %_llgo_36 - %89 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %90 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %89) - store ptr %90, ptr @"[]_llgo_int", align 8 + %85 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %86 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %85) + store ptr %86, ptr @"[]_llgo_int", align 8 br label %_llgo_38 _llgo_38: ; preds = %_llgo_37, %_llgo_36 - %91 = load ptr, ptr @_llgo_string, align 8 - %92 = icmp eq ptr %91, null - br i1 %92, label %_llgo_39, label %_llgo_40 + %87 = load ptr, ptr @_llgo_string, align 8 + %88 = icmp eq ptr %87, null + br i1 %88, label %_llgo_39, label %_llgo_40 _llgo_39: ; preds = %_llgo_38 - %93 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - store ptr %93, ptr @_llgo_string, align 8 + %89 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + store ptr %89, ptr @_llgo_string, align 8 br label %_llgo_40 _llgo_40: ; preds = %_llgo_39, %_llgo_38 - %94 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35) - %95 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 1 }, ptr %94, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %96 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %97 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 1 }, ptr %96, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %98 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %99 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, ptr %98, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %100 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) - %101 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %100, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %95, ptr %101, align 8 - %102 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %100, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %97, ptr %102, align 8 - %103 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %100, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %99, ptr %103, align 8 - %104 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %100, 0 - %105 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %104, i64 3, 1 - %106 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %105, i64 3, 2 - %107 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 4 }, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %106) - store ptr %107, ptr @"main.struct$RKbUG45GE4henGMAdmt0Rju0JptyR8NsX7IZLsOI0OM", align 8 + %90 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35) + %91 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 1 }, ptr %90, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %92 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %93 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 1 }, ptr %92, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %94 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %95 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, ptr %94, i64 16, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %96 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) + %97 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %96, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %91, ptr %97, align 8 + %98 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %96, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %93, ptr %98, align 8 + %99 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %96, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %95, ptr %99, align 8 + %100 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %96, 0 + %101 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %100, i64 3, 1 + %102 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %101, i64 3, 2 + %103 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 4 }, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %102) + store ptr %103, ptr @"main.struct$RKbUG45GE4henGMAdmt0Rju0JptyR8NsX7IZLsOI0OM", align 8 ret void } @@ -585,10 +579,10 @@ _llgo_0: ret void } -declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr) - declare ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice", i1) +declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr) + declare ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String", i64, %"github.com/goplus/llgo/internal/runtime.Slice") declare %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String", ptr, i64, %"github.com/goplus/llgo/internal/runtime.String", i1) diff --git a/cl/_testrt/funcdecl/out.ll b/cl/_testrt/funcdecl/out.ll index fe0edb16..175bd55f 100644 --- a/cl/_testrt/funcdecl/out.ll +++ b/cl/_testrt/funcdecl/out.ll @@ -8,9 +8,9 @@ source_filename = "main" %"github.com/goplus/llgo/internal/abi.StructField" = type { %"github.com/goplus/llgo/internal/runtime.String", ptr, i64, %"github.com/goplus/llgo/internal/runtime.String", i1 } @"main.init$guard" = global i1 false, align 1 +@"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac" = linkonce global ptr null, align 8 @_llgo_Pointer = linkonce global ptr null, align 8 -@"_llgo_func$CqBkokmWG3Ia8PBDErMKLrnXwWQ3khfTBm7VXk_2y30" = linkonce global ptr null, align 8 -@"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o" = linkonce global ptr null, align 8 +@"main.struct$MYJJzV_XnHHne2yABOrxrKaJAnHA7CUbHXWeamxO-48" = linkonce global ptr null, align 8 @0 = private unnamed_addr constant [1 x i8] c"f", align 1 @1 = private unnamed_addr constant [4 x i8] c"data", align 1 @2 = private unnamed_addr constant [4 x i8] c"main", align 1 @@ -23,22 +23,22 @@ source_filename = "main" define void @main.check({ ptr, ptr } %0) { _llgo_0: - %1 = load ptr, ptr @_llgo_Pointer, align 8 - %2 = load ptr, ptr @"_llgo_func$CqBkokmWG3Ia8PBDErMKLrnXwWQ3khfTBm7VXk_2y30", align 8 - %3 = load ptr, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 + %1 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %2 = load ptr, ptr @_llgo_Pointer, align 8 + %3 = load ptr, ptr @"main.struct$MYJJzV_XnHHne2yABOrxrKaJAnHA7CUbHXWeamxO-48", align 8 call void @"github.com/goplus/llgo/internal/runtime.SetClosure"(ptr %3) %4 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) store { ptr, ptr } { ptr @__llgo_stub.main.demo, ptr null }, ptr %4, align 8 %5 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %3, 0 %6 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %5, ptr %4, 1 - %7 = load ptr, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 + %7 = load ptr, ptr @"main.struct$MYJJzV_XnHHne2yABOrxrKaJAnHA7CUbHXWeamxO-48", align 8 call void @"github.com/goplus/llgo/internal/runtime.SetClosure"(ptr %7) %8 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) store { ptr, ptr } %0, ptr %8, align 8 %9 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %7, 0 %10 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %9, ptr %8, 1 %11 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %6, 0 - %12 = load ptr, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 + %12 = load ptr, ptr @"main.struct$MYJJzV_XnHHne2yABOrxrKaJAnHA7CUbHXWeamxO-48", align 8 %13 = icmp eq ptr %11, %12 br i1 %13, label %_llgo_1, label %_llgo_2 @@ -46,7 +46,7 @@ _llgo_1: ; preds = %_llgo_0 %14 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %6, 1 %15 = load { ptr, ptr }, ptr %14, align 8 %16 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %10, 0 - %17 = load ptr, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 + %17 = load ptr, ptr @"main.struct$MYJJzV_XnHHne2yABOrxrKaJAnHA7CUbHXWeamxO-48", align 8 %18 = icmp eq ptr %16, %17 br i1 %18, label %_llgo_3, label %_llgo_4 @@ -146,85 +146,79 @@ _llgo_0: define void @"main.init$after"() { _llgo_0: - %0 = load ptr, ptr @_llgo_Pointer, align 8 + %0 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 %1 = icmp eq ptr %0, null br i1 %1, label %_llgo_1, label %_llgo_2 _llgo_1: ; preds = %_llgo_0 - %2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2) - store ptr %2, ptr @_llgo_Pointer, align 8 + %2 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %3 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %2, 0 + %4 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %3, i64 0, 1 + %5 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %4, i64 0, 2 + %6 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %7 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %6, 0 + %8 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %7, i64 0, 1 + %9 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %8, i64 0, 2 + %10 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %5, %"github.com/goplus/llgo/internal/runtime.Slice" %9, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %10) + store ptr %10, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 - %3 = load ptr, ptr @_llgo_Pointer, align 8 - %4 = load ptr, ptr @"_llgo_func$CqBkokmWG3Ia8PBDErMKLrnXwWQ3khfTBm7VXk_2y30", align 8 - %5 = icmp eq ptr %4, null - br i1 %5, label %_llgo_3, label %_llgo_4 + %11 = load ptr, ptr @_llgo_Pointer, align 8 + %12 = icmp eq ptr %11, null + br i1 %12, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 - %6 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %7 = getelementptr ptr, ptr %6, i64 0 - store ptr %3, ptr %7, align 8 - %8 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %6, 0 - %9 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %8, i64 1, 1 - %10 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %9, i64 1, 2 - %11 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %12 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %11, 0 - %13 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %12, i64 0, 1 - %14 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %13, i64 0, 2 - %15 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %10, %"github.com/goplus/llgo/internal/runtime.Slice" %14, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %15) - store ptr %15, ptr @"_llgo_func$CqBkokmWG3Ia8PBDErMKLrnXwWQ3khfTBm7VXk_2y30", align 8 + %13 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %13) + store ptr %13, ptr @_llgo_Pointer, align 8 br label %_llgo_4 _llgo_4: ; preds = %_llgo_3, %_llgo_2 - %16 = load ptr, ptr @_llgo_Pointer, align 8 - %17 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %18 = getelementptr ptr, ptr %17, i64 0 - store ptr %16, ptr %18, align 8 - %19 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %17, 0 - %20 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %19, i64 1, 1 - %21 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %20, i64 1, 2 - %22 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %23 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %22, 0 - %24 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %23, i64 0, 1 - %25 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %24, i64 0, 2 - %26 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %21, %"github.com/goplus/llgo/internal/runtime.Slice" %25, i1 false) - %27 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 1 }, ptr %26, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %28 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %29 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, ptr %28, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %30 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %31 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %30, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %27, ptr %31, align 8 - %32 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %30, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %29, ptr %32, align 8 - %33 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %30, 0 - %34 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %33, i64 2, 1 - %35 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %34, i64 2, 2 - %36 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %35) - store ptr %36, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 - %37 = load ptr, ptr @_llgo_string, align 8 - %38 = icmp eq ptr %37, null - br i1 %38, label %_llgo_5, label %_llgo_6 + %14 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %15 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %14, 0 + %16 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %15, i64 0, 1 + %17 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %16, i64 0, 2 + %18 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %19 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %18, 0 + %20 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %19, i64 0, 1 + %21 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %20, i64 0, 2 + %22 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %17, %"github.com/goplus/llgo/internal/runtime.Slice" %21, i1 false) + %23 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @0, i64 1 }, ptr %22, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %24 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %25 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 4 }, ptr %24, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %26 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %27 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %26, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %23, ptr %27, align 8 + %28 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %26, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %25, ptr %28, align 8 + %29 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %26, 0 + %30 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %29, i64 2, 1 + %31 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %30, i64 2, 2 + %32 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %31) + store ptr %32, ptr @"main.struct$MYJJzV_XnHHne2yABOrxrKaJAnHA7CUbHXWeamxO-48", align 8 + %33 = load ptr, ptr @_llgo_string, align 8 + %34 = icmp eq ptr %33, null + br i1 %34, label %_llgo_5, label %_llgo_6 _llgo_5: ; preds = %_llgo_4 - %39 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - store ptr %39, ptr @_llgo_string, align 8 + %35 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + store ptr %35, ptr @_llgo_string, align 8 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 ret void } -declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64) - -declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr) - declare ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice", i1) declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64) +declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr) + +declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64) + declare ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String", i64, %"github.com/goplus/llgo/internal/runtime.Slice") declare %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String", ptr, i64, %"github.com/goplus/llgo/internal/runtime.String", i1) diff --git a/cl/_testrt/tpmethod/out.ll b/cl/_testrt/tpmethod/out.ll index ede360bd..7a6887b0 100644 --- a/cl/_testrt/tpmethod/out.ll +++ b/cl/_testrt/tpmethod/out.ll @@ -16,7 +16,6 @@ source_filename = "main" @0 = private unnamed_addr constant [7 x i8] c"foo.txt", align 1 @"_llgo_main.future[main.Tuple[error]]" = linkonce global ptr null, align 8 @1 = private unnamed_addr constant [30 x i8] c"main.future[main.Tuple[error]]", align 1 -@_llgo_Pointer = linkonce global ptr null, align 8 @"_llgo_main.Tuple[error]" = linkonce global ptr null, align 8 @2 = private unnamed_addr constant [17 x i8] c"main.Tuple[error]", align 1 @_llgo_error = linkonce global ptr null, align 8 @@ -30,19 +29,19 @@ source_filename = "main" @7 = private unnamed_addr constant [3 x i8] c"Get", align 1 @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w" = linkonce global ptr null, align 8 @8 = private unnamed_addr constant [12 x i8] c"Tuple[error]", align 1 -@"_llgo_func$-0z_KAFZTayiATHsoRweDLyk3Y_08iRGccLVoNDb2Q4" = linkonce global ptr null, align 8 -@"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY" = linkonce global ptr null, align 8 +@"_llgo_func$1BeCdGdxwWG-Dtl1HbNuSy2_sb8rBMTmu7zhcPPofmU" = linkonce global ptr null, align 8 +@_llgo_Pointer = linkonce global ptr null, align 8 +@"main.struct$rDvDk5u0SueGnrMxDz_wBrplEFUjtXshBCEyKeM6edc" = linkonce global ptr null, align 8 @9 = private unnamed_addr constant [1 x i8] c"f", align 1 @10 = private unnamed_addr constant [4 x i8] c"data", align 1 -@"_llgo_func$8wjokNeb8lp2A2m-DoWHb8GZbqJJXaBuxj8bfRgBwsw" = linkonce global ptr null, align 8 -@"main.struct$ti_L8YygAzqrdADYjADo-CrIBPIrzAe7WUDQrPhGsLk" = linkonce global ptr null, align 8 -@"main.struct$ovoVIslEZIUrMi_-W6orVCU5A_Y8gqTBvvvJEMlWdJY" = linkonce global ptr null, align 8 +@"_llgo_func$80MkNg5FlG-QIrR0qzHGiPc77AqvdbJflSWOeG5LcUY" = linkonce global ptr null, align 8 +@"main.struct$mxZtxt4nClm7R35-Ksu7sUaZcPWf2mnqwCsrqo4qOB8" = linkonce global ptr null, align 8 +@"main.struct$LaXSfCbp9zvBYWtLq2i0GtWrY5UrmS8NmXCVxsyY920" = linkonce global ptr null, align 8 @11 = private unnamed_addr constant [2 x i8] c"fn", align 1 @12 = private unnamed_addr constant [4 x i8] c"Then", align 1 -@"_llgo_func$C0YAnS54eM5TTOK79-PISU_oLySCvOtTKOpIh9jI2pM" = linkonce global ptr null, align 8 @13 = private unnamed_addr constant [25 x i8] c"future[main.Tuple[error]]", align 1 @"*_llgo_main.future[main.Tuple[error]]" = linkonce global ptr null, align 8 -@"_llgo_iface$Nwf494fPwMWb08Ae8NF-s-Tau0AFb_mdl0sjJX-pbHw" = linkonce global ptr null, align 8 +@"_llgo_iface$siNiE0pGpvdoyzPUhSP4dREmGht9v7Axb0C9hezIyDM" = linkonce global ptr null, align 8 define %"github.com/goplus/llgo/internal/runtime.iface" @main.ReadFile(%"github.com/goplus/llgo/internal/runtime.String" %0) { _llgo_0: @@ -138,10 +137,10 @@ _llgo_0: store { ptr, ptr } %0, ptr %2, align 8 %3 = load ptr, ptr @"_llgo_main.future[main.Tuple[error]]", align 8 %4 = load ptr, ptr @"*_llgo_main.future[main.Tuple[error]]", align 8 - %5 = load ptr, ptr @"_llgo_func$-0z_KAFZTayiATHsoRweDLyk3Y_08iRGccLVoNDb2Q4", align 8 - %6 = load ptr, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 - %7 = load ptr, ptr @"_llgo_func$C0YAnS54eM5TTOK79-PISU_oLySCvOtTKOpIh9jI2pM", align 8 - %8 = load ptr, ptr @"_llgo_iface$Nwf494fPwMWb08Ae8NF-s-Tau0AFb_mdl0sjJX-pbHw", align 8 + %5 = load ptr, ptr @"_llgo_func$1BeCdGdxwWG-Dtl1HbNuSy2_sb8rBMTmu7zhcPPofmU", align 8 + %6 = load ptr, ptr @"main.struct$rDvDk5u0SueGnrMxDz_wBrplEFUjtXshBCEyKeM6edc", align 8 + %7 = load ptr, ptr @"_llgo_func$80MkNg5FlG-QIrR0qzHGiPc77AqvdbJflSWOeG5LcUY", align 8 + %8 = load ptr, ptr @"_llgo_iface$siNiE0pGpvdoyzPUhSP4dREmGht9v7Axb0C9hezIyDM", align 8 %9 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %8, ptr %4) %10 = insertvalue %"github.com/goplus/llgo/internal/runtime.iface" undef, ptr %9, 0 %11 = insertvalue %"github.com/goplus/llgo/internal/runtime.iface" %10, ptr %1, 1 @@ -177,352 +176,315 @@ define void @"main.init$after"() { _llgo_0: %0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 30 }, i64 25, i64 24, i64 0, i64 1) store ptr %0, ptr @"_llgo_main.future[main.Tuple[error]]", align 8 - %1 = load ptr, ptr @_llgo_Pointer, align 8 - %2 = icmp eq ptr %1, null - br i1 %2, label %_llgo_1, label %_llgo_2 + %1 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 17 }, i64 25, i64 16, i64 1, i64 1) + %2 = load ptr, ptr @"_llgo_main.Tuple[error]", align 8 + %3 = icmp eq ptr %2, null + br i1 %3, label %_llgo_1, label %_llgo_2 _llgo_1: ; preds = %_llgo_0 - %3 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %3) - store ptr %3, ptr @_llgo_Pointer, align 8 + store ptr %1, ptr @"_llgo_main.Tuple[error]", align 8 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 - %4 = load ptr, ptr @_llgo_Pointer, align 8 - %5 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 17 }, i64 25, i64 16, i64 1, i64 1) - %6 = load ptr, ptr @"_llgo_main.Tuple[error]", align 8 - %7 = icmp eq ptr %6, null - br i1 %7, label %_llgo_3, label %_llgo_4 + %4 = load ptr, ptr @_llgo_string, align 8 + %5 = icmp eq ptr %4, null + br i1 %5, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 - store ptr %5, ptr @"_llgo_main.Tuple[error]", align 8 + %6 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + store ptr %6, ptr @_llgo_string, align 8 br label %_llgo_4 _llgo_4: ; preds = %_llgo_3, %_llgo_2 + %7 = load ptr, ptr @_llgo_string, align 8 %8 = load ptr, ptr @_llgo_string, align 8 - %9 = icmp eq ptr %8, null - br i1 %9, label %_llgo_5, label %_llgo_6 + %9 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %10 = icmp eq ptr %9, null + br i1 %10, label %_llgo_5, label %_llgo_6 _llgo_5: ; preds = %_llgo_4 - %10 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - store ptr %10, ptr @_llgo_string, align 8 + %11 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %12 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %11, 0 + %13 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %12, i64 0, 1 + %14 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %13, i64 0, 2 + %15 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %16 = getelementptr ptr, ptr %15, i64 0 + store ptr %8, ptr %16, align 8 + %17 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %15, 0 + %18 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %17, i64 1, 1 + %19 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %18, i64 1, 2 + %20 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %14, %"github.com/goplus/llgo/internal/runtime.Slice" %19, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %20) + store ptr %20, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %11 = load ptr, ptr @_llgo_string, align 8 - %12 = load ptr, ptr @_llgo_string, align 8 - %13 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %14 = icmp eq ptr %13, null - br i1 %14, label %_llgo_7, label %_llgo_8 + %21 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %22 = load ptr, ptr @_llgo_error, align 8 + %23 = icmp eq ptr %22, null + br i1 %23, label %_llgo_7, label %_llgo_8 _llgo_7: ; preds = %_llgo_6 - %15 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %16 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %15, 0 - %17 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %16, i64 0, 1 - %18 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %17, i64 0, 2 - %19 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %20 = getelementptr ptr, ptr %19, i64 0 - store ptr %12, ptr %20, align 8 - %21 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %19, 0 - %22 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %21, i64 1, 1 - %23 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %22, i64 1, 2 - %24 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %18, %"github.com/goplus/llgo/internal/runtime.Slice" %23, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %24) - store ptr %24, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %24 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 5 }, ptr undef }, ptr %21, 1 + %25 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %26 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %25, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %24, ptr %26, align 8 + %27 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %25, 0 + %28 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %27, i64 1, 1 + %29 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %28, i64 1, 2 + %30 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 5 }, %"github.com/goplus/llgo/internal/runtime.Slice" %29) + store ptr %30, ptr @_llgo_error, align 8 br label %_llgo_8 _llgo_8: ; preds = %_llgo_7, %_llgo_6 - %25 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %26 = load ptr, ptr @_llgo_error, align 8 - %27 = icmp eq ptr %26, null - br i1 %27, label %_llgo_9, label %_llgo_10 + %31 = load ptr, ptr @_llgo_error, align 8 + %32 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %33 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 5 }, ptr undef }, ptr %32, 1 + %34 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %35 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %34, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %33, ptr %35, align 8 + %36 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %34, 0 + %37 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %36, i64 1, 1 + %38 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %37, i64 1, 2 + %39 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 5 }, %"github.com/goplus/llgo/internal/runtime.Slice" %38) + %40 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 1 }, ptr %39, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %41 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) + %42 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %41, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %40, ptr %42, align 8 + %43 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %41, 0 + %44 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %43, i64 1, 1 + %45 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %44, i64 1, 2 + %46 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %45) + store ptr %46, ptr @"main.struct$ddtj0teo4LtYcagzh1w6BsSZ7226uefXlqreeHsfVRo", align 8 + %47 = load ptr, ptr @"main.struct$ddtj0teo4LtYcagzh1w6BsSZ7226uefXlqreeHsfVRo", align 8 + br i1 %3, label %_llgo_9, label %_llgo_10 _llgo_9: ; preds = %_llgo_8 - %28 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 5 }, ptr undef }, ptr %25, 1 - %29 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %30 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %29, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %28, ptr %30, align 8 - %31 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %29, 0 - %32 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %31, i64 1, 1 - %33 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %32, i64 1, 2 - %34 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 5 }, %"github.com/goplus/llgo/internal/runtime.Slice" %33) - store ptr %34, ptr @_llgo_error, align 8 - br label %_llgo_10 + %48 = load ptr, ptr @_llgo_error, align 8 + %49 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 + %50 = icmp eq ptr %49, null + br i1 %50, label %_llgo_11, label %_llgo_12 -_llgo_10: ; preds = %_llgo_9, %_llgo_8 - %35 = load ptr, ptr @_llgo_error, align 8 - %36 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %37 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 5 }, ptr undef }, ptr %36, 1 - %38 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %39 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %38, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %37, ptr %39, align 8 - %40 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %38, 0 - %41 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %40, i64 1, 1 - %42 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %41, i64 1, 2 - %43 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @5, i64 5 }, %"github.com/goplus/llgo/internal/runtime.Slice" %42) - %44 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @6, i64 1 }, ptr %43, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %45 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) - %46 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %45, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %44, ptr %46, align 8 - %47 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %45, 0 - %48 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %47, i64 1, 1 - %49 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %48, i64 1, 2 - %50 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %49) - store ptr %50, ptr @"main.struct$ddtj0teo4LtYcagzh1w6BsSZ7226uefXlqreeHsfVRo", align 8 - %51 = load ptr, ptr @"main.struct$ddtj0teo4LtYcagzh1w6BsSZ7226uefXlqreeHsfVRo", align 8 - br i1 %7, label %_llgo_11, label %_llgo_12 - -_llgo_11: ; preds = %_llgo_10 - %52 = load ptr, ptr @_llgo_error, align 8 - %53 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 +_llgo_10: ; preds = %_llgo_12, %_llgo_8 + %51 = load ptr, ptr @"_llgo_main.Tuple[error]", align 8 + %52 = load ptr, ptr @"_llgo_main.Tuple[error]", align 8 + %53 = load ptr, ptr @"_llgo_func$1BeCdGdxwWG-Dtl1HbNuSy2_sb8rBMTmu7zhcPPofmU", align 8 %54 = icmp eq ptr %53, null br i1 %54, label %_llgo_13, label %_llgo_14 -_llgo_12: ; preds = %_llgo_14, %_llgo_10 - %55 = load ptr, ptr @"_llgo_main.Tuple[error]", align 8 - %56 = load ptr, ptr @_llgo_Pointer, align 8 - %57 = load ptr, ptr @"_llgo_main.Tuple[error]", align 8 - %58 = load ptr, ptr @"_llgo_func$-0z_KAFZTayiATHsoRweDLyk3Y_08iRGccLVoNDb2Q4", align 8 - %59 = icmp eq ptr %58, null - br i1 %59, label %_llgo_15, label %_llgo_16 +_llgo_11: ; preds = %_llgo_9 + %55 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %56 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %55, 0 + %57 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %56, i64 0, 1 + %58 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %57, i64 0, 2 + %59 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %60 = getelementptr ptr, ptr %59, i64 0 + store ptr %48, ptr %60, align 8 + %61 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %59, 0 + %62 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %61, i64 1, 1 + %63 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %62, i64 1, 2 + %64 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %58, %"github.com/goplus/llgo/internal/runtime.Slice" %63, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %64) + store ptr %64, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 + br label %_llgo_12 -_llgo_13: ; preds = %_llgo_11 - %60 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %61 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %60, 0 - %62 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %61, i64 0, 1 - %63 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %62, i64 0, 2 - %64 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %65 = getelementptr ptr, ptr %64, i64 0 - store ptr %52, ptr %65, align 8 - %66 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %64, 0 - %67 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %66, i64 1, 1 - %68 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %67, i64 1, 2 - %69 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %63, %"github.com/goplus/llgo/internal/runtime.Slice" %68, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %69) - store ptr %69, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 - br label %_llgo_14 - -_llgo_14: ; preds = %_llgo_13, %_llgo_11 - %70 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 - %71 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %70, 1 - %72 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %71, ptr @"main.(*Tuple[error]).Get", 2 - %73 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %72, ptr @"main.(*Tuple[error]).Get", 3 - %74 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %70, 1 - %75 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %74, ptr @"main.(*Tuple[error]).Get", 2 - %76 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %75, ptr @"main.Tuple[error].Get", 3 +_llgo_12: ; preds = %_llgo_11, %_llgo_9 + %65 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 + %66 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %65, 1 + %67 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %66, ptr @"main.(*Tuple[error]).Get", 2 + %68 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %67, ptr @"main.(*Tuple[error]).Get", 3 + %69 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @7, i64 3 }, ptr undef, ptr undef, ptr undef }, ptr %65, 1 + %70 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %69, ptr @"main.(*Tuple[error]).Get", 2 + %71 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %70, ptr @"main.Tuple[error].Get", 3 + %72 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %73 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %72, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %71, ptr %73, align 8 + %74 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %72, 0 + %75 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %74, i64 1, 1 + %76 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %75, i64 1, 2 %77 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) %78 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %77, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %76, ptr %78, align 8 + store %"github.com/goplus/llgo/internal/abi.Method" %68, ptr %78, align 8 %79 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %77, 0 %80 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %79, i64 1, 1 %81 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %80, i64 1, 2 - %82 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %83 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %82, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %73, ptr %83, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 12 }, ptr %47, %"github.com/goplus/llgo/internal/runtime.Slice" %76, %"github.com/goplus/llgo/internal/runtime.Slice" %81) + br label %_llgo_10 + +_llgo_13: ; preds = %_llgo_10 + %82 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %83 = getelementptr ptr, ptr %82, i64 0 + store ptr %52, ptr %83, align 8 %84 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %82, 0 %85 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %84, i64 1, 1 %86 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %85, i64 1, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %5, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @8, i64 12 }, ptr %51, %"github.com/goplus/llgo/internal/runtime.Slice" %81, %"github.com/goplus/llgo/internal/runtime.Slice" %86) - br label %_llgo_12 + %87 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %88 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %87, 0 + %89 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %88, i64 0, 1 + %90 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %89, i64 0, 2 + %91 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %86, %"github.com/goplus/llgo/internal/runtime.Slice" %90, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %91) + store ptr %91, ptr @"_llgo_func$1BeCdGdxwWG-Dtl1HbNuSy2_sb8rBMTmu7zhcPPofmU", align 8 + br label %_llgo_14 -_llgo_15: ; preds = %_llgo_12 - %87 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %88 = getelementptr ptr, ptr %87, i64 0 - store ptr %56, ptr %88, align 8 - %89 = getelementptr ptr, ptr %87, i64 1 - store ptr %57, ptr %89, align 8 - %90 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %87, 0 - %91 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %90, i64 2, 1 - %92 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %91, i64 2, 2 - %93 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %94 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %93, 0 - %95 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %94, i64 0, 1 - %96 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %95, i64 0, 2 - %97 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %92, %"github.com/goplus/llgo/internal/runtime.Slice" %96, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %97) - store ptr %97, ptr @"_llgo_func$-0z_KAFZTayiATHsoRweDLyk3Y_08iRGccLVoNDb2Q4", align 8 +_llgo_14: ; preds = %_llgo_13, %_llgo_10 + %92 = load ptr, ptr @"_llgo_func$1BeCdGdxwWG-Dtl1HbNuSy2_sb8rBMTmu7zhcPPofmU", align 8 + %93 = load ptr, ptr @_llgo_Pointer, align 8 + %94 = icmp eq ptr %93, null + br i1 %94, label %_llgo_15, label %_llgo_16 + +_llgo_15: ; preds = %_llgo_14 + %95 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %95) + store ptr %95, ptr @_llgo_Pointer, align 8 br label %_llgo_16 -_llgo_16: ; preds = %_llgo_15, %_llgo_12 - %98 = load ptr, ptr @"_llgo_func$-0z_KAFZTayiATHsoRweDLyk3Y_08iRGccLVoNDb2Q4", align 8 - %99 = load ptr, ptr @_llgo_Pointer, align 8 - %100 = load ptr, ptr @"_llgo_main.Tuple[error]", align 8 - %101 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %102 = getelementptr ptr, ptr %101, i64 0 - store ptr %99, ptr %102, align 8 - %103 = getelementptr ptr, ptr %101, i64 1 - store ptr %100, ptr %103, align 8 - %104 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %101, 0 - %105 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %104, i64 2, 1 - %106 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %105, i64 2, 2 - %107 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %108 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %107, 0 - %109 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %108, i64 0, 1 - %110 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %109, i64 0, 2 - %111 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %106, %"github.com/goplus/llgo/internal/runtime.Slice" %110, i1 false) - %112 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, ptr %111, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %113 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %114 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, ptr %113, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %115 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %116 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %115, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %112, ptr %116, align 8 - %117 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %115, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %114, ptr %117, align 8 - %118 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %115, 0 - %119 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %118, i64 2, 1 - %120 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %119, i64 2, 2 - %121 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %120) - store ptr %121, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 - %122 = load ptr, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 - %123 = load ptr, ptr @_llgo_Pointer, align 8 - %124 = load ptr, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 - %125 = load ptr, ptr @"_llgo_func$8wjokNeb8lp2A2m-DoWHb8GZbqJJXaBuxj8bfRgBwsw", align 8 - %126 = icmp eq ptr %125, null - br i1 %126, label %_llgo_17, label %_llgo_18 +_llgo_16: ; preds = %_llgo_15, %_llgo_14 + %96 = load ptr, ptr @_llgo_Pointer, align 8 + %97 = load ptr, ptr @"_llgo_main.Tuple[error]", align 8 + %98 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %99 = getelementptr ptr, ptr %98, i64 0 + store ptr %97, ptr %99, align 8 + %100 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %98, 0 + %101 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %100, i64 1, 1 + %102 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %101, i64 1, 2 + %103 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %104 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %103, 0 + %105 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %104, i64 0, 1 + %106 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %105, i64 0, 2 + %107 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %102, %"github.com/goplus/llgo/internal/runtime.Slice" %106, i1 false) + %108 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, ptr %107, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %109 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %110 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, ptr %109, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %111 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %112 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %111, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %108, ptr %112, align 8 + %113 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %111, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %110, ptr %113, align 8 + %114 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %111, 0 + %115 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %114, i64 2, 1 + %116 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %115, i64 2, 2 + %117 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %116) + store ptr %117, ptr @"main.struct$rDvDk5u0SueGnrMxDz_wBrplEFUjtXshBCEyKeM6edc", align 8 + %118 = load ptr, ptr @"main.struct$rDvDk5u0SueGnrMxDz_wBrplEFUjtXshBCEyKeM6edc", align 8 + %119 = load ptr, ptr @"main.struct$rDvDk5u0SueGnrMxDz_wBrplEFUjtXshBCEyKeM6edc", align 8 + %120 = load ptr, ptr @"_llgo_func$80MkNg5FlG-QIrR0qzHGiPc77AqvdbJflSWOeG5LcUY", align 8 + %121 = icmp eq ptr %120, null + br i1 %121, label %_llgo_17, label %_llgo_18 _llgo_17: ; preds = %_llgo_16 - %127 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %128 = getelementptr ptr, ptr %127, i64 0 - store ptr %123, ptr %128, align 8 - %129 = getelementptr ptr, ptr %127, i64 1 - store ptr %124, ptr %129, align 8 - %130 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %127, 0 - %131 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %130, i64 2, 1 - %132 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %131, i64 2, 2 - %133 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %134 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %133, 0 - %135 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %134, i64 0, 1 - %136 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %135, i64 0, 2 - %137 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %132, %"github.com/goplus/llgo/internal/runtime.Slice" %136, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %137) - store ptr %137, ptr @"_llgo_func$8wjokNeb8lp2A2m-DoWHb8GZbqJJXaBuxj8bfRgBwsw", align 8 + %122 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %123 = getelementptr ptr, ptr %122, i64 0 + store ptr %119, ptr %123, align 8 + %124 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %122, 0 + %125 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %124, i64 1, 1 + %126 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %125, i64 1, 2 + %127 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %128 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %127, 0 + %129 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %128, i64 0, 1 + %130 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %129, i64 0, 2 + %131 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %126, %"github.com/goplus/llgo/internal/runtime.Slice" %130, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %131) + store ptr %131, ptr @"_llgo_func$80MkNg5FlG-QIrR0qzHGiPc77AqvdbJflSWOeG5LcUY", align 8 br label %_llgo_18 _llgo_18: ; preds = %_llgo_17, %_llgo_16 - %138 = load ptr, ptr @"_llgo_func$8wjokNeb8lp2A2m-DoWHb8GZbqJJXaBuxj8bfRgBwsw", align 8 - %139 = load ptr, ptr @_llgo_Pointer, align 8 - %140 = load ptr, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 - %141 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %142 = getelementptr ptr, ptr %141, i64 0 - store ptr %139, ptr %142, align 8 - %143 = getelementptr ptr, ptr %141, i64 1 - store ptr %140, ptr %143, align 8 - %144 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %141, 0 - %145 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %144, i64 2, 1 - %146 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %145, i64 2, 2 - %147 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %148 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %147, 0 - %149 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %148, i64 0, 1 - %150 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %149, i64 0, 2 - %151 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %146, %"github.com/goplus/llgo/internal/runtime.Slice" %150, i1 false) - %152 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, ptr %151, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %153 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %154 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, ptr %153, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %155 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %156 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %155, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %152, ptr %156, align 8 - %157 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %155, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %154, ptr %157, align 8 - %158 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %155, 0 - %159 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %158, i64 2, 1 - %160 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %159, i64 2, 2 - %161 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %160) - store ptr %161, ptr @"main.struct$ti_L8YygAzqrdADYjADo-CrIBPIrzAe7WUDQrPhGsLk", align 8 - %162 = load ptr, ptr @"main.struct$ti_L8YygAzqrdADYjADo-CrIBPIrzAe7WUDQrPhGsLk", align 8 - %163 = load ptr, ptr @_llgo_Pointer, align 8 - %164 = load ptr, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 - %165 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %166 = getelementptr ptr, ptr %165, i64 0 - store ptr %163, ptr %166, align 8 - %167 = getelementptr ptr, ptr %165, i64 1 - store ptr %164, ptr %167, align 8 - %168 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %165, 0 - %169 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %168, i64 2, 1 - %170 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %169, i64 2, 2 - %171 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %172 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %171, 0 - %173 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %172, i64 0, 1 - %174 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %173, i64 0, 2 - %175 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %170, %"github.com/goplus/llgo/internal/runtime.Slice" %174, i1 false) - %176 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, ptr %175, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %177 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %178 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, ptr %177, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %179 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %180 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %179, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %176, ptr %180, align 8 - %181 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %179, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %178, ptr %181, align 8 - %182 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %179, 0 - %183 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %182, i64 2, 1 - %184 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %183, i64 2, 2 - %185 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %184) - %186 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 2 }, ptr %185, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) - %187 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) - %188 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %187, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %186, ptr %188, align 8 - %189 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %187, 0 - %190 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %189, i64 1, 1 - %191 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %190, i64 1, 2 - %192 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %191) - store ptr %192, ptr @"main.struct$ovoVIslEZIUrMi_-W6orVCU5A_Y8gqTBvvvJEMlWdJY", align 8 - %193 = load ptr, ptr @"main.struct$ovoVIslEZIUrMi_-W6orVCU5A_Y8gqTBvvvJEMlWdJY", align 8 - %194 = load ptr, ptr @"_llgo_func$-0z_KAFZTayiATHsoRweDLyk3Y_08iRGccLVoNDb2Q4", align 8 - %195 = load ptr, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 - %196 = load ptr, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 - %197 = load ptr, ptr @"_llgo_func$C0YAnS54eM5TTOK79-PISU_oLySCvOtTKOpIh9jI2pM", align 8 - %198 = icmp eq ptr %197, null - br i1 %198, label %_llgo_19, label %_llgo_20 + %132 = load ptr, ptr @"_llgo_func$80MkNg5FlG-QIrR0qzHGiPc77AqvdbJflSWOeG5LcUY", align 8 + %133 = load ptr, ptr @"main.struct$rDvDk5u0SueGnrMxDz_wBrplEFUjtXshBCEyKeM6edc", align 8 + %134 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %135 = getelementptr ptr, ptr %134, i64 0 + store ptr %133, ptr %135, align 8 + %136 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %134, 0 + %137 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %136, i64 1, 1 + %138 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %137, i64 1, 2 + %139 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %140 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %139, 0 + %141 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %140, i64 0, 1 + %142 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %141, i64 0, 2 + %143 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %138, %"github.com/goplus/llgo/internal/runtime.Slice" %142, i1 false) + %144 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, ptr %143, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %145 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %146 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, ptr %145, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %147 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %148 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %147, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %144, ptr %148, align 8 + %149 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %147, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %146, ptr %149, align 8 + %150 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %147, 0 + %151 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %150, i64 2, 1 + %152 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %151, i64 2, 2 + %153 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %152) + store ptr %153, ptr @"main.struct$mxZtxt4nClm7R35-Ksu7sUaZcPWf2mnqwCsrqo4qOB8", align 8 + %154 = load ptr, ptr @"main.struct$mxZtxt4nClm7R35-Ksu7sUaZcPWf2mnqwCsrqo4qOB8", align 8 + %155 = load ptr, ptr @"main.struct$rDvDk5u0SueGnrMxDz_wBrplEFUjtXshBCEyKeM6edc", align 8 + %156 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %157 = getelementptr ptr, ptr %156, i64 0 + store ptr %155, ptr %157, align 8 + %158 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %156, 0 + %159 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %158, i64 1, 1 + %160 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %159, i64 1, 2 + %161 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %162 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %161, 0 + %163 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %162, i64 0, 1 + %164 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %163, i64 0, 2 + %165 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %160, %"github.com/goplus/llgo/internal/runtime.Slice" %164, i1 false) + %166 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @9, i64 1 }, ptr %165, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %167 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %168 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @10, i64 4 }, ptr %167, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %169 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %170 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %169, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %166, ptr %170, align 8 + %171 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %169, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %168, ptr %171, align 8 + %172 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %169, 0 + %173 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %172, i64 2, 1 + %174 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %173, i64 2, 2 + %175 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %174) + %176 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @11, i64 2 }, ptr %175, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %177 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) + %178 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %177, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %176, ptr %178, align 8 + %179 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %177, 0 + %180 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %179, i64 1, 1 + %181 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %180, i64 1, 2 + %182 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %181) + store ptr %182, ptr @"main.struct$LaXSfCbp9zvBYWtLq2i0GtWrY5UrmS8NmXCVxsyY920", align 8 + %183 = load ptr, ptr @"main.struct$LaXSfCbp9zvBYWtLq2i0GtWrY5UrmS8NmXCVxsyY920", align 8 + %184 = load ptr, ptr @"_llgo_func$1BeCdGdxwWG-Dtl1HbNuSy2_sb8rBMTmu7zhcPPofmU", align 8 + %185 = load ptr, ptr @"main.struct$rDvDk5u0SueGnrMxDz_wBrplEFUjtXshBCEyKeM6edc", align 8 + %186 = load ptr, ptr @"_llgo_func$80MkNg5FlG-QIrR0qzHGiPc77AqvdbJflSWOeG5LcUY", align 8 + %187 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %186, 1 + %188 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %187, ptr @"main.(*future[main.Tuple[error]]).Then", 2 + %189 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %188, ptr @"main.(*future[main.Tuple[error]]).Then", 3 + %190 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %191 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %190, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %189, ptr %191, align 8 + %192 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %190, 0 + %193 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %192, i64 1, 1 + %194 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %193, i64 1, 2 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 25 }, ptr %183, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %194) + %195 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 30 }, i64 25, i64 24, i64 0, i64 1) + %196 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %195) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %196) + store ptr %196, ptr @"*_llgo_main.future[main.Tuple[error]]", align 8 + %197 = load ptr, ptr @"_llgo_func$80MkNg5FlG-QIrR0qzHGiPc77AqvdbJflSWOeG5LcUY", align 8 + %198 = load ptr, ptr @"_llgo_iface$siNiE0pGpvdoyzPUhSP4dREmGht9v7Axb0C9hezIyDM", align 8 + %199 = icmp eq ptr %198, null + br i1 %199, label %_llgo_19, label %_llgo_20 _llgo_19: ; preds = %_llgo_18 - %199 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %200 = getelementptr ptr, ptr %199, i64 0 - store ptr %196, ptr %200, align 8 - %201 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %199, 0 - %202 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %201, i64 1, 1 - %203 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %202, i64 1, 2 - %204 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %205 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %204, 0 - %206 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %205, i64 0, 1 - %207 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %206, i64 0, 2 - %208 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %203, %"github.com/goplus/llgo/internal/runtime.Slice" %207, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %208) - store ptr %208, ptr @"_llgo_func$C0YAnS54eM5TTOK79-PISU_oLySCvOtTKOpIh9jI2pM", align 8 + %200 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 4 }, ptr undef }, ptr %197, 1 + %201 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %202 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %201, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %200, ptr %202, align 8 + %203 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %201, 0 + %204 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %203, i64 1, 1 + %205 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %204, i64 1, 2 + %206 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %205) + store ptr %206, ptr @"_llgo_iface$siNiE0pGpvdoyzPUhSP4dREmGht9v7Axb0C9hezIyDM", align 8 br label %_llgo_20 _llgo_20: ; preds = %_llgo_19, %_llgo_18 - %209 = load ptr, ptr @"_llgo_func$C0YAnS54eM5TTOK79-PISU_oLySCvOtTKOpIh9jI2pM", align 8 - %210 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 4 }, ptr undef, ptr undef, ptr undef }, ptr %209, 1 - %211 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %210, ptr @"main.(*future[main.Tuple[error]]).Then", 2 - %212 = insertvalue %"github.com/goplus/llgo/internal/abi.Method" %211, ptr @"main.(*future[main.Tuple[error]]).Then", 3 - %213 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %214 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %213, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %212, ptr %214, align 8 - %215 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %213, 0 - %216 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %215, i64 1, 1 - %217 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %216, i64 1, 2 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %0, %"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" { ptr @13, i64 25 }, ptr %193, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %217) - %218 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 30 }, i64 25, i64 24, i64 0, i64 1) - %219 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %218) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %219) - store ptr %219, ptr @"*_llgo_main.future[main.Tuple[error]]", align 8 - %220 = load ptr, ptr @"_llgo_func$C0YAnS54eM5TTOK79-PISU_oLySCvOtTKOpIh9jI2pM", align 8 - %221 = load ptr, ptr @"_llgo_iface$Nwf494fPwMWb08Ae8NF-s-Tau0AFb_mdl0sjJX-pbHw", align 8 - %222 = icmp eq ptr %221, null - br i1 %222, label %_llgo_21, label %_llgo_22 - -_llgo_21: ; preds = %_llgo_20 - %223 = insertvalue %"github.com/goplus/llgo/internal/abi.Imethod" { %"github.com/goplus/llgo/internal/runtime.String" { ptr @12, i64 4 }, ptr undef }, ptr %220, 1 - %224 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %225 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %224, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %223, ptr %225, align 8 - %226 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %224, 0 - %227 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %226, i64 1, 1 - %228 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %227, i64 1, 2 - %229 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @4, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %228) - store ptr %229, ptr @"_llgo_iface$Nwf494fPwMWb08Ae8NF-s-Tau0AFb_mdl0sjJX-pbHw", align 8 - br label %_llgo_22 - -_llgo_22: ; preds = %_llgo_21, %_llgo_20 ret void } @@ -530,12 +492,12 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/gop declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64) -declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr) - declare ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice", i1) declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64) +declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr) + declare ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.Slice") declare ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String", i64, %"github.com/goplus/llgo/internal/runtime.Slice") diff --git a/internal/lib/reflect/makefunc.go b/internal/lib/reflect/makefunc.go index ac27c725..7cf19b17 100644 --- a/internal/lib/reflect/makefunc.go +++ b/internal/lib/reflect/makefunc.go @@ -128,9 +128,8 @@ func makeMethodValue(op string, v Value) Value { rcvr := Value{v.typ(), v.ptr, fl} // v.Type returns the actual type of the method value. - ftyp := *(*funcType)(unsafe.Pointer(v.Type().(*rtype))) + ftyp := (*funcType)(unsafe.Pointer(v.Type().(*rtype))) ptyp := rtypeOf(unsafe.Pointer(uintptr(0))) - ftyp.In = append([]*abi.Type{ptyp}, ftyp.In...) typ := runtime.Struct("", 2*unsafe.Sizeof(0), abi.StructField{ Name_: "llgo_ctx", Typ: &ftyp.Type, diff --git a/internal/lib/reflect/type.go b/internal/lib/reflect/type.go index e049266e..d2b8168f 100644 --- a/internal/lib/reflect/type.go +++ b/internal/lib/reflect/type.go @@ -1009,8 +1009,7 @@ func TypeOf(i any) Type { eface := *(*emptyInterface)(unsafe.Pointer(&i)) // closure type if eface.typ.IsClosure() { - ft := *eface.typ.StructType().Fields[0].Typ.FuncType() - ft.In = ft.In[1:] + ft := eface.typ.StructType().Fields[0].Typ.FuncType() return toType(&ft.Type) } // Noescape so this doesn't make i to escape. See the comment diff --git a/internal/lib/reflect/value.go b/internal/lib/reflect/value.go index 9df478ca..44f37261 100644 --- a/internal/lib/reflect/value.go +++ b/internal/lib/reflect/value.go @@ -2140,13 +2140,12 @@ func toFFISig(tin, tout []*abi.Type) (*ffi.Signature, error) { } func (v Value) closureFunc() *abi.FuncType { - ft := *v.typ_.StructType().Fields[0].Typ.FuncType() - ft.In = ft.In[1:] - return &ft + return v.typ_.StructType().Fields[0].Typ.FuncType() } func (v Value) call(op string, in []Value) (out []Value) { var ( + ft *abi.FuncType tin []*abi.Type tout []*abi.Type args []unsafe.Pointer @@ -2155,8 +2154,8 @@ func (v Value) call(op string, in []Value) (out []Value) { ioff int ) if v.typ_.IsClosure() { - ft := v.typ_.StructType().Fields[0].Typ.FuncType() - tin = ft.In + ft = v.typ_.StructType().Fields[0].Typ.FuncType() + tin = append([]*abi.Type{rtypeOf(unsafe.Pointer(nil))}, ft.In...) tout = ft.Out c := (*struct { fn unsafe.Pointer @@ -2169,7 +2168,6 @@ func (v Value) call(op string, in []Value) (out []Value) { if v.flag&flagMethod != 0 { var ( rcvrtype *abi.Type - ft *abi.FuncType ) rcvrtype, ft, fn = methodReceiver(op, v, int(v.flag)>>flagMethodShift) tin = append([]*abi.Type{rcvrtype}, ft.In...) @@ -2186,11 +2184,71 @@ func (v Value) call(op string, in []Value) (out []Value) { } else { fn = v.ptr } - ft := v.typ_.FuncType() + ft = v.typ_.FuncType() tin = ft.In tout = ft.Out } } + + isSlice := op == "CallSlice" + n := len(ft.In) + isVariadic := ft.Variadic() + if isSlice { + if !isVariadic { + panic("reflect: CallSlice of non-variadic function") + } + if len(in) < n { + panic("reflect: CallSlice with too few input arguments") + } + if len(in) > n { + panic("reflect: CallSlice with too many input arguments") + } + } else { + if isVariadic { + n-- + } + if len(in) < n { + panic("reflect: Call with too few input arguments") + } + if !isVariadic && len(in) > n { + panic("reflect: Call with too many input arguments") + } + } + for _, x := range in { + if x.Kind() == Invalid { + panic("reflect: " + op + " using zero Value argument") + } + } + // TODO AssignableTo + // for i := 0; i < n; i++ { + // if xt, targ := in[i].Type(), ft.In(i); !xt.AssignableTo(toRType(targ)) { + // panic("reflect: " + op + " using " + xt.String() + " as type " + stringFor(targ)) + // } + // } + if !isSlice && isVariadic { + // prepare slice for remaining values + m := len(in) - n + slice := MakeSlice(toRType(ft.In[n]), m, m) + // elem := toRType(ft.In[n]).Elem() // FIXME cast to slice type and Elem() + for i := 0; i < m; i++ { + x := in[n+i] + // TODO AssignableTo + // if xt := x.Type(); !xt.AssignableTo(elem) { + // panic("reflect: cannot use " + xt.String() + " as type " + elem.String() + " in " + op) + // } + slice.Index(i).Set(x) + } + origIn := in + in = make([]Value, n+1) + copy(in[:n], origIn) + in[n] = slice + } + + nin := len(in) + if nin != len(ft.In) { + panic("reflect.Value.Call: wrong argument count") + } + sig, err := toFFISig(tin, tout) if err != nil { panic(err) @@ -2559,3 +2617,23 @@ func chanlen(ch unsafe.Pointer) int //go:linkname maplen github.com/goplus/llgo/internal/runtime.MapLen func maplen(ch unsafe.Pointer) int + +// MakeSlice creates a new zero-initialized slice value +// for the specified slice type, length, and capacity. +func MakeSlice(typ Type, len, cap int) Value { + if typ.Kind() != Slice { + panic("reflect.MakeSlice of non-slice type") + } + if len < 0 { + panic("reflect.MakeSlice: negative len") + } + if cap < 0 { + panic("reflect.MakeSlice: negative cap") + } + if len > cap { + panic("reflect.MakeSlice: len > cap") + } + + s := unsafeheaderSlice{Data: unsafe_NewArray(&(typ.Elem().(*rtype).t), cap), Len: len, Cap: cap} + return Value{&typ.(*rtype).t, unsafe.Pointer(&s), flagIndir | flag(Slice)} +} diff --git a/ssa/expr.go b/ssa/expr.go index c476eec5..f8fa7365 100644 --- a/ssa/expr.go +++ b/ssa/expr.go @@ -1005,7 +1005,8 @@ func (b Builder) Call(fn Expr, args ...Expr) (ret Expr) { case vkClosure: data = b.Field(fn, 1) fn = b.Field(fn, 0) - raw = fn.raw.Type + ctx := types.NewParam(token.NoPos, nil, closureCtx, types.Typ[types.UnsafePointer]) + raw = FuncAddCtx(ctx, fn.raw.Type.(*types.Signature)) fallthrough case vkFuncPtr: sig = raw.Underlying().(*types.Signature) diff --git a/ssa/type_cvt.go b/ssa/type_cvt.go index 1f7a5141..240027fa 100644 --- a/ssa/type_cvt.go +++ b/ssa/type_cvt.go @@ -174,8 +174,7 @@ func Instantiate(orig types.Type, t *types.Named) (types.Type, bool) { } func (p goTypes) cvtClosure(sig *types.Signature) *types.Struct { - ctx := types.NewParam(token.NoPos, nil, closureCtx, types.Typ[types.UnsafePointer]) - raw := p.cvtFunc(sig, ctx) + raw := p.cvtFunc(sig, nil) flds := []*types.Var{ types.NewField(token.NoPos, nil, "f", raw, false), types.NewField(token.NoPos, nil, "data", types.Typ[types.UnsafePointer], false), From c2138037d2b398e42b69353646130d324e5bf791 Mon Sep 17 00:00:00 2001 From: visualfc Date: Tue, 26 Nov 2024 09:50:40 +0800 Subject: [PATCH 3/4] internal/lib/reflect: call variadic check --- cl/_testgo/reflect/in.go | 20 ++ cl/_testgo/reflect/out.ll | 364 ++++++++++++++++++++++++++++++++++ internal/abi/type.go | 2 +- internal/lib/reflect/type.go | 102 +--------- internal/lib/reflect/value.go | 30 ++- 5 files changed, 407 insertions(+), 111 deletions(-) diff --git a/cl/_testgo/reflect/in.go b/cl/_testgo/reflect/in.go index 72c2b7d7..8d520649 100644 --- a/cl/_testgo/reflect/in.go +++ b/cl/_testgo/reflect/in.go @@ -6,12 +6,32 @@ import ( ) func main() { + callSlice() callFunc() callClosure() callMethod() callIMethod() } +func demo(n1, n2, n3, n4, n5, n6, n7, n8, n9 int, a ...interface{}) (int, int) { + var sum int + for _, v := range a { + sum += v.(int) + } + return n1 + n2 + n3 + n4 + n5 + n6 + n7 + n8 + n9, sum +} + +func callSlice() { + v := reflect.ValueOf(demo) + n := reflect.ValueOf(1) + r := v.Call([]reflect.Value{n, n, n, n, n, n, n, n, n, + reflect.ValueOf(1), reflect.ValueOf(2), reflect.ValueOf(3)}) + println("call.slice", r[0].Int(), r[1].Int()) + r = v.CallSlice([]reflect.Value{n, n, n, n, n, n, n, n, n, + reflect.ValueOf([]interface{}{1, 2, 3})}) + println("call.slice", r[0].Int(), r[1].Int()) +} + func callFunc() { var f any = func(n int) int { println("call.func") diff --git a/cl/_testgo/reflect/out.ll b/cl/_testgo/reflect/out.ll index 73e8cc86..4982e4f3 100644 --- a/cl/_testgo/reflect/out.ll +++ b/cl/_testgo/reflect/out.ll @@ -36,6 +36,12 @@ source_filename = "main" @"_llgo_iface$VdBKYV8-gcMjZtZfcf-u2oKoj9Lu3VXwuG8TGCW2S4A" = linkonce global ptr null, align 8 @13 = private unnamed_addr constant [7 x i8] c"imethod", align 1 @14 = private unnamed_addr constant [6 x i8] c"method", align 1 +@_llgo_any = linkonce global ptr null, align 8 +@"[]_llgo_any" = linkonce global ptr null, align 8 +@"_llgo_func$KK0iU4Wpi3BdRqssvycXqtgNe2Dq1riBlM61Rds1QsU" = linkonce global ptr null, align 8 +@"main.struct$zCLFE3aa581X7nuJztqlq4JjJDbHkfoMY0CexWOzH8A" = linkonce global ptr null, align 8 +@15 = private unnamed_addr constant [10 x i8] c"call.slice", align 1 +@16 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 @__llgo_argc = global i32 0, align 4 @__llgo_argv = global ptr null, align 8 @@ -402,6 +408,211 @@ _llgo_0: ret void } +define void @main.callSlice() { +_llgo_0: + %0 = load ptr, ptr @_llgo_any, align 8 + %1 = load ptr, ptr @"[]_llgo_any", align 8 + %2 = load ptr, ptr @"_llgo_func$KK0iU4Wpi3BdRqssvycXqtgNe2Dq1riBlM61Rds1QsU", align 8 + %3 = load ptr, ptr @"main.struct$zCLFE3aa581X7nuJztqlq4JjJDbHkfoMY0CexWOzH8A", align 8 + call void @"github.com/goplus/llgo/internal/runtime.SetClosure"(ptr %3) + %4 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store { ptr, ptr } { ptr @__llgo_stub.main.demo, ptr null }, ptr %4, align 8 + %5 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %3, 0 + %6 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %5, ptr %4, 1 + %7 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %6) + %8 = load ptr, ptr @_llgo_int, align 8 + %9 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %8, 0 + %10 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %9, ptr inttoptr (i64 1 to ptr), 1 + %11 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %10) + %12 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 288) + %13 = getelementptr inbounds %reflect.Value, ptr %12, i64 0 + store %reflect.Value %11, ptr %13, align 8 + %14 = getelementptr inbounds %reflect.Value, ptr %12, i64 1 + store %reflect.Value %11, ptr %14, align 8 + %15 = getelementptr inbounds %reflect.Value, ptr %12, i64 2 + store %reflect.Value %11, ptr %15, align 8 + %16 = getelementptr inbounds %reflect.Value, ptr %12, i64 3 + store %reflect.Value %11, ptr %16, align 8 + %17 = getelementptr inbounds %reflect.Value, ptr %12, i64 4 + store %reflect.Value %11, ptr %17, align 8 + %18 = getelementptr inbounds %reflect.Value, ptr %12, i64 5 + store %reflect.Value %11, ptr %18, align 8 + %19 = getelementptr inbounds %reflect.Value, ptr %12, i64 6 + store %reflect.Value %11, ptr %19, align 8 + %20 = getelementptr inbounds %reflect.Value, ptr %12, i64 7 + store %reflect.Value %11, ptr %20, align 8 + %21 = getelementptr inbounds %reflect.Value, ptr %12, i64 8 + store %reflect.Value %11, ptr %21, align 8 + %22 = getelementptr inbounds %reflect.Value, ptr %12, i64 9 + %23 = load ptr, ptr @_llgo_int, align 8 + %24 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %23, 0 + %25 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %24, ptr inttoptr (i64 1 to ptr), 1 + %26 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %25) + store %reflect.Value %26, ptr %22, align 8 + %27 = getelementptr inbounds %reflect.Value, ptr %12, i64 10 + %28 = load ptr, ptr @_llgo_int, align 8 + %29 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %28, 0 + %30 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %29, ptr inttoptr (i64 2 to ptr), 1 + %31 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %30) + store %reflect.Value %31, ptr %27, align 8 + %32 = getelementptr inbounds %reflect.Value, ptr %12, i64 11 + %33 = load ptr, ptr @_llgo_int, align 8 + %34 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %33, 0 + %35 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %34, ptr inttoptr (i64 3 to ptr), 1 + %36 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %35) + store %reflect.Value %36, ptr %32, align 8 + %37 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %12, 0 + %38 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %37, i64 12, 1 + %39 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %38, i64 12, 2 + %40 = call %"github.com/goplus/llgo/internal/runtime.Slice" @reflect.Value.Call(%reflect.Value %7, %"github.com/goplus/llgo/internal/runtime.Slice" %39) + %41 = extractvalue %"github.com/goplus/llgo/internal/runtime.Slice" %40, 0 + %42 = extractvalue %"github.com/goplus/llgo/internal/runtime.Slice" %40, 1 + %43 = icmp sge i64 0, %42 + call void @"github.com/goplus/llgo/internal/runtime.AssertIndexRange"(i1 %43) + %44 = getelementptr inbounds %reflect.Value, ptr %41, i64 0 + %45 = load %reflect.Value, ptr %44, align 8 + %46 = call i64 @reflect.Value.Int(%reflect.Value %45) + %47 = extractvalue %"github.com/goplus/llgo/internal/runtime.Slice" %40, 0 + %48 = extractvalue %"github.com/goplus/llgo/internal/runtime.Slice" %40, 1 + %49 = icmp sge i64 1, %48 + call void @"github.com/goplus/llgo/internal/runtime.AssertIndexRange"(i1 %49) + %50 = getelementptr inbounds %reflect.Value, ptr %47, i64 1 + %51 = load %reflect.Value, ptr %50, align 8 + %52 = call i64 @reflect.Value.Int(%reflect.Value %51) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 10 }) + call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %46) + call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %52) + call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) + %53 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 240) + %54 = getelementptr inbounds %reflect.Value, ptr %53, i64 0 + store %reflect.Value %11, ptr %54, align 8 + %55 = getelementptr inbounds %reflect.Value, ptr %53, i64 1 + store %reflect.Value %11, ptr %55, align 8 + %56 = getelementptr inbounds %reflect.Value, ptr %53, i64 2 + store %reflect.Value %11, ptr %56, align 8 + %57 = getelementptr inbounds %reflect.Value, ptr %53, i64 3 + store %reflect.Value %11, ptr %57, align 8 + %58 = getelementptr inbounds %reflect.Value, ptr %53, i64 4 + store %reflect.Value %11, ptr %58, align 8 + %59 = getelementptr inbounds %reflect.Value, ptr %53, i64 5 + store %reflect.Value %11, ptr %59, align 8 + %60 = getelementptr inbounds %reflect.Value, ptr %53, i64 6 + store %reflect.Value %11, ptr %60, align 8 + %61 = getelementptr inbounds %reflect.Value, ptr %53, i64 7 + store %reflect.Value %11, ptr %61, align 8 + %62 = getelementptr inbounds %reflect.Value, ptr %53, i64 8 + store %reflect.Value %11, ptr %62, align 8 + %63 = getelementptr inbounds %reflect.Value, ptr %53, i64 9 + %64 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 48) + %65 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %64, i64 0 + %66 = load ptr, ptr @_llgo_int, align 8 + %67 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %66, 0 + %68 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %67, ptr inttoptr (i64 1 to ptr), 1 + store %"github.com/goplus/llgo/internal/runtime.eface" %68, ptr %65, align 8 + %69 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %64, i64 1 + %70 = load ptr, ptr @_llgo_int, align 8 + %71 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %70, 0 + %72 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %71, ptr inttoptr (i64 2 to ptr), 1 + store %"github.com/goplus/llgo/internal/runtime.eface" %72, ptr %69, align 8 + %73 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %64, i64 2 + %74 = load ptr, ptr @_llgo_int, align 8 + %75 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %74, 0 + %76 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %75, ptr inttoptr (i64 3 to ptr), 1 + store %"github.com/goplus/llgo/internal/runtime.eface" %76, ptr %73, align 8 + %77 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %64, 0 + %78 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %77, i64 3, 1 + %79 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %78, i64 3, 2 + %80 = load ptr, ptr @"[]_llgo_any", align 8 + %81 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + store %"github.com/goplus/llgo/internal/runtime.Slice" %79, ptr %81, align 8 + %82 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %80, 0 + %83 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %82, ptr %81, 1 + %84 = call %reflect.Value @reflect.ValueOf(%"github.com/goplus/llgo/internal/runtime.eface" %83) + store %reflect.Value %84, ptr %63, align 8 + %85 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %53, 0 + %86 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %85, i64 10, 1 + %87 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %86, i64 10, 2 + %88 = call %"github.com/goplus/llgo/internal/runtime.Slice" @reflect.Value.CallSlice(%reflect.Value %7, %"github.com/goplus/llgo/internal/runtime.Slice" %87) + %89 = extractvalue %"github.com/goplus/llgo/internal/runtime.Slice" %88, 0 + %90 = extractvalue %"github.com/goplus/llgo/internal/runtime.Slice" %88, 1 + %91 = icmp sge i64 0, %90 + call void @"github.com/goplus/llgo/internal/runtime.AssertIndexRange"(i1 %91) + %92 = getelementptr inbounds %reflect.Value, ptr %89, i64 0 + %93 = load %reflect.Value, ptr %92, align 8 + %94 = call i64 @reflect.Value.Int(%reflect.Value %93) + %95 = extractvalue %"github.com/goplus/llgo/internal/runtime.Slice" %88, 0 + %96 = extractvalue %"github.com/goplus/llgo/internal/runtime.Slice" %88, 1 + %97 = icmp sge i64 1, %96 + call void @"github.com/goplus/llgo/internal/runtime.AssertIndexRange"(i1 %97) + %98 = getelementptr inbounds %reflect.Value, ptr %95, i64 1 + %99 = load %reflect.Value, ptr %98, align 8 + %100 = call i64 @reflect.Value.Int(%reflect.Value %99) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @15, i64 10 }) + call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %94) + call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %100) + call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) + ret void +} + +define { i64, i64 } @main.demo(i64 %0, i64 %1, i64 %2, i64 %3, i64 %4, i64 %5, i64 %6, i64 %7, i64 %8, %"github.com/goplus/llgo/internal/runtime.Slice" %9) { +_llgo_0: + %10 = extractvalue %"github.com/goplus/llgo/internal/runtime.Slice" %9, 1 + br label %_llgo_1 + +_llgo_1: ; preds = %_llgo_4, %_llgo_0 + %11 = phi i64 [ 0, %_llgo_0 ], [ %37, %_llgo_4 ] + %12 = phi i64 [ -1, %_llgo_0 ], [ %13, %_llgo_4 ] + %13 = add i64 %12, 1 + %14 = icmp slt i64 %13, %10 + br i1 %14, label %_llgo_2, label %_llgo_3 + +_llgo_2: ; preds = %_llgo_1 + %15 = extractvalue %"github.com/goplus/llgo/internal/runtime.Slice" %9, 0 + %16 = extractvalue %"github.com/goplus/llgo/internal/runtime.Slice" %9, 1 + %17 = icmp slt i64 %13, 0 + %18 = icmp sge i64 %13, %16 + %19 = or i1 %18, %17 + call void @"github.com/goplus/llgo/internal/runtime.AssertIndexRange"(i1 %19) + %20 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %15, i64 %13 + %21 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %20, align 8 + %22 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %21, 0 + %23 = load ptr, ptr @_llgo_int, align 8 + %24 = icmp eq ptr %22, %23 + br i1 %24, label %_llgo_4, label %_llgo_5 + +_llgo_3: ; preds = %_llgo_1 + %25 = add i64 %0, %1 + %26 = add i64 %25, %2 + %27 = add i64 %26, %3 + %28 = add i64 %27, %4 + %29 = add i64 %28, %5 + %30 = add i64 %29, %6 + %31 = add i64 %30, %7 + %32 = add i64 %31, %8 + %33 = insertvalue { i64, i64 } undef, i64 %32, 0 + %34 = insertvalue { i64, i64 } %33, i64 %11, 1 + ret { i64, i64 } %34 + +_llgo_4: ; preds = %_llgo_2 + %35 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %21, 1 + %36 = ptrtoint ptr %35 to i64 + %37 = add i64 %11, %36 + br label %_llgo_1 + +_llgo_5: ; preds = %_llgo_2 + %38 = load ptr, ptr @_llgo_string, align 8 + %39 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" { ptr @16, i64 21 }, ptr %39, align 8 + %40 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" undef, ptr %38, 0 + %41 = insertvalue %"github.com/goplus/llgo/internal/runtime.eface" %40, ptr %39, 1 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %41) + unreachable +} + define void @main.init() { _llgo_0: %0 = load i1, ptr @"main.init$guard", align 1 @@ -423,6 +634,7 @@ _llgo_0: store ptr %1, ptr @__llgo_argv, align 8 call void @"github.com/goplus/llgo/internal/runtime.init"() call void @main.init() + call void @main.callSlice() call void @main.callFunc() call void @main.callClosure() call void @main.callMethod() @@ -594,6 +806,148 @@ _llgo_15: ; preds = %_llgo_14 br label %_llgo_16 _llgo_16: ; preds = %_llgo_15, %_llgo_14 + %82 = load ptr, ptr @_llgo_any, align 8 + %83 = icmp eq ptr %82, null + br i1 %83, label %_llgo_17, label %_llgo_18 + +_llgo_17: ; preds = %_llgo_16 + %84 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %85 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %84, 0 + %86 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %85, i64 0, 1 + %87 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %86, i64 0, 2 + %88 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %87) + store ptr %88, ptr @_llgo_any, align 8 + br label %_llgo_18 + +_llgo_18: ; preds = %_llgo_17, %_llgo_16 + %89 = load ptr, ptr @"[]_llgo_any", align 8 + %90 = icmp eq ptr %89, null + br i1 %90, label %_llgo_19, label %_llgo_20 + +_llgo_19: ; preds = %_llgo_18 + %91 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %92 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %91, 0 + %93 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %92, i64 0, 1 + %94 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %93, i64 0, 2 + %95 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %94) + %96 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %95) + store ptr %96, ptr @"[]_llgo_any", align 8 + br label %_llgo_20 + +_llgo_20: ; preds = %_llgo_19, %_llgo_18 + %97 = load ptr, ptr @_llgo_int, align 8 + %98 = load ptr, ptr @_llgo_int, align 8 + %99 = load ptr, ptr @_llgo_int, align 8 + %100 = load ptr, ptr @_llgo_int, align 8 + %101 = load ptr, ptr @_llgo_int, align 8 + %102 = load ptr, ptr @_llgo_int, align 8 + %103 = load ptr, ptr @_llgo_int, align 8 + %104 = load ptr, ptr @_llgo_int, align 8 + %105 = load ptr, ptr @_llgo_int, align 8 + %106 = load ptr, ptr @"[]_llgo_any", align 8 + %107 = load ptr, ptr @_llgo_int, align 8 + %108 = load ptr, ptr @_llgo_int, align 8 + %109 = load ptr, ptr @"_llgo_func$KK0iU4Wpi3BdRqssvycXqtgNe2Dq1riBlM61Rds1QsU", align 8 + %110 = icmp eq ptr %109, null + br i1 %110, label %_llgo_21, label %_llgo_22 + +_llgo_21: ; preds = %_llgo_20 + %111 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) + %112 = getelementptr ptr, ptr %111, i64 0 + store ptr %97, ptr %112, align 8 + %113 = getelementptr ptr, ptr %111, i64 1 + store ptr %98, ptr %113, align 8 + %114 = getelementptr ptr, ptr %111, i64 2 + store ptr %99, ptr %114, align 8 + %115 = getelementptr ptr, ptr %111, i64 3 + store ptr %100, ptr %115, align 8 + %116 = getelementptr ptr, ptr %111, i64 4 + store ptr %101, ptr %116, align 8 + %117 = getelementptr ptr, ptr %111, i64 5 + store ptr %102, ptr %117, align 8 + %118 = getelementptr ptr, ptr %111, i64 6 + store ptr %103, ptr %118, align 8 + %119 = getelementptr ptr, ptr %111, i64 7 + store ptr %104, ptr %119, align 8 + %120 = getelementptr ptr, ptr %111, i64 8 + store ptr %105, ptr %120, align 8 + %121 = getelementptr ptr, ptr %111, i64 9 + store ptr %106, ptr %121, align 8 + %122 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %111, 0 + %123 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %122, i64 10, 1 + %124 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %123, i64 10, 2 + %125 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %126 = getelementptr ptr, ptr %125, i64 0 + store ptr %107, ptr %126, align 8 + %127 = getelementptr ptr, ptr %125, i64 1 + store ptr %108, ptr %127, align 8 + %128 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %125, 0 + %129 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %128, i64 2, 1 + %130 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %129, i64 2, 2 + %131 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %124, %"github.com/goplus/llgo/internal/runtime.Slice" %130, i1 true) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %131) + store ptr %131, ptr @"_llgo_func$KK0iU4Wpi3BdRqssvycXqtgNe2Dq1riBlM61Rds1QsU", align 8 + br label %_llgo_22 + +_llgo_22: ; preds = %_llgo_21, %_llgo_20 + %132 = load ptr, ptr @_llgo_int, align 8 + %133 = load ptr, ptr @_llgo_int, align 8 + %134 = load ptr, ptr @_llgo_int, align 8 + %135 = load ptr, ptr @_llgo_int, align 8 + %136 = load ptr, ptr @_llgo_int, align 8 + %137 = load ptr, ptr @_llgo_int, align 8 + %138 = load ptr, ptr @_llgo_int, align 8 + %139 = load ptr, ptr @_llgo_int, align 8 + %140 = load ptr, ptr @_llgo_int, align 8 + %141 = load ptr, ptr @"[]_llgo_any", align 8 + %142 = load ptr, ptr @_llgo_int, align 8 + %143 = load ptr, ptr @_llgo_int, align 8 + %144 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) + %145 = getelementptr ptr, ptr %144, i64 0 + store ptr %132, ptr %145, align 8 + %146 = getelementptr ptr, ptr %144, i64 1 + store ptr %133, ptr %146, align 8 + %147 = getelementptr ptr, ptr %144, i64 2 + store ptr %134, ptr %147, align 8 + %148 = getelementptr ptr, ptr %144, i64 3 + store ptr %135, ptr %148, align 8 + %149 = getelementptr ptr, ptr %144, i64 4 + store ptr %136, ptr %149, align 8 + %150 = getelementptr ptr, ptr %144, i64 5 + store ptr %137, ptr %150, align 8 + %151 = getelementptr ptr, ptr %144, i64 6 + store ptr %138, ptr %151, align 8 + %152 = getelementptr ptr, ptr %144, i64 7 + store ptr %139, ptr %152, align 8 + %153 = getelementptr ptr, ptr %144, i64 8 + store ptr %140, ptr %153, align 8 + %154 = getelementptr ptr, ptr %144, i64 9 + store ptr %141, ptr %154, align 8 + %155 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %144, 0 + %156 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %155, i64 10, 1 + %157 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %156, i64 10, 2 + %158 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %159 = getelementptr ptr, ptr %158, i64 0 + store ptr %142, ptr %159, align 8 + %160 = getelementptr ptr, ptr %158, i64 1 + store ptr %143, ptr %160, align 8 + %161 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %158, 0 + %162 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %161, i64 2, 1 + %163 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %162, i64 2, 2 + %164 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %157, %"github.com/goplus/llgo/internal/runtime.Slice" %163, i1 true) + %165 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 1 }, ptr %164, i64 0, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %166 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %167 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @2, i64 4 }, ptr %166, i64 8, %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, i1 false) + %168 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %169 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %168, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %165, ptr %169, align 8 + %170 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %168, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %167, ptr %170, align 8 + %171 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" undef, ptr %168, 0 + %172 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %171, i64 2, 1 + %173 = insertvalue %"github.com/goplus/llgo/internal/runtime.Slice" %172, i64 2, 2 + %174 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @3, i64 4 }, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %173) + store ptr %174, ptr @"main.struct$zCLFE3aa581X7nuJztqlq4JjJDbHkfoMY0CexWOzH8A", align 8 ret void } @@ -649,6 +1003,16 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.IfaceType"(%"github.com/go declare %reflect.Value @reflect.Value.Method(%reflect.Value, i64) +define linkonce { i64, i64 } @__llgo_stub.main.demo(ptr %0, i64 %1, i64 %2, i64 %3, i64 %4, i64 %5, i64 %6, i64 %7, i64 %8, i64 %9, %"github.com/goplus/llgo/internal/runtime.Slice" %10) { +_llgo_0: + %11 = tail call { i64, i64 } @main.demo(i64 %1, i64 %2, i64 %3, i64 %4, i64 %5, i64 %6, i64 %7, i64 %8, i64 %9, %"github.com/goplus/llgo/internal/runtime.Slice" %10) + ret { i64, i64 } %11 +} + +declare ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr) + +declare %"github.com/goplus/llgo/internal/runtime.Slice" @reflect.Value.CallSlice(%reflect.Value, %"github.com/goplus/llgo/internal/runtime.Slice") + declare void @reflect.init() declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/internal/abi/type.go b/internal/abi/type.go index 94b23890..069d1b2a 100644 --- a/internal/abi/type.go +++ b/internal/abi/type.go @@ -572,7 +572,7 @@ func (t *Type) ExportedMethods() []Method { func (t *Type) NumMethod() int { if t.Kind() == Interface { tt := (*InterfaceType)(unsafe.Pointer(t)) - return tt.NumMethod() + return len(tt.Methods) } return len(t.ExportedMethods()) } diff --git a/internal/lib/reflect/type.go b/internal/lib/reflect/type.go index d2b8168f..e030d4f7 100644 --- a/internal/lib/reflect/type.go +++ b/internal/lib/reflect/type.go @@ -1125,14 +1125,11 @@ func (t *rtype) Implements(u Type) bool { } func (t *rtype) AssignableTo(u Type) bool { - /* - if u == nil { - panic("reflect: nil type passed to Type.AssignableTo") - } - uu := u.common() - return directlyAssignable(uu, t.common()) || implements(uu, t.common()) - */ - panic("todo: reflect.rtype.AssignableTo") + if u == nil { + panic("reflect: nil type passed to Type.AssignableTo") + } + uu := u.common() + return directlyAssignable(uu, t.common()) || implements(uu, t.common()) } func (t *rtype) ConvertibleTo(u Type) bool { @@ -1150,92 +1147,9 @@ func (t *rtype) Comparable() bool { } // implements reports whether the type V implements the interface type T. -func implements(T, V *abi.Type) bool { - if T.Kind() != abi.Interface { - return false - } - t := (*interfaceType)(unsafe.Pointer(T)) - if len(t.Methods) == 0 { - return true - } - - /* - // The same algorithm applies in both cases, but the - // method tables for an interface type and a concrete type - // are different, so the code is duplicated. - // In both cases the algorithm is a linear scan over the two - // lists - T's methods and V's methods - simultaneously. - // Since method tables are stored in a unique sorted order - // (alphabetical, with no duplicate method names), the scan - // through V's methods must hit a match for each of T's - // methods along the way, or else V does not implement T. - // This lets us run the scan in overall linear time instead of - // the quadratic time a naive search would require. - // See also ../runtime/iface.go. - if V.Kind() == abi.Interface { - v := (*interfaceType)(unsafe.Pointer(V)) - i := 0 - for j := 0; j < len(v.Methods); j++ { - tm := &t.Methods[i] - tmName := t.nameOff(tm.Name) - vm := &v.Methods[j] - vmName := nameOffFor(V, vm.Name) - if vmName.Name() == tmName.Name() && typeOffFor(V, vm.Typ) == t.typeOff(tm.Typ) { - if !tmName.IsExported() { - tmPkgPath := pkgPath(tmName) - if tmPkgPath == "" { - tmPkgPath = t.PkgPath.Name() - } - vmPkgPath := pkgPath(vmName) - if vmPkgPath == "" { - vmPkgPath = v.PkgPath.Name() - } - if tmPkgPath != vmPkgPath { - continue - } - } - if i++; i >= len(t.Methods) { - return true - } - } - } - return false - } - - v := V.Uncommon() - if v == nil { - return false - } - i := 0 - vmethods := v.Methods() - for j := 0; j < int(v.Mcount); j++ { - tm := &t.Methods[i] - tmName := t.nameOff(tm.Name) - vm := vmethods[j] - vmName := nameOffFor(V, vm.Name) - if vmName.Name() == tmName.Name() && typeOffFor(V, vm.Mtyp) == t.typeOff(tm.Typ) { - if !tmName.IsExported() { - tmPkgPath := pkgPath(tmName) - if tmPkgPath == "" { - tmPkgPath = t.PkgPath.Name() - } - vmPkgPath := pkgPath(vmName) - if vmPkgPath == "" { - vmPkgPath = nameOffFor(V, v.PkgPath).Name() - } - if tmPkgPath != vmPkgPath { - continue - } - } - if i++; i >= len(t.Methods) { - return true - } - } - } - return false - */ - panic("todo: reflect.implements") -} +// +//go:linkname implements github.com/goplus/llgo/internal/runtime.Implements +func implements(T, V *abi.Type) bool // specialChannelAssignability reports whether a value x of channel type V // can be directly assigned (using memmove) to another channel type T. diff --git a/internal/lib/reflect/value.go b/internal/lib/reflect/value.go index 44f37261..ca484402 100644 --- a/internal/lib/reflect/value.go +++ b/internal/lib/reflect/value.go @@ -1843,7 +1843,6 @@ func (v Value) assignTo(context string, dst *abi.Type, target unsafe.Pointer) Va // Avoid the panic by returning a nil dst (e.g., Reader) explicitly. return Value{dst, nil, flag(Interface)} } - /* TODO(xsw): x := valueInterface(v, false) if target == nil { target = unsafe_New(dst) @@ -1854,13 +1853,10 @@ func (v Value) assignTo(context string, dst *abi.Type, target unsafe.Pointer) Va ifaceE2I(dst, x, target) } return Value{dst, target, flagIndir | flag(Interface)} - */ } // Failed. - // TODO(xsw): - // panic(context + ": value of type " + stringFor(v.typ()) + " is not assignable to type " + stringFor(dst)) - panic("todo: reflect.Value.assignTo") + panic(context + ": value of type " + stringFor(v.typ()) + " is not assignable to type " + stringFor(dst)) } // memmove copies size bytes to dst from src. No write barriers are used. @@ -2219,23 +2215,21 @@ func (v Value) call(op string, in []Value) (out []Value) { panic("reflect: " + op + " using zero Value argument") } } - // TODO AssignableTo - // for i := 0; i < n; i++ { - // if xt, targ := in[i].Type(), ft.In(i); !xt.AssignableTo(toRType(targ)) { - // panic("reflect: " + op + " using " + xt.String() + " as type " + stringFor(targ)) - // } - // } + for i := 0; i < n; i++ { + if xt, targ := in[i].Type(), ft.In[i]; !xt.AssignableTo(toRType(targ)) { + panic("reflect: " + op + " using " + xt.String() + " as type " + stringFor(targ)) + } + } if !isSlice && isVariadic { // prepare slice for remaining values m := len(in) - n slice := MakeSlice(toRType(ft.In[n]), m, m) - // elem := toRType(ft.In[n]).Elem() // FIXME cast to slice type and Elem() + elem := toRType(ft.In[n].Elem()) // FIXME cast to slice type and Elem() for i := 0; i < m; i++ { x := in[n+i] - // TODO AssignableTo - // if xt := x.Type(); !xt.AssignableTo(elem) { - // panic("reflect: cannot use " + xt.String() + " as type " + elem.String() + " in " + op) - // } + if xt := x.Type(); !xt.AssignableTo(elem) { + panic("reflect: cannot use " + xt.String() + " as type " + elem.String() + " in " + op) + } slice.Index(i).Set(x) } origIn := in @@ -2637,3 +2631,7 @@ func MakeSlice(typ Type, len, cap int) Value { s := unsafeheaderSlice{Data: unsafe_NewArray(&(typ.Elem().(*rtype).t), cap), Len: len, Cap: cap} return Value{&typ.(*rtype).t, unsafe.Pointer(&s), flagIndir | flag(Slice)} } + +func ifaceE2I(t *abi.Type, src any, dst unsafe.Pointer) { + panic("todo: reflect.ifaceE2I") +} From 8fb0dfad94b799a3adf9eaec47d165c7201b4040 Mon Sep 17 00:00:00 2001 From: visualfc Date: Tue, 26 Nov 2024 11:09:39 +0800 Subject: [PATCH 4/4] ssa: abiNamed use NameOf --- cl/_testrt/tpabi/out.ll | 6 +++--- ssa/abitype.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cl/_testrt/tpabi/out.ll b/cl/_testrt/tpabi/out.ll index 08c76667..84ca611b 100644 --- a/cl/_testrt/tpabi/out.ll +++ b/cl/_testrt/tpabi/out.ll @@ -15,7 +15,7 @@ source_filename = "main" @__llgo_argv = global ptr null, align 8 @0 = private unnamed_addr constant [1 x i8] c"a", align 1 @"_llgo_main.T[string,int]" = linkonce global ptr null, align 8 -@1 = private unnamed_addr constant [19 x i8] c"main.T[string, int]", align 1 +@1 = private unnamed_addr constant [18 x i8] c"main.T[string,int]", align 1 @_llgo_string = linkonce global ptr null, align 8 @_llgo_int = linkonce global ptr null, align 8 @"main.struct$A2OTYqQyUOqOQ-i_F5iXeAKWtxeWGEuyeN7HCfULCDk" = linkonce global ptr null, align 8 @@ -164,7 +164,7 @@ declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 define void @"main.init$after"() { _llgo_0: - %0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 19 }, i64 25, i64 24, i64 1, i64 2) + %0 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 18 }, i64 25, i64 24, i64 1, i64 2) %1 = load ptr, ptr @"_llgo_main.T[string,int]", align 8 %2 = icmp eq ptr %1, null br i1 %2, label %_llgo_1, label %_llgo_2 @@ -219,7 +219,7 @@ _llgo_7: ; preds = %_llgo_6 br i1 %24, label %_llgo_9, label %_llgo_10 _llgo_8: ; preds = %_llgo_10, %_llgo_6 - %25 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 19 }, i64 25, i64 24, i64 1, i64 2) + %25 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" { ptr @1, i64 18 }, i64 25, i64 24, i64 1, i64 2) %26 = load ptr, ptr @"*_llgo_main.T[string,int]", align 8 %27 = icmp eq ptr %26, null br i1 %27, label %_llgo_11, label %_llgo_12 diff --git a/ssa/abitype.go b/ssa/abitype.go index b72ec87f..f98de44d 100644 --- a/ssa/abitype.go +++ b/ssa/abitype.go @@ -210,7 +210,7 @@ func (b Builder) abiNamed(t *types.Named) Expr { size := b.sizeof(tunder) numMethods, numPtrMethods := b.abiMethods(t) newNamed := pkg.rtFunc("NewNamed") - expr := b.Call(newNamed, b.Str(t.String()), b.Prog.Val(kind), b.Prog.IntVal(uint64(size), b.Prog.Uintptr()), b.Prog.Val(numMethods), b.Prog.Val(numPtrMethods)) + expr := b.Call(newNamed, b.Str(NameOf(t)), b.Prog.Val(kind), b.Prog.IntVal(uint64(size), b.Prog.Uintptr()), b.Prog.Val(numMethods), b.Prog.Val(numPtrMethods)) return expr }