diff --git a/cl/_testgo/equal/out.ll b/cl/_testgo/equal/out.ll index 39686be9..727a60cb 100644 --- a/cl/_testgo/equal/out.ll +++ b/cl/_testgo/equal/out.ll @@ -18,6 +18,7 @@ source_filename = "main" @3 = private unnamed_addr constant [4 x i8] c"main", align 1 @_llgo_main.T = linkonce global ptr null, align 8 @4 = private unnamed_addr constant [6 x i8] c"main.T", align 1 +@_llgo_any = linkonce global ptr null, align 8 @"_llgo_struct$5D_KhR3tDEp-wpx9caTiVZca43wS-XW6slE9Bsr8rsk" = linkonce global ptr null, align 8 @5 = private unnamed_addr constant [1 x i8] c"X", align 1 @6 = private unnamed_addr constant [1 x i8] c"Y", align 1 @@ -545,12 +546,10 @@ _llgo_0: define void @"main.init#7"() { _llgo_0: - %0 = load ptr, ptr @_llgo_int, align 8 - %1 = load ptr, ptr @_llgo_string, align 8 - %2 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 - %3 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %2, i64 0) - %4 = icmp ne ptr %3, null - call void @main.assert(i1 %4) + %0 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 + %1 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %0, i64 0) + %2 = icmp ne ptr %1, null + call void @main.assert(i1 %2) call void @main.assert(i1 true) ret void } @@ -632,268 +631,300 @@ _llgo_7: ; preds = %_llgo_6 br label %_llgo_8 _llgo_8: ; preds = %_llgo_7, %_llgo_6 - %26 = load ptr, ptr @"_llgo_struct$5D_KhR3tDEp-wpx9caTiVZca43wS-XW6slE9Bsr8rsk", align 8 + %26 = load ptr, ptr @_llgo_any, align 8 %27 = icmp eq ptr %26, null br i1 %27, label %_llgo_9, label %_llgo_10 _llgo_9: ; preds = %_llgo_8 - %28 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %29 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %28, i32 0, i32 0 - store ptr @5, ptr %29, align 8 - %30 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %28, i32 0, i32 1 - store i64 1, ptr %30, align 4 - %31 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %28, align 8 - %32 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %33 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %32, i32 0, i32 0 - store ptr null, ptr %33, align 8 - %34 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %32, i32 0, i32 1 - store i64 0, ptr %34, align 4 - %35 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %32, align 8 - %36 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %37 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %31, ptr %36, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %35, i1 false) + %28 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %29 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %30 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %29, i32 0, i32 0 + store ptr %28, ptr %30, align 8 + %31 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %29, i32 0, i32 1 + store i64 0, ptr %31, align 4 + %32 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %29, i32 0, i32 2 + store i64 0, ptr %32, align 4 + %33 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %29, align 8 + %34 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %35 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %34, i32 0, i32 0 + store ptr @3, ptr %35, align 8 + %36 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %34, i32 0, i32 1 + store i64 4, ptr %36, align 4 + %37 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %34, align 8 %38 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %39 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %38, i32 0, i32 0 - store ptr @6, ptr %39, align 8 + store ptr null, ptr %39, align 8 %40 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %38, i32 0, i32 1 - store i64 1, ptr %40, align 4 + store i64 0, ptr %40, align 4 %41 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %38, align 8 - %42 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %42, i32 0, i32 0 - store ptr null, ptr %43, align 8 - %44 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %42, i32 0, i32 1 - store i64 0, ptr %44, align 4 - %45 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %42, align 8 - %46 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %47 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %41, ptr %46, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %45, i1 false) - %48 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %49 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %48, i32 0, i32 0 - store ptr @7, ptr %49, align 8 - %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %48, i32 0, i32 1 - store i64 1, ptr %50, align 4 - %51 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %48, align 8 - %52 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %53 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %52, i32 0, i32 0 - store ptr null, ptr %53, align 8 - %54 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %52, i32 0, i32 1 - store i64 0, ptr %54, align 4 - %55 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %52, align 8 - %56 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %57 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %51, ptr %56, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %55, i1 false) - %58 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %59 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %58, i32 0, i32 0 - store ptr @8, ptr %59, align 8 - %60 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %58, i32 0, i32 1 - store i64 1, ptr %60, align 4 - %61 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %58, align 8 - %62 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %63 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %62, i32 0, i32 0 - store ptr null, ptr %63, align 8 - %64 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %62, i32 0, i32 1 - store i64 0, ptr %64, align 4 - %65 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %62, align 8 - %66 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %67 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %68 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %67, i32 0, i32 0 - store ptr %66, ptr %68, align 8 - %69 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %67, i32 0, i32 1 - store i64 0, ptr %69, align 4 - %70 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %67, i32 0, i32 2 - store i64 0, ptr %70, align 4 - %71 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %67, align 8 - %72 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %73 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %72, i32 0, i32 0 - store ptr @3, ptr %73, align 8 - %74 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %72, i32 0, i32 1 - store i64 4, ptr %74, align 4 - %75 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %72, align 8 - %76 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %77 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %76, i32 0, i32 0 - store ptr null, ptr %77, align 8 - %78 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %76, i32 0, i32 1 - store i64 0, ptr %78, align 4 - %79 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %76, align 8 - %80 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %75, %"github.com/goplus/llgo/internal/runtime.String" %79, %"github.com/goplus/llgo/internal/runtime.Slice" %71) - %81 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %61, ptr %80, i64 32, %"github.com/goplus/llgo/internal/runtime.String" %65, i1 false) - %82 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %83 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %82, i32 0, i32 0 - store ptr @3, ptr %83, align 8 - %84 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %82, i32 0, i32 1 - store i64 4, ptr %84, align 4 - %85 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %82, align 8 - %86 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) - %87 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %86, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %37, ptr %87, align 8 - %88 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %86, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %47, ptr %88, align 8 - %89 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %86, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %57, ptr %89, align 8 - %90 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %86, i64 3 - store %"github.com/goplus/llgo/internal/abi.StructField" %81, ptr %90, align 8 - %91 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %92 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %91, i32 0, i32 0 - store ptr %86, ptr %92, align 8 - %93 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %91, i32 0, i32 1 - store i64 4, ptr %93, align 4 - %94 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %91, i32 0, i32 2 - store i64 4, ptr %94, align 4 - %95 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %91, align 8 - %96 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %85, i64 48, %"github.com/goplus/llgo/internal/runtime.Slice" %95) - store ptr %96, ptr @"_llgo_struct$5D_KhR3tDEp-wpx9caTiVZca43wS-XW6slE9Bsr8rsk", align 8 + %42 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %37, %"github.com/goplus/llgo/internal/runtime.String" %41, %"github.com/goplus/llgo/internal/runtime.Slice" %33) + store ptr %42, ptr @_llgo_any, align 8 br label %_llgo_10 _llgo_10: ; preds = %_llgo_9, %_llgo_8 - %97 = load ptr, ptr @"_llgo_struct$5D_KhR3tDEp-wpx9caTiVZca43wS-XW6slE9Bsr8rsk", align 8 - br i1 %25, label %_llgo_11, label %_llgo_12 + %43 = load ptr, ptr @_llgo_any, align 8 + %44 = load ptr, ptr @"_llgo_struct$5D_KhR3tDEp-wpx9caTiVZca43wS-XW6slE9Bsr8rsk", align 8 + %45 = icmp eq ptr %44, null + br i1 %45, label %_llgo_11, label %_llgo_12 _llgo_11: ; preds = %_llgo_10 - %98 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %99 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %98, i32 0, i32 0 - store ptr @3, ptr %99, align 8 - %100 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %98, i32 0, i32 1 - store i64 4, ptr %100, align 4 - %101 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %98, align 8 - %102 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %103 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %102, i32 0, i32 0 - store ptr @9, ptr %103, align 8 - %104 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %102, i32 0, i32 1 - store i64 1, ptr %104, align 4 - %105 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %102, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %23, %"github.com/goplus/llgo/internal/runtime.String" %101, %"github.com/goplus/llgo/internal/runtime.String" %105, ptr %97, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + %46 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %47 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %46, i32 0, i32 0 + store ptr @5, ptr %47, align 8 + %48 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %46, i32 0, i32 1 + store i64 1, ptr %48, align 4 + %49 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %46, align 8 + %50 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %50, i32 0, i32 0 + store ptr null, ptr %51, align 8 + %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %50, i32 0, i32 1 + store i64 0, ptr %52, align 4 + %53 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %50, align 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" %49, ptr %54, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %53, i1 false) + %56 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %57 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %56, i32 0, i32 0 + store ptr @6, ptr %57, align 8 + %58 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %56, i32 0, i32 1 + store i64 1, ptr %58, align 4 + %59 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %56, align 8 + %60 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %61 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %60, i32 0, i32 0 + store ptr null, ptr %61, align 8 + %62 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %60, i32 0, i32 1 + store i64 0, ptr %62, align 4 + %63 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %60, align 8 + %64 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %65 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %59, ptr %64, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %63, i1 false) + %66 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %67 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %66, i32 0, i32 0 + store ptr @7, ptr %67, align 8 + %68 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %66, i32 0, i32 1 + store i64 1, ptr %68, align 4 + %69 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %66, align 8 + %70 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %71 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %70, i32 0, i32 0 + store ptr null, ptr %71, align 8 + %72 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %70, i32 0, i32 1 + store i64 0, ptr %72, align 4 + %73 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %70, align 8 + %74 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %75 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %69, ptr %74, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %73, i1 false) + %76 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %77 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %76, i32 0, i32 0 + store ptr @8, ptr %77, align 8 + %78 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %76, i32 0, i32 1 + store i64 1, ptr %78, align 4 + %79 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %76, align 8 + %80 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %81 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %80, i32 0, i32 0 + store ptr null, ptr %81, align 8 + %82 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %80, i32 0, i32 1 + store i64 0, ptr %82, align 4 + %83 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %80, align 8 + %84 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %85 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %86 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %85, i32 0, i32 0 + store ptr %84, ptr %86, align 8 + %87 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %85, i32 0, i32 1 + store i64 0, ptr %87, align 4 + %88 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %85, i32 0, i32 2 + store i64 0, ptr %88, align 4 + %89 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %85, align 8 + %90 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %90, i32 0, i32 0 + store ptr @3, ptr %91, align 8 + %92 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %90, i32 0, i32 1 + store i64 4, ptr %92, align 4 + %93 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %90, align 8 + %94 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %95 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %94, i32 0, i32 0 + store ptr null, ptr %95, align 8 + %96 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %94, i32 0, i32 1 + store i64 0, ptr %96, align 4 + %97 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %94, align 8 + %98 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %93, %"github.com/goplus/llgo/internal/runtime.String" %97, %"github.com/goplus/llgo/internal/runtime.Slice" %89) + %99 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %79, ptr %98, i64 32, %"github.com/goplus/llgo/internal/runtime.String" %83, i1 false) + %100 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %101 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %100, i32 0, i32 0 + store ptr @3, ptr %101, align 8 + %102 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %100, i32 0, i32 1 + store i64 4, ptr %102, align 4 + %103 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %100, align 8 + %104 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) + %105 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %104, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %55, ptr %105, align 8 + %106 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %104, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %65, ptr %106, align 8 + %107 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %104, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %75, ptr %107, align 8 + %108 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %104, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %99, ptr %108, align 8 + %109 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %110 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %109, i32 0, i32 0 + store ptr %104, ptr %110, align 8 + %111 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %109, i32 0, i32 1 + store i64 4, ptr %111, align 4 + %112 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %109, i32 0, i32 2 + store i64 4, ptr %112, align 4 + %113 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %109, align 8 + %114 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %103, i64 48, %"github.com/goplus/llgo/internal/runtime.Slice" %113) + store ptr %114, ptr @"_llgo_struct$5D_KhR3tDEp-wpx9caTiVZca43wS-XW6slE9Bsr8rsk", align 8 br label %_llgo_12 _llgo_12: ; preds = %_llgo_11, %_llgo_10 - %106 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %107 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %106, i32 0, i32 0 - store ptr @10, ptr %107, align 8 - %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %106, i32 0, i32 1 - store i64 6, ptr %108, align 4 - %109 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %106, align 8 - %110 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %109, i64 25, i64 0, i64 0, i64 0) - %111 = load ptr, ptr @_llgo_main.N, align 8 - %112 = icmp eq ptr %111, null - br i1 %112, label %_llgo_13, label %_llgo_14 + %115 = load ptr, ptr @"_llgo_struct$5D_KhR3tDEp-wpx9caTiVZca43wS-XW6slE9Bsr8rsk", align 8 + br i1 %25, label %_llgo_13, label %_llgo_14 _llgo_13: ; preds = %_llgo_12 - store ptr %110, ptr @_llgo_main.N, align 8 + %116 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %117 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %116, i32 0, i32 0 + store ptr @3, ptr %117, align 8 + %118 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %116, i32 0, i32 1 + store i64 4, ptr %118, align 4 + %119 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %116, align 8 + %120 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %121 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %120, i32 0, i32 0 + store ptr @9, ptr %121, align 8 + %122 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %120, i32 0, i32 1 + store i64 1, ptr %122, align 4 + %123 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %120, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %23, %"github.com/goplus/llgo/internal/runtime.String" %119, %"github.com/goplus/llgo/internal/runtime.String" %123, ptr %115, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_14 _llgo_14: ; preds = %_llgo_13, %_llgo_12 - %113 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 - br i1 %112, label %_llgo_15, label %_llgo_16 + %124 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %125 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %124, i32 0, i32 0 + store ptr @10, ptr %125, align 8 + %126 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %124, i32 0, i32 1 + store i64 6, ptr %126, align 4 + %127 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %124, align 8 + %128 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %127, i64 25, i64 0, i64 0, i64 0) + %129 = load ptr, ptr @_llgo_main.N, align 8 + %130 = icmp eq ptr %129, null + br i1 %130, label %_llgo_15, label %_llgo_16 _llgo_15: ; preds = %_llgo_14 - %114 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %115 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %114, i32 0, i32 0 - store ptr @3, ptr %115, align 8 - %116 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %114, i32 0, i32 1 - store i64 4, ptr %116, align 4 - %117 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %114, align 8 - %118 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %119 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %118, i32 0, i32 0 - store ptr @11, ptr %119, align 8 - %120 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %118, i32 0, i32 1 - store i64 1, ptr %120, align 4 - %121 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %118, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %110, %"github.com/goplus/llgo/internal/runtime.String" %117, %"github.com/goplus/llgo/internal/runtime.String" %121, ptr %113, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + store ptr %128, ptr @_llgo_main.N, align 8 br label %_llgo_16 _llgo_16: ; preds = %_llgo_15, %_llgo_14 - %122 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 - %123 = icmp eq ptr %122, null - br i1 %123, label %_llgo_17, label %_llgo_18 + %131 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 + br i1 %130, label %_llgo_17, label %_llgo_18 _llgo_17: ; preds = %_llgo_16 - %124 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %125 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %126 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %127 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %126, i32 0, i32 0 - store ptr @12, ptr %127, align 8 - %128 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %126, i32 0, i32 1 - store i64 7, ptr %128, align 4 - %129 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %126, align 8 - %130 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %131 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %130, i32 0, i32 0 - store ptr null, ptr %131, align 8 - %132 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %130, i32 0, i32 1 - store i64 0, ptr %132, align 4 - %133 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %130, align 8 - %134 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %135 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %134) - %136 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %129, ptr %135, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %133, i1 false) - %137 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %138 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %137, i32 0, i32 0 - store ptr @13, ptr %138, align 8 - %139 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %137, i32 0, i32 1 - store i64 4, ptr %139, align 4 - %140 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %137, align 8 - %141 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %142 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %141, i32 0, i32 0 - store ptr null, ptr %142, align 8 - %143 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %141, i32 0, i32 1 - store i64 0, ptr %143, align 4 - %144 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %141, align 8 - %145 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %146 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %145) - %147 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %140, ptr %146, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %144, i1 false) - %148 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %149 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %148, i32 0, i32 0 - store ptr @14, ptr %149, align 8 - %150 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %148, i32 0, i32 1 - store i64 5, ptr %150, align 4 - %151 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %148, align 8 - %152 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %153 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %152, i32 0, i32 0 - store ptr null, ptr %153, align 8 - %154 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %152, i32 0, i32 1 - store i64 0, ptr %154, align 4 - %155 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %152, align 8 - %156 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %157 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %156) - %158 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %151, ptr %157, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %155, i1 false) - %159 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %160 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %159, i32 0, i32 0 - store ptr @15, ptr %160, align 8 - %161 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %159, i32 0, i32 1 - store i64 8, ptr %161, align 4 - %162 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %159, align 8 - %163 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %164 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %163, i32 0, i32 0 - store ptr null, ptr %164, align 8 - %165 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %163, i32 0, i32 1 - store i64 0, ptr %165, align 4 - %166 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %163, align 8 - %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" %162, ptr %167, i64 200, %"github.com/goplus/llgo/internal/runtime.String" %166, i1 false) - %169 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %170 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %169, i32 0, i32 0 - store ptr @3, ptr %170, align 8 - %171 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %169, i32 0, i32 1 - store i64 4, ptr %171, align 4 - %172 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %169, align 8 - %173 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) - %174 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %173, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %136, ptr %174, align 8 - %175 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %173, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %147, ptr %175, align 8 - %176 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %173, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %158, ptr %176, align 8 - %177 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %173, i64 3 - store %"github.com/goplus/llgo/internal/abi.StructField" %168, ptr %177, align 8 - %178 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %179 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %178, i32 0, i32 0 - store ptr %173, ptr %179, align 8 - %180 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %178, i32 0, i32 1 - store i64 4, ptr %180, align 4 - %181 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %178, i32 0, i32 2 - store i64 4, ptr %181, align 4 - %182 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %178, align 8 - %183 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %172, i64 208, %"github.com/goplus/llgo/internal/runtime.Slice" %182) - %184 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %124, ptr %125, ptr %183, i64 4) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %184) - store ptr %184, ptr @"map[_llgo_int]_llgo_string", align 8 + %132 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %133 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %132, i32 0, i32 0 + store ptr @3, ptr %133, align 8 + %134 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %132, i32 0, i32 1 + store i64 4, ptr %134, align 4 + %135 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %132, align 8 + %136 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %137 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %136, i32 0, i32 0 + store ptr @11, ptr %137, align 8 + %138 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %136, i32 0, i32 1 + store i64 1, ptr %138, align 4 + %139 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %136, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %128, %"github.com/goplus/llgo/internal/runtime.String" %135, %"github.com/goplus/llgo/internal/runtime.String" %139, ptr %131, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_18 _llgo_18: ; preds = %_llgo_17, %_llgo_16 + %140 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 + %141 = icmp eq ptr %140, null + br i1 %141, label %_llgo_19, label %_llgo_20 + +_llgo_19: ; preds = %_llgo_18 + %142 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %143 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %144 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %145 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %144, i32 0, i32 0 + store ptr @12, ptr %145, align 8 + %146 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %144, i32 0, i32 1 + store i64 7, ptr %146, align 4 + %147 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %144, align 8 + %148 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %149 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %148, i32 0, i32 0 + store ptr null, ptr %149, align 8 + %150 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %148, i32 0, i32 1 + store i64 0, ptr %150, align 4 + %151 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %148, align 8 + %152 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %153 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %152) + %154 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %147, ptr %153, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %151, i1 false) + %155 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %156 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %155, i32 0, i32 0 + store ptr @13, ptr %156, align 8 + %157 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %155, i32 0, i32 1 + store i64 4, ptr %157, align 4 + %158 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %155, align 8 + %159 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %160 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %159, i32 0, i32 0 + store ptr null, ptr %160, align 8 + %161 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %159, i32 0, i32 1 + store i64 0, ptr %161, align 4 + %162 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %159, align 8 + %163 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %164 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %163) + %165 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %158, ptr %164, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %162, i1 false) + %166 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %167 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %166, i32 0, i32 0 + store ptr @14, ptr %167, align 8 + %168 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %166, i32 0, i32 1 + store i64 5, ptr %168, align 4 + %169 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %166, align 8 + %170 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %171 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %170, i32 0, i32 0 + store ptr null, ptr %171, align 8 + %172 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %170, i32 0, i32 1 + store i64 0, ptr %172, align 4 + %173 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %170, align 8 + %174 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %175 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %174) + %176 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %169, ptr %175, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %173, i1 false) + %177 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %178 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %177, i32 0, i32 0 + store ptr @15, ptr %178, align 8 + %179 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %177, i32 0, i32 1 + store i64 8, ptr %179, align 4 + %180 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %177, align 8 + %181 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %182 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %181, i32 0, i32 0 + store ptr null, ptr %182, align 8 + %183 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %181, i32 0, i32 1 + store i64 0, ptr %183, align 4 + %184 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %181, align 8 + %185 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %186 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %180, ptr %185, i64 200, %"github.com/goplus/llgo/internal/runtime.String" %184, i1 false) + %187 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %188 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %187, i32 0, i32 0 + store ptr @3, ptr %188, align 8 + %189 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %187, i32 0, i32 1 + store i64 4, ptr %189, align 4 + %190 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %187, align 8 + %191 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) + %192 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %191, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %154, ptr %192, align 8 + %193 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %191, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %165, ptr %193, align 8 + %194 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %191, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %176, ptr %194, align 8 + %195 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %191, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %186, ptr %195, align 8 + %196 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %197 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %196, i32 0, i32 0 + store ptr %191, ptr %197, align 8 + %198 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %196, i32 0, i32 1 + store i64 4, ptr %198, align 4 + %199 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %196, i32 0, i32 2 + store i64 4, ptr %199, align 4 + %200 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %196, align 8 + %201 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %190, i64 208, %"github.com/goplus/llgo/internal/runtime.Slice" %200) + %202 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %142, ptr %143, ptr %201, i64 4) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %202) + store ptr %202, ptr @"map[_llgo_int]_llgo_string", align 8 + br label %_llgo_20 + +_llgo_20: ; preds = %_llgo_19, %_llgo_18 ret void } diff --git a/cl/_testgo/errors/out.ll b/cl/_testgo/errors/out.ll index 29837b9e..4616d816 100644 --- a/cl/_testgo/errors/out.ll +++ b/cl/_testgo/errors/out.ll @@ -12,12 +12,12 @@ source_filename = "main" @"main.init$guard" = global i1 false, align 1 @_llgo_main.errorString = linkonce global ptr null, align 8 @0 = private unnamed_addr constant [16 x i8] c"main.errorString", align 1 +@_llgo_string = linkonce global ptr null, align 8 @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ" = linkonce global ptr null, align 8 @1 = private unnamed_addr constant [1 x i8] c"s", align 1 @2 = private unnamed_addr constant [4 x i8] c"main", align 1 @3 = private unnamed_addr constant [5 x i8] c"Error", align 1 @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to" = linkonce global ptr null, align 8 -@_llgo_string = linkonce global ptr null, align 8 @4 = private unnamed_addr constant [11 x i8] c"errorString", align 1 @"*_llgo_main.errorString" = linkonce global ptr null, align 8 @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU" = linkonce global ptr null, align 8 @@ -30,16 +30,18 @@ _llgo_0: %1 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 16) %2 = getelementptr inbounds %main.errorString, ptr %1, i32 0, i32 0 store %"github.com/goplus/llgo/internal/runtime.String" %0, ptr %2, align 8 - %3 = load ptr, ptr @"*_llgo_main.errorString", align 8 - %4 = load ptr, ptr @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU", align 8 - %5 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %4, ptr %3) - %6 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %7 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %6, i32 0, i32 0 - store ptr %5, ptr %7, align 8 - %8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %6, i32 0, i32 1 - store ptr %1, ptr %8, align 8 - %9 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %6, align 8 - ret %"github.com/goplus/llgo/internal/runtime.iface" %9 + %3 = load ptr, ptr @_llgo_main.errorString, align 8 + %4 = load ptr, ptr @"*_llgo_main.errorString", align 8 + %5 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %6 = load ptr, ptr @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU", align 8 + %7 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %6, ptr %4) + %8 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %8, i32 0, i32 0 + store ptr %7, ptr %9, align 8 + %10 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %8, i32 0, i32 1 + store ptr %1, ptr %10, align 8 + %11 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %8, align 8 + ret %"github.com/goplus/llgo/internal/runtime.iface" %11 } define %"github.com/goplus/llgo/internal/runtime.String" @"main.(*errorString).Error"(ptr %0) { @@ -108,176 +110,177 @@ _llgo_0: %3 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %0, align 8 %4 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %3, i64 25, i64 16, i64 0, i64 1) store ptr %4, ptr @_llgo_main.errorString, align 8 - %5 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %5, i32 0, i32 0 - store ptr @1, ptr %6, align 8 - %7 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %5, i32 0, i32 1 - store i64 1, ptr %7, align 4 - %8 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %5, align 8 - %9 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %10 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %9, i32 0, i32 0 - store ptr null, ptr %10, align 8 - %11 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %9, i32 0, i32 1 - store i64 0, ptr %11, align 4 - %12 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %9, align 8 - %13 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %14 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %8, ptr %13, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %12, i1 false) - %15 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %16 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %15, i32 0, i32 0 - store ptr @2, ptr %16, align 8 - %17 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %15, i32 0, i32 1 - store i64 4, ptr %17, align 4 - %18 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %15, align 8 - %19 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) - %20 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %19, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %14, ptr %20, align 8 - %21 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %22 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %21, i32 0, i32 0 - store ptr %19, ptr %22, align 8 - %23 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %21, i32 0, i32 1 - store i64 1, ptr %23, align 4 - %24 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %21, i32 0, i32 2 - store i64 1, ptr %24, align 4 - %25 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %21, align 8 - %26 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %18, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %25) - store ptr %26, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 - %27 = load ptr, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 - %28 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %29 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %28, i32 0, i32 0 - store ptr @3, ptr %29, align 8 - %30 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %28, i32 0, i32 1 - store i64 5, ptr %30, align 4 - %31 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %28, align 8 - %32 = load ptr, ptr @_llgo_string, align 8 - %33 = icmp eq ptr %32, null - br i1 %33, label %_llgo_1, label %_llgo_2 + %5 = load ptr, ptr @_llgo_string, align 8 + %6 = icmp eq ptr %5, null + br i1 %6, label %_llgo_1, label %_llgo_2 _llgo_1: ; preds = %_llgo_0 - %34 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - store ptr %34, ptr @_llgo_string, align 8 + %7 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + store ptr %7, ptr @_llgo_string, align 8 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 - %35 = load ptr, ptr @_llgo_string, align 8 - %36 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %37 = icmp eq ptr %36, null - br i1 %37, label %_llgo_3, label %_llgo_4 + %8 = load ptr, ptr @_llgo_string, align 8 + %9 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %10 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %9, i32 0, i32 0 + store ptr @1, ptr %10, align 8 + %11 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %9, i32 0, i32 1 + store i64 1, ptr %11, align 4 + %12 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %9, align 8 + %13 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %14 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %13, i32 0, i32 0 + store ptr null, ptr %14, align 8 + %15 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %13, i32 0, i32 1 + store i64 0, ptr %15, align 4 + %16 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %13, align 8 + %17 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %18 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %12, ptr %17, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %16, i1 false) + %19 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %20 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %19, i32 0, i32 0 + store ptr @2, ptr %20, align 8 + %21 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %19, i32 0, i32 1 + store i64 4, ptr %21, align 4 + %22 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %19, align 8 + %23 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) + %24 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %23, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %18, ptr %24, align 8 + %25 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %26 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %25, i32 0, i32 0 + store ptr %23, ptr %26, align 8 + %27 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %25, i32 0, i32 1 + store i64 1, ptr %27, align 4 + %28 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %25, i32 0, i32 2 + store i64 1, ptr %28, align 4 + %29 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %25, align 8 + %30 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %22, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %29) + store ptr %30, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 + %31 = load ptr, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 + %32 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %33 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %32, i32 0, i32 0 + store ptr @3, ptr %33, align 8 + %34 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %32, i32 0, i32 1 + store i64 5, ptr %34, align 4 + %35 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %32, align 8 + %36 = load ptr, ptr @_llgo_string, align 8 + %37 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %38 = icmp eq ptr %37, null + br i1 %38, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 - %38 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %39 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %40 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %39, i32 0, i32 0 - store ptr %38, ptr %40, align 8 - %41 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %39, i32 0, i32 1 - store i64 0, ptr %41, align 4 - %42 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %39, i32 0, i32 2 + %39 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %40 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %41 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %40, i32 0, i32 0 + store ptr %39, ptr %41, align 8 + %42 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %40, i32 0, i32 1 store i64 0, ptr %42, align 4 - %43 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %39, align 8 - %44 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %45 = getelementptr ptr, ptr %44, i64 0 - store ptr %35, ptr %45, align 8 - %46 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %47 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %46, i32 0, i32 0 - store ptr %44, ptr %47, align 8 - %48 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %46, i32 0, i32 1 - store i64 1, ptr %48, align 4 - %49 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %46, i32 0, i32 2 + %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %40, i32 0, i32 2 + store i64 0, ptr %43, align 4 + %44 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %40, align 8 + %45 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %46 = getelementptr ptr, ptr %45, i64 0 + store ptr %36, ptr %46, align 8 + %47 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %48 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %47, i32 0, i32 0 + store ptr %45, ptr %48, align 8 + %49 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %47, i32 0, i32 1 store i64 1, ptr %49, align 4 - %50 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %46, align 8 - %51 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %43, %"github.com/goplus/llgo/internal/runtime.Slice" %50, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %51) - store ptr %51, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %47, i32 0, i32 2 + store i64 1, ptr %50, align 4 + %51 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %47, align 8 + %52 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %44, %"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$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 br label %_llgo_4 _llgo_4: ; preds = %_llgo_3, %_llgo_2 - %52 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %53 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %54 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %53, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %31, ptr %54, align 8 - %55 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %53, i32 0, i32 1 - store ptr %52, ptr %55, align 8 - %56 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %53, i32 0, i32 2 - store ptr @"main.(*errorString).Error", ptr %56, align 8 - %57 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %53, i32 0, i32 3 + %53 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %54 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %55 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %54, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %35, ptr %55, align 8 + %56 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %54, i32 0, i32 1 + store ptr %53, ptr %56, align 8 + %57 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %54, i32 0, i32 2 store ptr @"main.(*errorString).Error", ptr %57, align 8 - %58 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %53, align 8 - %59 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %60 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %59, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %58, ptr %60, align 8 - %61 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %62 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %61, i32 0, i32 0 - store ptr %59, ptr %62, align 8 - %63 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %61, i32 0, i32 1 - store i64 1, ptr %63, align 4 - %64 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %61, i32 0, i32 2 + %58 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %54, i32 0, i32 3 + store ptr @"main.(*errorString).Error", ptr %58, align 8 + %59 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %54, align 8 + %60 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %61 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %60, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %59, ptr %61, align 8 + %62 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %63 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %62, i32 0, i32 0 + store ptr %60, ptr %63, align 8 + %64 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %62, i32 0, i32 1 store i64 1, ptr %64, align 4 - %65 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %61, align 8 - %66 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %67 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %66, i32 0, i32 0 - store ptr @2, ptr %67, align 8 - %68 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %66, i32 0, i32 1 - store i64 4, ptr %68, align 4 - %69 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %66, align 8 - %70 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %71 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %70, i32 0, i32 0 - store ptr @4, ptr %71, align 8 - %72 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %70, i32 0, i32 1 - store i64 11, ptr %72, align 4 - %73 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %70, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %4, %"github.com/goplus/llgo/internal/runtime.String" %69, %"github.com/goplus/llgo/internal/runtime.String" %73, ptr %27, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %65) - %74 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %75 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %74, i32 0, i32 0 - store ptr @0, ptr %75, align 8 - %76 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %74, i32 0, i32 1 - store i64 16, ptr %76, align 4 - %77 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %74, align 8 - %78 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %77, i64 25, i64 16, i64 0, i64 1) - %79 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %78) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %79) - store ptr %79, ptr @"*_llgo_main.errorString", align 8 - %80 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %81 = load ptr, ptr @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU", align 8 - %82 = icmp eq ptr %81, null - br i1 %82, label %_llgo_5, label %_llgo_6 + %65 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %62, i32 0, i32 2 + store i64 1, ptr %65, align 4 + %66 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %62, align 8 + %67 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %68 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %67, i32 0, i32 0 + store ptr @2, ptr %68, align 8 + %69 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %67, i32 0, i32 1 + store i64 4, ptr %69, align 4 + %70 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %67, align 8 + %71 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %72 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %71, i32 0, i32 0 + store ptr @4, ptr %72, align 8 + %73 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %71, i32 0, i32 1 + store i64 11, ptr %73, align 4 + %74 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %71, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %4, %"github.com/goplus/llgo/internal/runtime.String" %70, %"github.com/goplus/llgo/internal/runtime.String" %74, ptr %31, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %66) + %75 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %76 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %75, i32 0, i32 0 + store ptr @0, ptr %76, align 8 + %77 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %75, i32 0, i32 1 + store i64 16, ptr %77, align 4 + %78 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %75, align 8 + %79 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %78, i64 25, i64 16, i64 0, i64 1) + %80 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %79) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %80) + store ptr %80, ptr @"*_llgo_main.errorString", align 8 + %81 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %82 = load ptr, ptr @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU", align 8 + %83 = icmp eq ptr %82, null + br i1 %83, label %_llgo_5, label %_llgo_6 _llgo_5: ; preds = %_llgo_4 - %83 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %84 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %83, i32 0, i32 0 - store ptr @3, ptr %84, align 8 - %85 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %83, i32 0, i32 1 - store i64 5, ptr %85, align 4 - %86 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %83, align 8 - %87 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %88 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %87, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %86, ptr %88, align 8 - %89 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %87, i32 0, i32 1 - store ptr %80, ptr %89, align 8 - %90 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %87, align 8 - %91 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %92 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %91, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %90, ptr %92, align 8 - %93 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %94 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %93, i32 0, i32 0 - store ptr %91, ptr %94, align 8 - %95 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %93, i32 0, i32 1 - store i64 1, ptr %95, align 4 - %96 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %93, i32 0, i32 2 + %84 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %85 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %84, i32 0, i32 0 + store ptr @3, ptr %85, align 8 + %86 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %84, i32 0, i32 1 + store i64 5, ptr %86, align 4 + %87 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %84, align 8 + %88 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %89 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %88, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %87, ptr %89, align 8 + %90 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %88, i32 0, i32 1 + store ptr %81, ptr %90, align 8 + %91 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %88, align 8 + %92 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %93 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %92, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %91, ptr %93, align 8 + %94 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %95 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %94, i32 0, i32 0 + store ptr %92, ptr %95, align 8 + %96 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %94, i32 0, i32 1 store i64 1, ptr %96, align 4 - %97 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %93, align 8 - %98 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %99 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %98, i32 0, i32 0 - store ptr @2, ptr %99, align 8 - %100 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %98, i32 0, i32 1 - store i64 4, ptr %100, align 4 - %101 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %98, align 8 - %102 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %103 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %102, i32 0, i32 0 - store ptr null, ptr %103, align 8 - %104 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %102, i32 0, i32 1 - store i64 0, ptr %104, align 4 - %105 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %102, align 8 - %106 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %101, %"github.com/goplus/llgo/internal/runtime.String" %105, %"github.com/goplus/llgo/internal/runtime.Slice" %97) - store ptr %106, ptr @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU", align 8 + %97 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %94, i32 0, i32 2 + store i64 1, ptr %97, align 4 + %98 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %94, align 8 + %99 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %100 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %99, i32 0, i32 0 + store ptr @2, ptr %100, align 8 + %101 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %99, i32 0, i32 1 + store i64 4, ptr %101, align 4 + %102 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %99, align 8 + %103 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %104 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %103, i32 0, i32 0 + store ptr null, ptr %104, align 8 + %105 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %103, i32 0, i32 1 + store i64 0, ptr %105, align 4 + %106 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %103, align 8 + %107 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %102, %"github.com/goplus/llgo/internal/runtime.String" %106, %"github.com/goplus/llgo/internal/runtime.Slice" %98) + store ptr %107, ptr @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU", align 8 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 @@ -286,12 +289,12 @@ _llgo_6: ; preds = %_llgo_5, %_llgo_4 declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, i64) +declare ptr @"github.com/goplus/llgo/internal/runtime.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) -declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64) - declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64) declare void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr, %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", ptr, %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice") diff --git a/cl/_testgo/ifaceprom/out.ll b/cl/_testgo/ifaceprom/out.ll index 1bc326ae..60265d56 100644 --- a/cl/_testgo/ifaceprom/out.ll +++ b/cl/_testgo/ifaceprom/out.ll @@ -21,11 +21,11 @@ source_filename = "main" @2 = private unnamed_addr constant [4 x i8] c"main", align 1 @3 = private unnamed_addr constant [3 x i8] c"one", align 1 @4 = private unnamed_addr constant [8 x i8] c"main.one", align 1 -@"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA" = linkonce global ptr null, align 8 @_llgo_int = linkonce global ptr null, align 8 +@"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA" = linkonce global ptr null, align 8 @5 = private unnamed_addr constant [8 x i8] c"main.two", align 1 -@"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to" = linkonce global ptr null, align 8 @_llgo_string = linkonce global ptr null, align 8 +@"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to" = linkonce global ptr null, align 8 @6 = private unnamed_addr constant [4 x i8] c"impl", align 1 @"main.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA" = linkonce global ptr null, align 8 @_llgo_main.I = linkonce global ptr null, align 8 @@ -175,435 +175,437 @@ _llgo_0: %4 = load ptr, ptr @_llgo_main.impl, align 8 %5 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) store %main.impl zeroinitializer, ptr %5, align 1 - %6 = load ptr, ptr @"main.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 - %7 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %6, ptr %4) - %8 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %8, i32 0, i32 0 - store ptr %7, ptr %9, align 8 - %10 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %8, i32 0, i32 1 - store ptr %5, ptr %10, align 8 - %11 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %8, align 8 - store %"github.com/goplus/llgo/internal/runtime.iface" %11, ptr %3, align 8 - %12 = getelementptr inbounds %main.S, ptr %2, i32 0, i32 0 - %13 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %12, align 8 - %14 = call ptr @"github.com/goplus/llgo/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/internal/runtime.iface" %13) - %15 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %13, 0 - %16 = getelementptr ptr, ptr %15, i64 3 - %17 = load ptr, ptr %16, align 8 - %18 = alloca { ptr, ptr }, align 8 - %19 = getelementptr inbounds { ptr, ptr }, ptr %18, i32 0, i32 0 - store ptr %17, ptr %19, align 8 - %20 = getelementptr inbounds { ptr, ptr }, ptr %18, i32 0, i32 1 - store ptr %14, ptr %20, align 8 - %21 = load { ptr, ptr }, ptr %18, align 8 - %22 = extractvalue { ptr, ptr } %21, 1 - %23 = extractvalue { ptr, ptr } %21, 0 - %24 = call i64 %23(ptr %22) - %25 = icmp ne i64 %24, 1 - br i1 %25, label %_llgo_1, label %_llgo_2 + %6 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %7 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %8 = load ptr, ptr @"main.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 + %9 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %8, ptr %4) + %10 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %11 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %10, i32 0, i32 0 + store ptr %9, ptr %11, align 8 + %12 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %10, i32 0, i32 1 + store ptr %5, ptr %12, align 8 + %13 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %10, align 8 + store %"github.com/goplus/llgo/internal/runtime.iface" %13, ptr %3, align 8 + %14 = getelementptr inbounds %main.S, ptr %2, i32 0, i32 0 + %15 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %14, align 8 + %16 = call ptr @"github.com/goplus/llgo/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/internal/runtime.iface" %15) + %17 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %15, 0 + %18 = getelementptr ptr, ptr %17, i64 3 + %19 = load ptr, ptr %18, align 8 + %20 = alloca { ptr, ptr }, align 8 + %21 = getelementptr inbounds { ptr, ptr }, ptr %20, i32 0, i32 0 + store ptr %19, ptr %21, align 8 + %22 = getelementptr inbounds { ptr, ptr }, ptr %20, i32 0, i32 1 + store ptr %16, ptr %22, align 8 + %23 = load { ptr, ptr }, ptr %20, align 8 + %24 = extractvalue { ptr, ptr } %23, 1 + %25 = extractvalue { ptr, ptr } %23, 0 + %26 = call i64 %25(ptr %24) + %27 = icmp ne i64 %26, 1 + br i1 %27, label %_llgo_1, label %_llgo_2 _llgo_1: ; preds = %_llgo_0 - %26 = load ptr, ptr @_llgo_int, align 8 - %27 = inttoptr i64 %24 to ptr - %28 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %29 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %28, i32 0, i32 0 - store ptr %26, ptr %29, align 8 - %30 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %28, i32 0, i32 1 - store ptr %27, ptr %30, align 8 - %31 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %28, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %31) + %28 = load ptr, ptr @_llgo_int, align 8 + %29 = inttoptr i64 %26 to ptr + %30 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %31 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %30, i32 0, i32 0 + store ptr %28, ptr %31, align 8 + %32 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %30, i32 0, i32 1 + store ptr %29, ptr %32, align 8 + %33 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %30, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %33) unreachable _llgo_2: ; preds = %_llgo_0 - %32 = load %main.S, ptr %2, align 8 - %33 = extractvalue %main.S %32, 0 - %34 = call ptr @"github.com/goplus/llgo/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/internal/runtime.iface" %33) - %35 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %33, 0 - %36 = getelementptr ptr, ptr %35, i64 3 - %37 = load ptr, ptr %36, align 8 - %38 = alloca { ptr, ptr }, align 8 - %39 = getelementptr inbounds { ptr, ptr }, ptr %38, i32 0, i32 0 - store ptr %37, ptr %39, align 8 - %40 = getelementptr inbounds { ptr, ptr }, ptr %38, i32 0, i32 1 - store ptr %34, ptr %40, align 8 - %41 = load { ptr, ptr }, ptr %38, align 8 - %42 = extractvalue { ptr, ptr } %41, 1 - %43 = extractvalue { ptr, ptr } %41, 0 - %44 = call i64 %43(ptr %42) - %45 = icmp ne i64 %44, 1 - br i1 %45, label %_llgo_3, label %_llgo_4 + %34 = load %main.S, ptr %2, align 8 + %35 = extractvalue %main.S %34, 0 + %36 = call ptr @"github.com/goplus/llgo/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/internal/runtime.iface" %35) + %37 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %35, 0 + %38 = getelementptr ptr, ptr %37, i64 3 + %39 = load ptr, ptr %38, align 8 + %40 = alloca { ptr, ptr }, align 8 + %41 = getelementptr inbounds { ptr, ptr }, ptr %40, i32 0, i32 0 + store ptr %39, ptr %41, align 8 + %42 = getelementptr inbounds { ptr, ptr }, ptr %40, i32 0, i32 1 + store ptr %36, ptr %42, align 8 + %43 = load { ptr, ptr }, ptr %40, align 8 + %44 = extractvalue { ptr, ptr } %43, 1 + %45 = extractvalue { ptr, ptr } %43, 0 + %46 = call i64 %45(ptr %44) + %47 = icmp ne i64 %46, 1 + br i1 %47, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 - %46 = load ptr, ptr @_llgo_int, align 8 - %47 = inttoptr i64 %44 to ptr - %48 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %49 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %48, i32 0, i32 0 - store ptr %46, ptr %49, align 8 - %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %48, i32 0, i32 1 - store ptr %47, ptr %50, align 8 - %51 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %48, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %51) + %48 = load ptr, ptr @_llgo_int, align 8 + %49 = inttoptr i64 %46 to ptr + %50 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %50, i32 0, i32 0 + store ptr %48, ptr %51, align 8 + %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %50, i32 0, i32 1 + store ptr %49, ptr %52, align 8 + %53 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %50, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %53) unreachable _llgo_4: ; preds = %_llgo_2 - %52 = getelementptr inbounds %main.S, ptr %2, i32 0, i32 0 - %53 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %52, align 8 - %54 = call ptr @"github.com/goplus/llgo/internal/runtime.IfaceType"(%"github.com/goplus/llgo/internal/runtime.iface" %53) - %55 = load ptr, ptr @_llgo_main.I, align 8 - %56 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %55, ptr %54) - br i1 %56, label %_llgo_17, label %_llgo_18 + %54 = getelementptr inbounds %main.S, ptr %2, i32 0, i32 0 + %55 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %54, align 8 + %56 = call ptr @"github.com/goplus/llgo/internal/runtime.IfaceType"(%"github.com/goplus/llgo/internal/runtime.iface" %55) + %57 = load ptr, ptr @_llgo_main.I, align 8 + %58 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %57, ptr %56) + br i1 %58, label %_llgo_17, label %_llgo_18 _llgo_5: ; preds = %_llgo_17 - %57 = load ptr, ptr @_llgo_int, align 8 - %58 = inttoptr i64 %165 to ptr - %59 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %60 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %59, i32 0, i32 0 - store ptr %57, ptr %60, align 8 - %61 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %59, i32 0, i32 1 - store ptr %58, ptr %61, align 8 - %62 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %59, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %62) + %59 = load ptr, ptr @_llgo_int, align 8 + %60 = inttoptr i64 %167 to ptr + %61 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %62 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %61, i32 0, i32 0 + store ptr %59, ptr %62, align 8 + %63 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %61, i32 0, i32 1 + store ptr %60, ptr %63, align 8 + %64 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %61, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %64) unreachable _llgo_6: ; preds = %_llgo_17 - %63 = load %main.S, ptr %2, align 8 - %64 = extractvalue %main.S %63, 0 - %65 = call ptr @"github.com/goplus/llgo/internal/runtime.IfaceType"(%"github.com/goplus/llgo/internal/runtime.iface" %64) - %66 = load ptr, ptr @_llgo_main.I, align 8 - %67 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %66, ptr %65) - br i1 %67, label %_llgo_19, label %_llgo_20 + %65 = load %main.S, ptr %2, align 8 + %66 = extractvalue %main.S %65, 0 + %67 = call ptr @"github.com/goplus/llgo/internal/runtime.IfaceType"(%"github.com/goplus/llgo/internal/runtime.iface" %66) + %68 = load ptr, ptr @_llgo_main.I, align 8 + %69 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %68, ptr %67) + br i1 %69, label %_llgo_19, label %_llgo_20 _llgo_7: ; preds = %_llgo_19 - %68 = load ptr, ptr @_llgo_int, align 8 - %69 = inttoptr i64 %192 to ptr - %70 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %71 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %70, i32 0, i32 0 - store ptr %68, ptr %71, align 8 - %72 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %70, i32 0, i32 1 - store ptr %69, ptr %72, align 8 - %73 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %70, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %73) + %70 = load ptr, ptr @_llgo_int, align 8 + %71 = inttoptr i64 %194 to ptr + %72 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %73 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %72, i32 0, i32 0 + store ptr %70, ptr %73, align 8 + %74 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %72, i32 0, i32 1 + store ptr %71, ptr %74, align 8 + %75 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %72, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %75) unreachable _llgo_8: ; preds = %_llgo_19 - %74 = getelementptr inbounds %main.S, ptr %2, i32 0, i32 0 - %75 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %74, align 8 - %76 = call ptr @"github.com/goplus/llgo/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/internal/runtime.iface" %75) - %77 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %75, 0 - %78 = getelementptr ptr, ptr %77, i64 4 - %79 = load ptr, ptr %78, align 8 - %80 = alloca { ptr, ptr }, align 8 - %81 = getelementptr inbounds { ptr, ptr }, ptr %80, i32 0, i32 0 - store ptr %79, ptr %81, align 8 - %82 = getelementptr inbounds { ptr, ptr }, ptr %80, i32 0, i32 1 - store ptr %76, ptr %82, align 8 - %83 = load { ptr, ptr }, ptr %80, align 8 - %84 = extractvalue { ptr, ptr } %83, 1 - %85 = extractvalue { ptr, ptr } %83, 0 - %86 = call %"github.com/goplus/llgo/internal/runtime.String" %85(ptr %84) - %87 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %88 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %87, i32 0, i32 0 - store ptr @0, ptr %88, align 8 - %89 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %87, i32 0, i32 1 - store i64 3, ptr %89, align 4 - %90 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %87, align 8 - %91 = call i1 @"github.com/goplus/llgo/internal/runtime.StringEqual"(%"github.com/goplus/llgo/internal/runtime.String" %86, %"github.com/goplus/llgo/internal/runtime.String" %90) - %92 = xor i1 %91, true - br i1 %92, label %_llgo_9, label %_llgo_10 + %76 = getelementptr inbounds %main.S, ptr %2, i32 0, i32 0 + %77 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %76, align 8 + %78 = call ptr @"github.com/goplus/llgo/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/internal/runtime.iface" %77) + %79 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %77, 0 + %80 = getelementptr ptr, ptr %79, i64 4 + %81 = load ptr, ptr %80, align 8 + %82 = alloca { ptr, ptr }, align 8 + %83 = getelementptr inbounds { ptr, ptr }, ptr %82, i32 0, i32 0 + store ptr %81, ptr %83, align 8 + %84 = getelementptr inbounds { ptr, ptr }, ptr %82, i32 0, i32 1 + store ptr %78, ptr %84, align 8 + %85 = load { ptr, ptr }, ptr %82, align 8 + %86 = extractvalue { ptr, ptr } %85, 1 + %87 = extractvalue { ptr, ptr } %85, 0 + %88 = call %"github.com/goplus/llgo/internal/runtime.String" %87(ptr %86) + %89 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %90 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %89, i32 0, i32 0 + store ptr @0, ptr %90, align 8 + %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %89, i32 0, i32 1 + store i64 3, ptr %91, align 4 + %92 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %89, align 8 + %93 = call i1 @"github.com/goplus/llgo/internal/runtime.StringEqual"(%"github.com/goplus/llgo/internal/runtime.String" %88, %"github.com/goplus/llgo/internal/runtime.String" %92) + %94 = xor i1 %93, true + br i1 %94, label %_llgo_9, label %_llgo_10 _llgo_9: ; preds = %_llgo_8 - %93 = load ptr, ptr @_llgo_string, align 8 - %94 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %86, ptr %94, align 8 - %95 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %96 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %95, i32 0, i32 0 - store ptr %93, ptr %96, align 8 - %97 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %95, i32 0, i32 1 - store ptr %94, ptr %97, align 8 - %98 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %95, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %98) + %95 = load ptr, ptr @_llgo_string, align 8 + %96 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %88, ptr %96, align 8 + %97 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %98 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %97, i32 0, i32 0 + store ptr %95, ptr %98, align 8 + %99 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %97, i32 0, i32 1 + store ptr %96, ptr %99, align 8 + %100 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %97, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %100) unreachable _llgo_10: ; preds = %_llgo_8 - %99 = load %main.S, ptr %2, align 8 - %100 = extractvalue %main.S %99, 0 - %101 = call ptr @"github.com/goplus/llgo/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/internal/runtime.iface" %100) - %102 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %100, 0 - %103 = getelementptr ptr, ptr %102, i64 4 - %104 = load ptr, ptr %103, align 8 - %105 = alloca { ptr, ptr }, align 8 - %106 = getelementptr inbounds { ptr, ptr }, ptr %105, i32 0, i32 0 - store ptr %104, ptr %106, align 8 - %107 = getelementptr inbounds { ptr, ptr }, ptr %105, i32 0, i32 1 - store ptr %101, ptr %107, align 8 - %108 = load { ptr, ptr }, ptr %105, align 8 - %109 = extractvalue { ptr, ptr } %108, 1 - %110 = extractvalue { ptr, ptr } %108, 0 - %111 = call %"github.com/goplus/llgo/internal/runtime.String" %110(ptr %109) - %112 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %113 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %112, i32 0, i32 0 - store ptr @0, ptr %113, align 8 - %114 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %112, i32 0, i32 1 - store i64 3, ptr %114, align 4 - %115 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %112, align 8 - %116 = call i1 @"github.com/goplus/llgo/internal/runtime.StringEqual"(%"github.com/goplus/llgo/internal/runtime.String" %111, %"github.com/goplus/llgo/internal/runtime.String" %115) - %117 = xor i1 %116, true - br i1 %117, label %_llgo_11, label %_llgo_12 + %101 = load %main.S, ptr %2, align 8 + %102 = extractvalue %main.S %101, 0 + %103 = call ptr @"github.com/goplus/llgo/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/internal/runtime.iface" %102) + %104 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %102, 0 + %105 = getelementptr ptr, ptr %104, i64 4 + %106 = load ptr, ptr %105, align 8 + %107 = alloca { ptr, ptr }, align 8 + %108 = getelementptr inbounds { ptr, ptr }, ptr %107, i32 0, i32 0 + store ptr %106, ptr %108, align 8 + %109 = getelementptr inbounds { ptr, ptr }, ptr %107, i32 0, i32 1 + store ptr %103, ptr %109, align 8 + %110 = load { ptr, ptr }, ptr %107, align 8 + %111 = extractvalue { ptr, ptr } %110, 1 + %112 = extractvalue { ptr, ptr } %110, 0 + %113 = call %"github.com/goplus/llgo/internal/runtime.String" %112(ptr %111) + %114 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %115 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %114, i32 0, i32 0 + store ptr @0, ptr %115, align 8 + %116 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %114, i32 0, i32 1 + store i64 3, ptr %116, align 4 + %117 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %114, align 8 + %118 = call i1 @"github.com/goplus/llgo/internal/runtime.StringEqual"(%"github.com/goplus/llgo/internal/runtime.String" %113, %"github.com/goplus/llgo/internal/runtime.String" %117) + %119 = xor i1 %118, true + br i1 %119, label %_llgo_11, label %_llgo_12 _llgo_11: ; preds = %_llgo_10 - %118 = load ptr, ptr @_llgo_string, align 8 - %119 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %111, ptr %119, align 8 - %120 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %121 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %120, i32 0, i32 0 - store ptr %118, ptr %121, align 8 - %122 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %120, i32 0, i32 1 - store ptr %119, ptr %122, align 8 - %123 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %120, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %123) + %120 = load ptr, ptr @_llgo_string, align 8 + %121 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %113, ptr %121, align 8 + %122 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %123 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %122, i32 0, i32 0 + store ptr %120, ptr %123, align 8 + %124 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %122, i32 0, i32 1 + store ptr %121, ptr %124, align 8 + %125 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %122, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %125) unreachable _llgo_12: ; preds = %_llgo_10 - %124 = getelementptr inbounds %main.S, ptr %2, i32 0, i32 0 - %125 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %124, align 8 - %126 = call ptr @"github.com/goplus/llgo/internal/runtime.IfaceType"(%"github.com/goplus/llgo/internal/runtime.iface" %125) - %127 = load ptr, ptr @_llgo_main.I, align 8 - %128 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %127, ptr %126) - br i1 %128, label %_llgo_21, label %_llgo_22 + %126 = getelementptr inbounds %main.S, ptr %2, i32 0, i32 0 + %127 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %126, align 8 + %128 = call ptr @"github.com/goplus/llgo/internal/runtime.IfaceType"(%"github.com/goplus/llgo/internal/runtime.iface" %127) + %129 = load ptr, ptr @_llgo_main.I, align 8 + %130 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %129, ptr %128) + br i1 %130, label %_llgo_21, label %_llgo_22 _llgo_13: ; preds = %_llgo_21 - %129 = load ptr, ptr @_llgo_string, align 8 - %130 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %219, ptr %130, align 8 - %131 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %132 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %131, i32 0, i32 0 - store ptr %129, ptr %132, align 8 - %133 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %131, i32 0, i32 1 - store ptr %130, ptr %133, align 8 - %134 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %131, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %134) + %131 = load ptr, ptr @_llgo_string, align 8 + %132 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %221, ptr %132, align 8 + %133 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %134 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %133, i32 0, i32 0 + store ptr %131, ptr %134, align 8 + %135 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %133, i32 0, i32 1 + store ptr %132, ptr %135, align 8 + %136 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %133, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %136) unreachable _llgo_14: ; preds = %_llgo_21 - %135 = load %main.S, ptr %2, align 8 - %136 = extractvalue %main.S %135, 0 - %137 = call ptr @"github.com/goplus/llgo/internal/runtime.IfaceType"(%"github.com/goplus/llgo/internal/runtime.iface" %136) - %138 = load ptr, ptr @_llgo_main.I, align 8 - %139 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %138, ptr %137) - br i1 %139, label %_llgo_23, label %_llgo_24 + %137 = load %main.S, ptr %2, align 8 + %138 = extractvalue %main.S %137, 0 + %139 = call ptr @"github.com/goplus/llgo/internal/runtime.IfaceType"(%"github.com/goplus/llgo/internal/runtime.iface" %138) + %140 = load ptr, ptr @_llgo_main.I, align 8 + %141 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %140, ptr %139) + br i1 %141, label %_llgo_23, label %_llgo_24 _llgo_15: ; preds = %_llgo_23 - %140 = load ptr, ptr @_llgo_string, align 8 - %141 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %251, ptr %141, align 8 - %142 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %143 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %142, i32 0, i32 0 - store ptr %140, ptr %143, align 8 - %144 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %142, i32 0, i32 1 - store ptr %141, ptr %144, align 8 - %145 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %142, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %145) + %142 = load ptr, ptr @_llgo_string, align 8 + %143 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %253, ptr %143, align 8 + %144 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %145 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %144, i32 0, i32 0 + store ptr %142, ptr %145, align 8 + %146 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %144, i32 0, i32 1 + store ptr %143, ptr %146, align 8 + %147 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %144, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %147) unreachable _llgo_16: ; preds = %_llgo_23 - %146 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %147 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %146, i32 0, i32 0 - store ptr @9, ptr %147, align 8 - %148 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %146, i32 0, i32 1 - store i64 4, ptr %148, align 4 - %149 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %146, align 8 - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %149) + %148 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %149 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %148, i32 0, i32 0 + store ptr @9, ptr %149, align 8 + %150 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %148, i32 0, i32 1 + store i64 4, ptr %150, align 4 + %151 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %148, align 8 + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %151) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) ret i32 0 _llgo_17: ; preds = %_llgo_4 - %150 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %53, 1 - %151 = load ptr, ptr @"main.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 - %152 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %151, ptr %54) - %153 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %154 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %153, i32 0, i32 0 - store ptr %152, ptr %154, align 8 - %155 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %153, i32 0, i32 1 - store ptr %150, ptr %155, align 8 - %156 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %153, align 8 - %157 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %158 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface" }, ptr %157, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.iface" %53, ptr %158, align 8 - %159 = alloca { ptr, ptr }, align 8 - %160 = getelementptr inbounds { ptr, ptr }, ptr %159, i32 0, i32 0 - store ptr @"main.one$bound", ptr %160, align 8 - %161 = getelementptr inbounds { ptr, ptr }, ptr %159, i32 0, i32 1 - store ptr %157, ptr %161, align 8 - %162 = load { ptr, ptr }, ptr %159, align 8 - %163 = extractvalue { ptr, ptr } %162, 1 - %164 = extractvalue { ptr, ptr } %162, 0 - %165 = call i64 %164(ptr %163) - %166 = icmp ne i64 %165, 1 - br i1 %166, label %_llgo_5, label %_llgo_6 + %152 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %55, 1 + %153 = load ptr, ptr @"main.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 + %154 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %153, ptr %56) + %155 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %156 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %155, i32 0, i32 0 + store ptr %154, ptr %156, align 8 + %157 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %155, i32 0, i32 1 + store ptr %152, ptr %157, align 8 + %158 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %155, align 8 + %159 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %160 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface" }, ptr %159, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.iface" %55, ptr %160, align 8 + %161 = alloca { ptr, ptr }, align 8 + %162 = getelementptr inbounds { ptr, ptr }, ptr %161, i32 0, i32 0 + store ptr @"main.one$bound", ptr %162, align 8 + %163 = getelementptr inbounds { ptr, ptr }, ptr %161, i32 0, i32 1 + store ptr %159, ptr %163, align 8 + %164 = load { ptr, ptr }, ptr %161, align 8 + %165 = extractvalue { ptr, ptr } %164, 1 + %166 = extractvalue { ptr, ptr } %164, 0 + %167 = call i64 %166(ptr %165) + %168 = icmp ne i64 %167, 1 + br i1 %168, label %_llgo_5, label %_llgo_6 _llgo_18: ; preds = %_llgo_4 - %167 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %168 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %167, i32 0, i32 0 - store ptr @8, ptr %168, align 8 - %169 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %167, i32 0, i32 1 - store i64 21, ptr %169, align 4 - %170 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %167, align 8 - %171 = load ptr, ptr @_llgo_string, align 8 - %172 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %170, ptr %172, align 8 - %173 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %174 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %173, i32 0, i32 0 - store ptr %171, ptr %174, align 8 - %175 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %173, i32 0, i32 1 - store ptr %172, ptr %175, align 8 - %176 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %173, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %176) + %169 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %170 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %169, i32 0, i32 0 + store ptr @8, ptr %170, align 8 + %171 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %169, i32 0, i32 1 + store i64 21, ptr %171, align 4 + %172 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %169, align 8 + %173 = load ptr, ptr @_llgo_string, align 8 + %174 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %172, ptr %174, align 8 + %175 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %176 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %175, i32 0, i32 0 + store ptr %173, ptr %176, align 8 + %177 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %175, i32 0, i32 1 + store ptr %174, ptr %177, align 8 + %178 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %175, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %178) unreachable _llgo_19: ; preds = %_llgo_6 - %177 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %64, 1 - %178 = load ptr, ptr @"main.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 - %179 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %178, ptr %65) - %180 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %181 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %180, i32 0, i32 0 - store ptr %179, ptr %181, align 8 - %182 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %180, i32 0, i32 1 - store ptr %177, ptr %182, align 8 - %183 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %180, align 8 - %184 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %185 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface" }, ptr %184, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.iface" %64, ptr %185, align 8 - %186 = alloca { ptr, ptr }, align 8 - %187 = getelementptr inbounds { ptr, ptr }, ptr %186, i32 0, i32 0 - store ptr @"main.one$bound", ptr %187, align 8 - %188 = getelementptr inbounds { ptr, ptr }, ptr %186, i32 0, i32 1 - store ptr %184, ptr %188, align 8 - %189 = load { ptr, ptr }, ptr %186, align 8 - %190 = extractvalue { ptr, ptr } %189, 1 - %191 = extractvalue { ptr, ptr } %189, 0 - %192 = call i64 %191(ptr %190) - %193 = icmp ne i64 %192, 1 - br i1 %193, label %_llgo_7, label %_llgo_8 + %179 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %66, 1 + %180 = load ptr, ptr @"main.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 + %181 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %180, ptr %67) + %182 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %183 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %182, i32 0, i32 0 + store ptr %181, ptr %183, align 8 + %184 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %182, i32 0, i32 1 + store ptr %179, ptr %184, align 8 + %185 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %182, align 8 + %186 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %187 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface" }, ptr %186, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.iface" %66, ptr %187, align 8 + %188 = alloca { ptr, ptr }, align 8 + %189 = getelementptr inbounds { ptr, ptr }, ptr %188, i32 0, i32 0 + store ptr @"main.one$bound", ptr %189, align 8 + %190 = getelementptr inbounds { ptr, ptr }, ptr %188, i32 0, i32 1 + store ptr %186, ptr %190, align 8 + %191 = load { ptr, ptr }, ptr %188, align 8 + %192 = extractvalue { ptr, ptr } %191, 1 + %193 = extractvalue { ptr, ptr } %191, 0 + %194 = call i64 %193(ptr %192) + %195 = icmp ne i64 %194, 1 + br i1 %195, label %_llgo_7, label %_llgo_8 _llgo_20: ; preds = %_llgo_6 - %194 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %195 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %194, i32 0, i32 0 - store ptr @8, ptr %195, align 8 - %196 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %194, i32 0, i32 1 - store i64 21, ptr %196, align 4 - %197 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %194, align 8 - %198 = load ptr, ptr @_llgo_string, align 8 - %199 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %197, ptr %199, align 8 - %200 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %201 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %200, i32 0, i32 0 - store ptr %198, ptr %201, align 8 - %202 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %200, i32 0, i32 1 - store ptr %199, ptr %202, align 8 - %203 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %200, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %203) + %196 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %197 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %196, i32 0, i32 0 + store ptr @8, ptr %197, align 8 + %198 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %196, i32 0, i32 1 + store i64 21, ptr %198, align 4 + %199 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %196, align 8 + %200 = load ptr, ptr @_llgo_string, align 8 + %201 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %199, ptr %201, align 8 + %202 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %203 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %202, i32 0, i32 0 + store ptr %200, ptr %203, align 8 + %204 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %202, i32 0, i32 1 + store ptr %201, ptr %204, align 8 + %205 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %202, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %205) unreachable _llgo_21: ; preds = %_llgo_12 - %204 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %125, 1 - %205 = load ptr, ptr @"main.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 - %206 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %205, ptr %126) - %207 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %208 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %207, i32 0, i32 0 - store ptr %206, ptr %208, align 8 - %209 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %207, i32 0, i32 1 - store ptr %204, ptr %209, align 8 - %210 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %207, align 8 - %211 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %212 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface" }, ptr %211, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.iface" %125, ptr %212, align 8 - %213 = alloca { ptr, ptr }, align 8 - %214 = getelementptr inbounds { ptr, ptr }, ptr %213, i32 0, i32 0 - store ptr @"main.two$bound", ptr %214, align 8 - %215 = getelementptr inbounds { ptr, ptr }, ptr %213, i32 0, i32 1 - store ptr %211, ptr %215, align 8 - %216 = load { ptr, ptr }, ptr %213, align 8 - %217 = extractvalue { ptr, ptr } %216, 1 - %218 = extractvalue { ptr, ptr } %216, 0 - %219 = call %"github.com/goplus/llgo/internal/runtime.String" %218(ptr %217) - %220 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %221 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %220, i32 0, i32 0 - store ptr @0, ptr %221, align 8 - %222 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %220, i32 0, i32 1 - store i64 3, ptr %222, align 4 - %223 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %220, align 8 - %224 = call i1 @"github.com/goplus/llgo/internal/runtime.StringEqual"(%"github.com/goplus/llgo/internal/runtime.String" %219, %"github.com/goplus/llgo/internal/runtime.String" %223) - %225 = xor i1 %224, true - br i1 %225, label %_llgo_13, label %_llgo_14 + %206 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %127, 1 + %207 = load ptr, ptr @"main.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 + %208 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %207, ptr %128) + %209 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %210 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %209, i32 0, i32 0 + store ptr %208, ptr %210, align 8 + %211 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %209, i32 0, i32 1 + store ptr %206, ptr %211, align 8 + %212 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %209, align 8 + %213 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %214 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface" }, ptr %213, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.iface" %127, ptr %214, align 8 + %215 = alloca { ptr, ptr }, align 8 + %216 = getelementptr inbounds { ptr, ptr }, ptr %215, i32 0, i32 0 + store ptr @"main.two$bound", ptr %216, align 8 + %217 = getelementptr inbounds { ptr, ptr }, ptr %215, i32 0, i32 1 + store ptr %213, ptr %217, align 8 + %218 = load { ptr, ptr }, ptr %215, align 8 + %219 = extractvalue { ptr, ptr } %218, 1 + %220 = extractvalue { ptr, ptr } %218, 0 + %221 = call %"github.com/goplus/llgo/internal/runtime.String" %220(ptr %219) + %222 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %223 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %222, i32 0, i32 0 + store ptr @0, ptr %223, align 8 + %224 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %222, i32 0, i32 1 + store i64 3, ptr %224, align 4 + %225 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %222, align 8 + %226 = call i1 @"github.com/goplus/llgo/internal/runtime.StringEqual"(%"github.com/goplus/llgo/internal/runtime.String" %221, %"github.com/goplus/llgo/internal/runtime.String" %225) + %227 = xor i1 %226, true + br i1 %227, label %_llgo_13, label %_llgo_14 _llgo_22: ; preds = %_llgo_12 - %226 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %227 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %226, i32 0, i32 0 - store ptr @8, ptr %227, align 8 - %228 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %226, i32 0, i32 1 - store i64 21, ptr %228, align 4 - %229 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %226, align 8 - %230 = load ptr, ptr @_llgo_string, align 8 - %231 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %229, ptr %231, align 8 - %232 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %233 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %232, i32 0, i32 0 - store ptr %230, ptr %233, align 8 - %234 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %232, i32 0, i32 1 - store ptr %231, ptr %234, align 8 - %235 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %232, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %235) + %228 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %229 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %228, i32 0, i32 0 + store ptr @8, ptr %229, align 8 + %230 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %228, i32 0, i32 1 + store i64 21, ptr %230, align 4 + %231 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %228, align 8 + %232 = load ptr, ptr @_llgo_string, align 8 + %233 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %231, ptr %233, align 8 + %234 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %235 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %234, i32 0, i32 0 + store ptr %232, ptr %235, align 8 + %236 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %234, i32 0, i32 1 + store ptr %233, ptr %236, align 8 + %237 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %234, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %237) unreachable _llgo_23: ; preds = %_llgo_14 - %236 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %136, 1 - %237 = load ptr, ptr @"main.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 - %238 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %237, ptr %137) - %239 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %240 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %239, i32 0, i32 0 - store ptr %238, ptr %240, align 8 - %241 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %239, i32 0, i32 1 - store ptr %236, ptr %241, align 8 - %242 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %239, align 8 - %243 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %244 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface" }, ptr %243, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.iface" %136, ptr %244, align 8 - %245 = alloca { ptr, ptr }, align 8 - %246 = getelementptr inbounds { ptr, ptr }, ptr %245, i32 0, i32 0 - store ptr @"main.two$bound", ptr %246, align 8 - %247 = getelementptr inbounds { ptr, ptr }, ptr %245, i32 0, i32 1 - store ptr %243, ptr %247, align 8 - %248 = load { ptr, ptr }, ptr %245, align 8 - %249 = extractvalue { ptr, ptr } %248, 1 - %250 = extractvalue { ptr, ptr } %248, 0 - %251 = call %"github.com/goplus/llgo/internal/runtime.String" %250(ptr %249) - %252 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %253 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %252, i32 0, i32 0 - store ptr @0, ptr %253, align 8 - %254 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %252, i32 0, i32 1 - store i64 3, ptr %254, align 4 - %255 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %252, align 8 - %256 = call i1 @"github.com/goplus/llgo/internal/runtime.StringEqual"(%"github.com/goplus/llgo/internal/runtime.String" %251, %"github.com/goplus/llgo/internal/runtime.String" %255) - %257 = xor i1 %256, true - br i1 %257, label %_llgo_15, label %_llgo_16 + %238 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %138, 1 + %239 = load ptr, ptr @"main.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 + %240 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %239, ptr %139) + %241 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %242 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %241, i32 0, i32 0 + store ptr %240, ptr %242, align 8 + %243 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %241, i32 0, i32 1 + store ptr %238, ptr %243, align 8 + %244 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %241, align 8 + %245 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %246 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface" }, ptr %245, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.iface" %138, ptr %246, align 8 + %247 = alloca { ptr, ptr }, align 8 + %248 = getelementptr inbounds { ptr, ptr }, ptr %247, i32 0, i32 0 + store ptr @"main.two$bound", ptr %248, align 8 + %249 = getelementptr inbounds { ptr, ptr }, ptr %247, i32 0, i32 1 + store ptr %245, ptr %249, align 8 + %250 = load { ptr, ptr }, ptr %247, align 8 + %251 = extractvalue { ptr, ptr } %250, 1 + %252 = extractvalue { ptr, ptr } %250, 0 + %253 = call %"github.com/goplus/llgo/internal/runtime.String" %252(ptr %251) + %254 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %255 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %254, i32 0, i32 0 + store ptr @0, ptr %255, align 8 + %256 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %254, i32 0, i32 1 + store i64 3, ptr %256, align 4 + %257 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %254, align 8 + %258 = call i1 @"github.com/goplus/llgo/internal/runtime.StringEqual"(%"github.com/goplus/llgo/internal/runtime.String" %253, %"github.com/goplus/llgo/internal/runtime.String" %257) + %259 = xor i1 %258, true + br i1 %259, label %_llgo_15, label %_llgo_16 _llgo_24: ; preds = %_llgo_14 - %258 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %259 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %258, i32 0, i32 0 - store ptr @8, ptr %259, align 8 - %260 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %258, i32 0, i32 1 - store i64 21, ptr %260, align 4 - %261 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %258, align 8 - %262 = load ptr, ptr @_llgo_string, align 8 - %263 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %261, ptr %263, align 8 - %264 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %265 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %264, i32 0, i32 0 - store ptr %262, ptr %265, align 8 - %266 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %264, i32 0, i32 1 - store ptr %263, ptr %266, align 8 - %267 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %264, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %267) + %260 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %261 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %260, i32 0, i32 0 + store ptr @8, ptr %261, align 8 + %262 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %260, i32 0, i32 1 + store i64 21, ptr %262, align 4 + %263 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %260, align 8 + %264 = load ptr, ptr @_llgo_string, align 8 + %265 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %263, ptr %265, align 8 + %266 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %267 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %266, i32 0, i32 0 + store ptr %264, ptr %267, align 8 + %268 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %266, i32 0, i32 1 + store ptr %265, ptr %268, align 8 + %269 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %266, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %269) unreachable } @@ -673,283 +675,285 @@ _llgo_3: ; preds = %_llgo_2 _llgo_4: ; preds = %_llgo_3, %_llgo_2 %30 = load ptr, ptr @_llgo_int, align 8 - %31 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %32 = icmp eq ptr %31, null - br i1 %32, label %_llgo_5, label %_llgo_6 + %31 = load ptr, ptr @_llgo_int, align 8 + %32 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %33 = icmp eq ptr %32, null + br i1 %33, label %_llgo_5, label %_llgo_6 _llgo_5: ; preds = %_llgo_4 - %33 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %34 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %35 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %34, i32 0, i32 0 - store ptr %33, ptr %35, align 8 - %36 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %34, i32 0, i32 1 - store i64 0, ptr %36, align 4 - %37 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %34, i32 0, i32 2 + %34 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %35 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %36 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %35, i32 0, i32 0 + store ptr %34, ptr %36, align 8 + %37 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %35, i32 0, i32 1 store i64 0, ptr %37, align 4 - %38 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %34, align 8 - %39 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %40 = getelementptr ptr, ptr %39, i64 0 - store ptr %30, ptr %40, align 8 - %41 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %42 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %41, i32 0, i32 0 - store ptr %39, ptr %42, align 8 - %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %41, i32 0, i32 1 - store i64 1, ptr %43, align 4 - %44 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %41, i32 0, i32 2 + %38 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %35, i32 0, i32 2 + store i64 0, ptr %38, align 4 + %39 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %35, align 8 + %40 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %41 = getelementptr ptr, ptr %40, i64 0 + store ptr %31, ptr %41, align 8 + %42 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, i32 0, i32 0 + store ptr %40, ptr %43, align 8 + %44 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, i32 0, i32 1 store i64 1, ptr %44, align 4 - %45 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %41, align 8 - %46 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %38, %"github.com/goplus/llgo/internal/runtime.Slice" %45, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %46) - store ptr %46, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %45 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, i32 0, i32 2 + store i64 1, ptr %45, align 4 + %46 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, align 8 + %47 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %39, %"github.com/goplus/llgo/internal/runtime.Slice" %46, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %47) + store ptr %47, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %47 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %48 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %49 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %48, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %26, ptr %49, align 8 - %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %48, i32 0, i32 1 - store ptr %47, ptr %50, align 8 - %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %48, i32 0, i32 2 - store ptr @"main.(*impl).one", ptr %51, align 8 - %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %48, i32 0, i32 3 + %48 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %49 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %49, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %26, ptr %50, align 8 + %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %49, i32 0, i32 1 + store ptr %48, ptr %51, align 8 + %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %49, i32 0, i32 2 store ptr @"main.(*impl).one", ptr %52, align 8 - %53 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %48, align 8 - %54 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %55 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %54, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %26, ptr %55, align 8 - %56 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %54, i32 0, i32 1 - store ptr %47, ptr %56, align 8 - %57 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %54, i32 0, i32 2 - store ptr @"main.(*impl).one", ptr %57, align 8 - %58 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %54, i32 0, i32 3 - store ptr @main.impl.one, ptr %58, align 8 - %59 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %54, align 8 - %60 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %61 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %60, i32 0, i32 0 - store ptr @0, ptr %61, align 8 - %62 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %60, i32 0, i32 1 - store i64 3, ptr %62, align 4 - %63 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %60, align 8 - %64 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %65 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %64, i32 0, i32 0 - store ptr @5, ptr %65, align 8 - %66 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %64, i32 0, i32 1 - store i64 8, ptr %66, align 4 - %67 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %64, align 8 - %68 = load ptr, ptr @_llgo_string, align 8 - %69 = icmp eq ptr %68, null - br i1 %69, label %_llgo_7, label %_llgo_8 + %53 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %49, i32 0, i32 3 + store ptr @"main.(*impl).one", ptr %53, align 8 + %54 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %49, align 8 + %55 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %56 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %55, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %26, ptr %56, align 8 + %57 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %55, i32 0, i32 1 + store ptr %48, ptr %57, align 8 + %58 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %55, i32 0, i32 2 + store ptr @"main.(*impl).one", ptr %58, align 8 + %59 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %55, i32 0, i32 3 + store ptr @main.impl.one, ptr %59, align 8 + %60 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %55, align 8 + %61 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %62 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %61, i32 0, i32 0 + store ptr @0, ptr %62, align 8 + %63 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %61, i32 0, i32 1 + store i64 3, ptr %63, align 4 + %64 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %61, align 8 + %65 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %66 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %65, i32 0, i32 0 + store ptr @5, ptr %66, align 8 + %67 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %65, i32 0, i32 1 + store i64 8, ptr %67, align 4 + %68 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %65, align 8 + %69 = load ptr, ptr @_llgo_string, align 8 + %70 = icmp eq ptr %69, null + br i1 %70, label %_llgo_7, label %_llgo_8 _llgo_7: ; preds = %_llgo_6 - %70 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - store ptr %70, ptr @_llgo_string, align 8 + %71 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + store ptr %71, ptr @_llgo_string, align 8 br label %_llgo_8 _llgo_8: ; preds = %_llgo_7, %_llgo_6 - %71 = load ptr, ptr @_llgo_string, align 8 - %72 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %73 = icmp eq ptr %72, null - br i1 %73, label %_llgo_9, label %_llgo_10 + %72 = load ptr, ptr @_llgo_string, align 8 + %73 = load ptr, ptr @_llgo_string, align 8 + %74 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %75 = icmp eq ptr %74, null + br i1 %75, label %_llgo_9, label %_llgo_10 _llgo_9: ; preds = %_llgo_8 - %74 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %75 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %76 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %75, i32 0, i32 0 - store ptr %74, ptr %76, align 8 - %77 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %75, i32 0, i32 1 - store i64 0, ptr %77, align 4 - %78 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %75, i32 0, i32 2 - store i64 0, ptr %78, align 4 - %79 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %75, align 8 - %80 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %81 = getelementptr ptr, ptr %80, i64 0 - store ptr %71, ptr %81, align 8 - %82 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %83 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %82, i32 0, i32 0 - store ptr %80, ptr %83, align 8 - %84 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %82, i32 0, i32 1 - store i64 1, ptr %84, align 4 - %85 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %82, i32 0, i32 2 - store i64 1, ptr %85, align 4 - %86 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %82, align 8 - %87 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %79, %"github.com/goplus/llgo/internal/runtime.Slice" %86, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %87) - store ptr %87, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %76 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %77 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %78 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, i32 0, i32 0 + store ptr %76, ptr %78, align 8 + %79 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, i32 0, i32 1 + store i64 0, ptr %79, align 4 + %80 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, i32 0, i32 2 + store i64 0, ptr %80, align 4 + %81 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, align 8 + %82 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %83 = getelementptr ptr, ptr %82, i64 0 + store ptr %73, ptr %83, align 8 + %84 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %85 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %84, i32 0, i32 0 + store ptr %82, ptr %85, align 8 + %86 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %84, i32 0, i32 1 + store i64 1, ptr %86, align 4 + %87 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %84, i32 0, i32 2 + store i64 1, ptr %87, align 4 + %88 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %84, align 8 + %89 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %81, %"github.com/goplus/llgo/internal/runtime.Slice" %88, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %89) + store ptr %89, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 br label %_llgo_10 _llgo_10: ; preds = %_llgo_9, %_llgo_8 - %88 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %89 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %90 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %89, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %67, ptr %90, align 8 - %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %89, i32 0, i32 1 - store ptr %88, ptr %91, align 8 - %92 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %89, i32 0, i32 2 - store ptr @"main.(*impl).two", ptr %92, align 8 - %93 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %89, i32 0, i32 3 - store ptr @"main.(*impl).two", ptr %93, align 8 - %94 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %89, align 8 - %95 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %96 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %95, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %67, ptr %96, align 8 - %97 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %95, i32 0, i32 1 - store ptr %88, ptr %97, align 8 - %98 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %95, i32 0, i32 2 - store ptr @"main.(*impl).two", ptr %98, align 8 - %99 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %95, i32 0, i32 3 - store ptr @main.impl.two, ptr %99, align 8 - %100 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %95, align 8 - %101 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) - %102 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %101, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %59, ptr %102, align 8 - %103 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %101, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %100, ptr %103, align 8 - %104 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %105 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %104, i32 0, i32 0 - store ptr %101, ptr %105, align 8 - %106 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %104, i32 0, i32 1 - store i64 2, ptr %106, align 4 - %107 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %104, i32 0, i32 2 - store i64 2, ptr %107, align 4 - %108 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %104, align 8 - %109 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) - %110 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %109, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %53, ptr %110, align 8 - %111 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %109, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %94, ptr %111, align 8 - %112 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %113 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %112, i32 0, i32 0 - store ptr %109, ptr %113, align 8 - %114 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %112, i32 0, i32 1 - store i64 2, ptr %114, align 4 - %115 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %112, i32 0, i32 2 - store i64 2, ptr %115, align 4 - %116 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %112, align 8 - %117 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %118 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %117, i32 0, i32 0 - store ptr @2, ptr %118, align 8 - %119 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %117, i32 0, i32 1 - store i64 4, ptr %119, align 4 - %120 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %117, align 8 - %121 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %122 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %121, i32 0, i32 0 - store ptr @6, ptr %122, align 8 - %123 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %121, i32 0, i32 1 - store i64 4, ptr %123, align 4 - %124 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %121, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %4, %"github.com/goplus/llgo/internal/runtime.String" %120, %"github.com/goplus/llgo/internal/runtime.String" %124, ptr %18, %"github.com/goplus/llgo/internal/runtime.Slice" %108, %"github.com/goplus/llgo/internal/runtime.Slice" %116) - %125 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %126 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %127 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %128 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %127, i32 0, i32 0 - store ptr @4, ptr %128, align 8 - %129 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %127, i32 0, i32 1 - store i64 8, ptr %129, align 4 - %130 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %127, align 8 - %131 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %132 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %131, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %130, ptr %132, align 8 - %133 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %131, i32 0, i32 1 - store ptr %125, ptr %133, align 8 - %134 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %131, align 8 - %135 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %136 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %135, i32 0, i32 0 - store ptr @5, ptr %136, align 8 - %137 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %135, i32 0, i32 1 - store i64 8, ptr %137, align 4 - %138 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %135, align 8 - %139 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %140 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %139, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %138, ptr %140, align 8 - %141 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %139, i32 0, i32 1 - store ptr %126, ptr %141, align 8 - %142 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %139, align 8 - %143 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48) - %144 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %143, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %134, ptr %144, align 8 - %145 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %143, i64 1 - store %"github.com/goplus/llgo/internal/abi.Imethod" %142, ptr %145, align 8 - %146 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %147 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %146, i32 0, i32 0 - store ptr %143, ptr %147, align 8 - %148 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %146, i32 0, i32 1 - store i64 2, ptr %148, align 4 - %149 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %146, i32 0, i32 2 - store i64 2, ptr %149, align 4 - %150 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %146, align 8 - %151 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %152 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %151, i32 0, i32 0 - store ptr @2, ptr %152, align 8 - %153 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %151, i32 0, i32 1 - store i64 4, ptr %153, align 4 - %154 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %151, align 8 - %155 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %156 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %155, i32 0, i32 0 - store ptr null, ptr %156, align 8 - %157 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %155, i32 0, i32 1 - store i64 0, ptr %157, align 4 - %158 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %155, align 8 - %159 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %154, %"github.com/goplus/llgo/internal/runtime.String" %158, %"github.com/goplus/llgo/internal/runtime.Slice" %150) - store ptr %159, ptr @"main.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 - %160 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %161 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %162 = load ptr, ptr @_llgo_main.I, align 8 - %163 = icmp eq ptr %162, null - br i1 %163, label %_llgo_11, label %_llgo_12 + %90 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %91 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %92 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %91, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %68, ptr %92, align 8 + %93 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %91, i32 0, i32 1 + store ptr %90, ptr %93, align 8 + %94 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %91, i32 0, i32 2 + store ptr @"main.(*impl).two", ptr %94, align 8 + %95 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %91, i32 0, i32 3 + store ptr @"main.(*impl).two", ptr %95, align 8 + %96 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %91, align 8 + %97 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %98 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %97, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %68, ptr %98, align 8 + %99 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %97, i32 0, i32 1 + store ptr %90, ptr %99, align 8 + %100 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %97, i32 0, i32 2 + store ptr @"main.(*impl).two", ptr %100, align 8 + %101 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %97, i32 0, i32 3 + store ptr @main.impl.two, ptr %101, align 8 + %102 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %97, align 8 + %103 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) + %104 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %103, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %60, ptr %104, align 8 + %105 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %103, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %102, ptr %105, align 8 + %106 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %107 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %106, i32 0, i32 0 + store ptr %103, ptr %107, align 8 + %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %106, i32 0, i32 1 + store i64 2, ptr %108, align 4 + %109 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %106, i32 0, i32 2 + store i64 2, ptr %109, align 4 + %110 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %106, align 8 + %111 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) + %112 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %111, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %54, ptr %112, align 8 + %113 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %111, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %96, ptr %113, align 8 + %114 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %115 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %114, i32 0, i32 0 + store ptr %111, ptr %115, align 8 + %116 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %114, i32 0, i32 1 + store i64 2, ptr %116, align 4 + %117 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %114, i32 0, i32 2 + store i64 2, ptr %117, align 4 + %118 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %114, align 8 + %119 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %120 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %119, i32 0, i32 0 + store ptr @2, ptr %120, align 8 + %121 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %119, i32 0, i32 1 + store i64 4, ptr %121, align 4 + %122 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %119, align 8 + %123 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %124 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %123, i32 0, i32 0 + store ptr @6, ptr %124, align 8 + %125 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %123, i32 0, i32 1 + store i64 4, ptr %125, align 4 + %126 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %123, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %4, %"github.com/goplus/llgo/internal/runtime.String" %122, %"github.com/goplus/llgo/internal/runtime.String" %126, ptr %18, %"github.com/goplus/llgo/internal/runtime.Slice" %110, %"github.com/goplus/llgo/internal/runtime.Slice" %118) + %127 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %128 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %129 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %130 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %129, i32 0, i32 0 + store ptr @4, ptr %130, align 8 + %131 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %129, i32 0, i32 1 + store i64 8, ptr %131, align 4 + %132 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %129, align 8 + %133 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %134 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %133, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %132, ptr %134, align 8 + %135 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %133, i32 0, i32 1 + store ptr %127, ptr %135, align 8 + %136 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %133, align 8 + %137 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %138 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %137, i32 0, i32 0 + store ptr @5, ptr %138, align 8 + %139 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %137, i32 0, i32 1 + store i64 8, ptr %139, align 4 + %140 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %137, align 8 + %141 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %142 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %141, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %140, ptr %142, align 8 + %143 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %141, i32 0, i32 1 + store ptr %128, ptr %143, align 8 + %144 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %141, align 8 + %145 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48) + %146 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %145, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %136, ptr %146, align 8 + %147 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %145, i64 1 + store %"github.com/goplus/llgo/internal/abi.Imethod" %144, ptr %147, align 8 + %148 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %149 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %148, i32 0, i32 0 + store ptr %145, ptr %149, align 8 + %150 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %148, i32 0, i32 1 + store i64 2, ptr %150, align 4 + %151 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %148, i32 0, i32 2 + store i64 2, ptr %151, align 4 + %152 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %148, align 8 + %153 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %154 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %153, i32 0, i32 0 + store ptr @2, ptr %154, align 8 + %155 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %153, i32 0, i32 1 + store i64 4, ptr %155, align 4 + %156 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %153, align 8 + %157 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %158 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %157, i32 0, i32 0 + store ptr null, ptr %158, align 8 + %159 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %157, i32 0, i32 1 + store i64 0, ptr %159, align 4 + %160 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %157, align 8 + %161 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %156, %"github.com/goplus/llgo/internal/runtime.String" %160, %"github.com/goplus/llgo/internal/runtime.Slice" %152) + store ptr %161, ptr @"main.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 + %162 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %163 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %164 = load ptr, ptr @_llgo_main.I, align 8 + %165 = icmp eq ptr %164, null + br i1 %165, label %_llgo_11, label %_llgo_12 _llgo_11: ; preds = %_llgo_10 - %164 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %165 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %164, i32 0, i32 0 - store ptr @4, ptr %165, align 8 - %166 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %164, i32 0, i32 1 - store i64 8, ptr %166, align 4 - %167 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %164, align 8 - %168 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %169 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %168, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %167, ptr %169, align 8 - %170 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %168, i32 0, i32 1 - store ptr %160, ptr %170, align 8 - %171 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %168, align 8 - %172 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %173 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %172, i32 0, i32 0 - store ptr @5, ptr %173, align 8 - %174 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %172, i32 0, i32 1 - store i64 8, ptr %174, align 4 - %175 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %172, align 8 - %176 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %177 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %176, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %175, ptr %177, align 8 - %178 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %176, i32 0, i32 1 - store ptr %161, ptr %178, align 8 - %179 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %176, align 8 - %180 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48) - %181 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %180, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %171, ptr %181, align 8 - %182 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %180, i64 1 - store %"github.com/goplus/llgo/internal/abi.Imethod" %179, ptr %182, align 8 - %183 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %184 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %183, i32 0, i32 0 - store ptr %180, ptr %184, align 8 - %185 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %183, i32 0, i32 1 - store i64 2, ptr %185, align 4 - %186 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %183, i32 0, i32 2 - store i64 2, ptr %186, align 4 - %187 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %183, align 8 - %188 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %189 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %188, i32 0, i32 0 - store ptr @2, ptr %189, align 8 - %190 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %188, i32 0, i32 1 - store i64 4, ptr %190, align 4 - %191 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %188, align 8 - %192 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %193 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %192, i32 0, i32 0 - store ptr @7, ptr %193, align 8 - %194 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %192, i32 0, i32 1 - store i64 6, ptr %194, align 4 - %195 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %192, align 8 - %196 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %191, %"github.com/goplus/llgo/internal/runtime.String" %195, %"github.com/goplus/llgo/internal/runtime.Slice" %187) - store ptr %196, ptr @_llgo_main.I, align 8 + %166 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %167 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %166, i32 0, i32 0 + store ptr @4, ptr %167, align 8 + %168 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %166, i32 0, i32 1 + store i64 8, ptr %168, align 4 + %169 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %166, align 8 + %170 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %171 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %170, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %169, ptr %171, align 8 + %172 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %170, i32 0, i32 1 + store ptr %162, ptr %172, align 8 + %173 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %170, align 8 + %174 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %175 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %174, i32 0, i32 0 + store ptr @5, ptr %175, align 8 + %176 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %174, i32 0, i32 1 + store i64 8, ptr %176, align 4 + %177 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %174, align 8 + %178 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %179 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %178, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %177, ptr %179, align 8 + %180 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %178, i32 0, i32 1 + store ptr %163, ptr %180, align 8 + %181 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %178, align 8 + %182 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48) + %183 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %182, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %173, ptr %183, align 8 + %184 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %182, i64 1 + store %"github.com/goplus/llgo/internal/abi.Imethod" %181, ptr %184, align 8 + %185 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %186 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %185, i32 0, i32 0 + store ptr %182, ptr %186, align 8 + %187 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %185, i32 0, i32 1 + store i64 2, ptr %187, align 4 + %188 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %185, i32 0, i32 2 + store i64 2, ptr %188, align 4 + %189 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %185, align 8 + %190 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %191 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %190, i32 0, i32 0 + store ptr @2, ptr %191, align 8 + %192 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %190, i32 0, i32 1 + store i64 4, ptr %192, align 4 + %193 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %190, align 8 + %194 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %195 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %194, i32 0, i32 0 + store ptr @7, ptr %195, align 8 + %196 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %194, i32 0, i32 1 + store i64 6, ptr %196, align 4 + %197 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %194, align 8 + %198 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %193, %"github.com/goplus/llgo/internal/runtime.String" %197, %"github.com/goplus/llgo/internal/runtime.Slice" %189) + store ptr %198, ptr @_llgo_main.I, align 8 br label %_llgo_12 _llgo_12: ; preds = %_llgo_11, %_llgo_10 diff --git a/cl/_testgo/interface/out.ll b/cl/_testgo/interface/out.ll index 0a79b918..376495d3 100644 --- a/cl/_testgo/interface/out.ll +++ b/cl/_testgo/interface/out.ll @@ -5,9 +5,9 @@ source_filename = "main" %"github.com/goplus/llgo/internal/runtime.eface" = type { ptr, ptr } %"github.com/goplus/llgo/internal/runtime.iface" = type { ptr, ptr } %"github.com/goplus/llgo/internal/runtime.String" = type { ptr, i64 } -%"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 } %"github.com/goplus/llgo/internal/runtime.Slice" = type { ptr, i64, i64 } %"github.com/goplus/llgo/internal/abi.Method" = type { %"github.com/goplus/llgo/internal/runtime.String", ptr, ptr, ptr } +%"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 } %"github.com/goplus/llgo/internal/abi.Imethod" = type { %"github.com/goplus/llgo/internal/runtime.String", ptr } @"main.init$guard" = global i1 false, align 1 @@ -15,24 +15,26 @@ source_filename = "main" @__llgo_argv = global ptr null, align 8 @_llgo_main.Game1 = linkonce global ptr null, align 8 @0 = private unnamed_addr constant [10 x i8] c"main.Game1", align 1 -@"_llgo_struct$cJmCzeVn0orHWafCrTGAnbbAF46F2A4Fms4bJBm8ITI" = linkonce global ptr null, align 8 +@"_llgo_github.com/goplus/llgo/cl/internal/foo.Game" = linkonce global ptr null, align 8 @1 = private unnamed_addr constant [43 x i8] c"github.com/goplus/llgo/cl/internal/foo.Game", align 1 -@2 = private unnamed_addr constant [4 x i8] c"Game", align 1 -@3 = private unnamed_addr constant [4 x i8] c"main", align 1 -@4 = private unnamed_addr constant [4 x i8] c"Load", align 1 +@"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw" = linkonce global ptr null, align 8 +@2 = private unnamed_addr constant [4 x i8] c"main", align 1 +@3 = private unnamed_addr constant [4 x i8] c"Load", align 1 @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac" = linkonce global ptr null, align 8 -@5 = private unnamed_addr constant [8 x i8] c"initGame", align 1 -@6 = private unnamed_addr constant [47 x i8] c"github.com/goplus/llgo/cl/internal/foo.initGame", align 1 -@7 = private unnamed_addr constant [5 x i8] c"Game1", align 1 +@4 = private unnamed_addr constant [8 x i8] c"initGame", align 1 +@5 = private unnamed_addr constant [47 x i8] c"github.com/goplus/llgo/cl/internal/foo.initGame", align 1 +@6 = private unnamed_addr constant [38 x i8] c"github.com/goplus/llgo/cl/internal/foo", align 1 +@7 = private unnamed_addr constant [4 x i8] c"Game", align 1 +@"*_llgo_github.com/goplus/llgo/cl/internal/foo.Game" = linkonce global ptr null, align 8 +@"_llgo_struct$cJmCzeVn0orHWafCrTGAnbbAF46F2A4Fms4bJBm8ITI" = linkonce global ptr null, align 8 +@8 = private unnamed_addr constant [5 x i8] c"Game1", align 1 @"*_llgo_main.Game1" = linkonce global ptr null, align 8 @_llgo_main.Game2 = linkonce global ptr null, align 8 -@8 = private unnamed_addr constant [10 x i8] c"main.Game2", align 1 -@"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw" = linkonce global ptr null, align 8 -@9 = private unnamed_addr constant [13 x i8] c"main.initGame", align 1 -@10 = private unnamed_addr constant [5 x i8] c"Game2", align 1 +@9 = private unnamed_addr constant [10 x i8] c"main.Game2", align 1 +@10 = private unnamed_addr constant [13 x i8] c"main.initGame", align 1 +@11 = private unnamed_addr constant [5 x i8] c"Game2", align 1 @"*_llgo_main.Game2" = linkonce global ptr null, align 8 @"_llgo_github.com/goplus/llgo/cl/internal/foo.Gamer" = linkonce global ptr null, align 8 -@11 = private unnamed_addr constant [38 x i8] c"github.com/goplus/llgo/cl/internal/foo", align 1 @12 = private unnamed_addr constant [44 x i8] c"github.com/goplus/llgo/cl/internal/foo.Gamer", align 1 @"main.iface$sO8a1LvuUsjXwiwaC6sR9-L4DiYgiOnZi7iosyShJXg" = linkonce global ptr null, align 8 @13 = private unnamed_addr constant [2 x i8] c"OK", align 1 @@ -106,135 +108,137 @@ _llgo_0: %3 = getelementptr inbounds %main.Game1, ptr %2, i32 0, i32 0 %4 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 0) store ptr %4, ptr %3, align 8 - %5 = load ptr, ptr @"*_llgo_main.Game1", align 8 - %6 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %7 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %6, i32 0, i32 0 - store ptr %5, ptr %7, align 8 - %8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %6, i32 0, i32 1 - store ptr %2, ptr %8, align 8 - %9 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %6, align 8 - %10 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 0) - %11 = load ptr, ptr @"*_llgo_main.Game2", align 8 - %12 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %13 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %12, i32 0, i32 0 - store ptr %11, ptr %13, align 8 - %14 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %12, i32 0, i32 1 - store ptr %10, ptr %14, align 8 - %15 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %12, align 8 - %16 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %9, 0 - %17 = load ptr, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Gamer", align 8 - %18 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %17, ptr %16) - br i1 %18, label %_llgo_3, label %_llgo_4 + %5 = load ptr, ptr @_llgo_main.Game1, align 8 + %6 = load ptr, ptr @"*_llgo_main.Game1", align 8 + %7 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %7, i32 0, i32 0 + store ptr %6, ptr %8, align 8 + %9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %7, i32 0, i32 1 + store ptr %2, ptr %9, align 8 + %10 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %7, align 8 + %11 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 0) + %12 = load ptr, ptr @_llgo_main.Game2, align 8 + %13 = load ptr, ptr @"*_llgo_main.Game2", align 8 + %14 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %15 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %14, i32 0, i32 0 + store ptr %13, ptr %15, align 8 + %16 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %14, i32 0, i32 1 + store ptr %11, ptr %16, align 8 + %17 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %14, align 8 + %18 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %10, 0 + %19 = load ptr, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Gamer", align 8 + %20 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %19, ptr %18) + br i1 %20, label %_llgo_3, label %_llgo_4 _llgo_1: ; preds = %_llgo_5 - %19 = call ptr @"github.com/goplus/llgo/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/internal/runtime.iface" %48) - %20 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %48, 0 - %21 = getelementptr ptr, ptr %20, i64 3 - %22 = load ptr, ptr %21, align 8 - %23 = alloca { ptr, ptr }, align 8 - %24 = getelementptr inbounds { ptr, ptr }, ptr %23, i32 0, i32 0 - store ptr %22, ptr %24, align 8 - %25 = getelementptr inbounds { ptr, ptr }, ptr %23, i32 0, i32 1 - store ptr %19, ptr %25, align 8 - %26 = load { ptr, ptr }, ptr %23, align 8 - %27 = extractvalue { ptr, ptr } %26, 1 - %28 = extractvalue { ptr, ptr } %26, 0 - call void %28(ptr %27) + %21 = call ptr @"github.com/goplus/llgo/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/internal/runtime.iface" %50) + %22 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %50, 0 + %23 = getelementptr ptr, ptr %22, i64 3 + %24 = load ptr, ptr %23, align 8 + %25 = alloca { ptr, ptr }, align 8 + %26 = getelementptr inbounds { ptr, ptr }, ptr %25, i32 0, i32 0 + store ptr %24, ptr %26, align 8 + %27 = getelementptr inbounds { ptr, ptr }, ptr %25, i32 0, i32 1 + store ptr %21, ptr %27, align 8 + %28 = load { ptr, ptr }, ptr %25, align 8 + %29 = extractvalue { ptr, ptr } %28, 1 + %30 = extractvalue { ptr, ptr } %28, 0 + call void %30(ptr %29) br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_5 - %29 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %15, 0 - %30 = load ptr, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Gamer", align 8 - %31 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %30, ptr %29) - br i1 %31, label %_llgo_6, label %_llgo_7 + %31 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %17, 0 + %32 = load ptr, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Gamer", align 8 + %33 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %32, ptr %31) + br i1 %33, label %_llgo_6, label %_llgo_7 _llgo_3: ; preds = %_llgo_0 - %32 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %9, 1 - %33 = load ptr, ptr @"main.iface$sO8a1LvuUsjXwiwaC6sR9-L4DiYgiOnZi7iosyShJXg", align 8 - %34 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %33, ptr %16) - %35 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %36 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %35, i32 0, i32 0 - store ptr %34, ptr %36, align 8 - %37 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %35, i32 0, i32 1 - store ptr %32, ptr %37, align 8 - %38 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %35, align 8 - %39 = alloca { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, align 8 - %40 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %39, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.iface" %38, ptr %40, align 8 - %41 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %39, i32 0, i32 1 - store i1 true, ptr %41, align 1 - %42 = load { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %39, align 8 + %34 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %10, 1 + %35 = load ptr, ptr @"main.iface$sO8a1LvuUsjXwiwaC6sR9-L4DiYgiOnZi7iosyShJXg", align 8 + %36 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %35, ptr %18) + %37 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %38 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %37, i32 0, i32 0 + store ptr %36, ptr %38, align 8 + %39 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %37, i32 0, i32 1 + store ptr %34, ptr %39, align 8 + %40 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %37, align 8 + %41 = alloca { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, align 8 + %42 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %41, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.iface" %40, ptr %42, align 8 + %43 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %41, i32 0, i32 1 + store i1 true, ptr %43, align 1 + %44 = load { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %41, align 8 br label %_llgo_5 _llgo_4: ; preds = %_llgo_0 - %43 = alloca { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, align 8 - %44 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %43, i32 0, i32 0 - store { ptr, ptr } zeroinitializer, ptr %44, align 8 - %45 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %43, i32 0, i32 1 - store i1 false, ptr %45, align 1 - %46 = load { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %43, align 8 + %45 = alloca { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, align 8 + %46 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %45, i32 0, i32 0 + store { ptr, ptr } zeroinitializer, ptr %46, align 8 + %47 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %45, i32 0, i32 1 + store i1 false, ptr %47, align 1 + %48 = load { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %45, align 8 br label %_llgo_5 _llgo_5: ; preds = %_llgo_4, %_llgo_3 - %47 = phi { %"github.com/goplus/llgo/internal/runtime.iface", i1 } [ %42, %_llgo_3 ], [ %46, %_llgo_4 ] - %48 = extractvalue { %"github.com/goplus/llgo/internal/runtime.iface", i1 } %47, 0 - %49 = extractvalue { %"github.com/goplus/llgo/internal/runtime.iface", i1 } %47, 1 - %50 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %50, i32 0, i32 0 - store ptr @13, ptr %51, align 8 - %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %50, i32 0, i32 1 - store i64 2, ptr %52, align 4 - %53 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %50, align 8 - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %53) + %49 = phi { %"github.com/goplus/llgo/internal/runtime.iface", i1 } [ %44, %_llgo_3 ], [ %48, %_llgo_4 ] + %50 = extractvalue { %"github.com/goplus/llgo/internal/runtime.iface", i1 } %49, 0 + %51 = extractvalue { %"github.com/goplus/llgo/internal/runtime.iface", i1 } %49, 1 + %52 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %53 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %52, i32 0, i32 0 + store ptr @13, ptr %53, align 8 + %54 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %52, i32 0, i32 1 + store i64 2, ptr %54, align 4 + %55 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %52, align 8 + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %55) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintIface"(%"github.com/goplus/llgo/internal/runtime.iface" %48) + call void @"github.com/goplus/llgo/internal/runtime.PrintIface"(%"github.com/goplus/llgo/internal/runtime.iface" %50) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %49) + call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %51) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) - br i1 %49, label %_llgo_1, label %_llgo_2 + br i1 %51, label %_llgo_1, label %_llgo_2 _llgo_6: ; preds = %_llgo_2 - %54 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %15, 1 - %55 = load ptr, ptr @"main.iface$sO8a1LvuUsjXwiwaC6sR9-L4DiYgiOnZi7iosyShJXg", align 8 - %56 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %55, ptr %29) - %57 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %58 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %57, i32 0, i32 0 - store ptr %56, ptr %58, align 8 - %59 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %57, i32 0, i32 1 - store ptr %54, ptr %59, align 8 - %60 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %57, align 8 - %61 = alloca { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, align 8 - %62 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %61, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.iface" %60, ptr %62, align 8 - %63 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %61, i32 0, i32 1 - store i1 true, ptr %63, align 1 - %64 = load { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %61, align 8 + %56 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %17, 1 + %57 = load ptr, ptr @"main.iface$sO8a1LvuUsjXwiwaC6sR9-L4DiYgiOnZi7iosyShJXg", align 8 + %58 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %57, ptr %31) + %59 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %60 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %59, i32 0, i32 0 + store ptr %58, ptr %60, align 8 + %61 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %59, i32 0, i32 1 + store ptr %56, ptr %61, align 8 + %62 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %59, align 8 + %63 = alloca { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, align 8 + %64 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %63, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.iface" %62, ptr %64, align 8 + %65 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %63, i32 0, i32 1 + store i1 true, ptr %65, align 1 + %66 = load { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %63, align 8 br label %_llgo_8 _llgo_7: ; preds = %_llgo_2 - %65 = alloca { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, align 8 - %66 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %65, i32 0, i32 0 - store { ptr, ptr } zeroinitializer, ptr %66, align 8 - %67 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %65, i32 0, i32 1 - store i1 false, ptr %67, align 1 - %68 = load { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %65, align 8 + %67 = alloca { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, align 8 + %68 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %67, i32 0, i32 0 + store { ptr, ptr } zeroinitializer, ptr %68, align 8 + %69 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %67, i32 0, i32 1 + store i1 false, ptr %69, align 1 + %70 = load { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %67, align 8 br label %_llgo_8 _llgo_8: ; preds = %_llgo_7, %_llgo_6 - %69 = phi { %"github.com/goplus/llgo/internal/runtime.iface", i1 } [ %64, %_llgo_6 ], [ %68, %_llgo_7 ] - %70 = extractvalue { %"github.com/goplus/llgo/internal/runtime.iface", i1 } %69, 0 - %71 = extractvalue { %"github.com/goplus/llgo/internal/runtime.iface", i1 } %69, 1 - %72 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %73 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %72, i32 0, i32 0 - store ptr @14, ptr %73, align 8 - %74 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %72, i32 0, i32 1 - store i64 4, ptr %74, align 4 - %75 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %72, align 8 - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %75) + %71 = phi { %"github.com/goplus/llgo/internal/runtime.iface", i1 } [ %66, %_llgo_6 ], [ %70, %_llgo_7 ] + %72 = extractvalue { %"github.com/goplus/llgo/internal/runtime.iface", i1 } %71, 0 + %73 = extractvalue { %"github.com/goplus/llgo/internal/runtime.iface", i1 } %71, 1 + %74 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %75 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %74, i32 0, i32 0 + store ptr @14, ptr %75, align 8 + %76 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %74, i32 0, i32 1 + store i64 4, ptr %76, align 4 + %77 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %74, align 8 + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %77) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintIface"(%"github.com/goplus/llgo/internal/runtime.iface" %70) + call void @"github.com/goplus/llgo/internal/runtime.PrintIface"(%"github.com/goplus/llgo/internal/runtime.iface" %72) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %71) + call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %73) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) ret i32 0 } @@ -278,416 +282,525 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 store i64 43, ptr %9, align 4 %10 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %7, align 8 %11 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %10, i64 25, i64 0, i64 0, i64 2) - %12 = load ptr, ptr @"_llgo_struct$cJmCzeVn0orHWafCrTGAnbbAF46F2A4Fms4bJBm8ITI", align 8 + %12 = load ptr, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Game", align 8 %13 = icmp eq ptr %12, null br i1 %13, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 - %14 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %15 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %14, i32 0, i32 0 - store ptr @2, ptr %15, align 8 - %16 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %14, i32 0, i32 1 - store i64 4, ptr %16, align 4 - %17 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %14, align 8 - %18 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %19 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %18, i32 0, i32 0 - store ptr null, ptr %19, align 8 - %20 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %18, i32 0, i32 1 - store i64 0, ptr %20, align 4 - %21 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %18, align 8 - %22 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %11) - %23 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %17, ptr %22, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %21, i1 true) - %24 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %25 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %24, i32 0, i32 0 - store ptr @3, ptr %25, align 8 - %26 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %24, i32 0, i32 1 - store i64 4, ptr %26, align 4 - %27 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %24, align 8 - %28 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) - %29 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %28, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %23, ptr %29, align 8 - %30 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %31 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %30, i32 0, i32 0 - store ptr %28, ptr %31, align 8 - %32 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %30, i32 0, i32 1 - store i64 1, ptr %32, align 4 - %33 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %30, i32 0, i32 2 - store i64 1, ptr %33, align 4 - %34 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %30, align 8 - %35 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %27, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %34) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %35) - store ptr %35, ptr @"_llgo_struct$cJmCzeVn0orHWafCrTGAnbbAF46F2A4Fms4bJBm8ITI", align 8 + store ptr %11, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Game", align 8 br label %_llgo_4 _llgo_4: ; preds = %_llgo_3, %_llgo_2 - %36 = load ptr, ptr @"_llgo_struct$cJmCzeVn0orHWafCrTGAnbbAF46F2A4Fms4bJBm8ITI", align 8 - br i1 %6, label %_llgo_5, label %_llgo_6 + %14 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 + %15 = icmp eq ptr %14, null + br i1 %15, label %_llgo_5, label %_llgo_6 _llgo_5: ; preds = %_llgo_4 - %37 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %38 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %37, i32 0, i32 0 - store ptr @4, ptr %38, align 8 - %39 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %37, i32 0, i32 1 - store i64 4, ptr %39, align 4 - %40 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %37, align 8 - %41 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %42 = icmp eq ptr %41, null - br i1 %42, label %_llgo_7, label %_llgo_8 - -_llgo_6: ; preds = %_llgo_8, %_llgo_4 - %43 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %44 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %43, i32 0, i32 0 - store ptr @0, ptr %44, align 8 - %45 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %43, i32 0, i32 1 - store i64 10, ptr %45, align 4 - %46 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %43, align 8 - %47 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %46, i64 25, i64 8, i64 2, i64 2) - %48 = load ptr, ptr @"*_llgo_main.Game1", align 8 - %49 = icmp eq ptr %48, null - br i1 %49, label %_llgo_9, label %_llgo_10 - -_llgo_7: ; preds = %_llgo_5 - %50 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %51 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %51, i32 0, i32 0 - store ptr %50, ptr %52, align 8 - %53 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %51, i32 0, i32 1 - store i64 0, ptr %53, align 4 - %54 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %51, i32 0, i32 2 - store i64 0, ptr %54, align 4 - %55 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %51, align 8 - %56 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %57 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %58 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %57, i32 0, i32 0 - store ptr %56, ptr %58, align 8 - %59 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %57, i32 0, i32 1 - store i64 0, ptr %59, align 4 - %60 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %57, i32 0, i32 2 - store i64 0, ptr %60, align 4 - %61 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %57, align 8 - %62 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %55, %"github.com/goplus/llgo/internal/runtime.Slice" %61, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %62) - store ptr %62, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - br label %_llgo_8 - -_llgo_8: ; preds = %_llgo_7, %_llgo_5 - %63 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %64 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %65 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %64, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %40, ptr %65, align 8 - %66 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %64, i32 0, i32 1 - store ptr %63, ptr %66, align 8 - %67 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %64, i32 0, i32 2 - store ptr @"main.(*Game1).Load", ptr %67, align 8 - %68 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %64, i32 0, i32 3 - store ptr @"main.(*Game1).Load", ptr %68, align 8 - %69 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %64, align 8 - %70 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %71 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %70, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %40, ptr %71, align 8 - %72 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %70, i32 0, i32 1 - store ptr %63, ptr %72, align 8 - %73 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %70, i32 0, i32 2 - store ptr @"main.(*Game1).Load", ptr %73, align 8 - %74 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %70, i32 0, i32 3 - store ptr @main.Game1.Load, ptr %74, align 8 - %75 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %70, align 8 - %76 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %77 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %76, i32 0, i32 0 - store ptr @5, ptr %77, align 8 - %78 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %76, i32 0, i32 1 - store i64 8, ptr %78, align 4 - %79 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %76, align 8 - %80 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %81 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %80, i32 0, i32 0 - store ptr @6, ptr %81, align 8 - %82 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %80, i32 0, i32 1 - store i64 47, ptr %82, align 4 - %83 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %80, align 8 - %84 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %85 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %86 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %85, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %83, ptr %86, align 8 - %87 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %85, i32 0, i32 1 - store ptr %84, ptr %87, align 8 - %88 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %85, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/cl/internal/foo.(*Game).initGame", ptr %88, align 8 - %89 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %85, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/cl/internal/foo.(*Game).initGame", ptr %89, align 8 - %90 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %85, align 8 - %91 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %92 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %91, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %75, ptr %92, align 8 - %93 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %94 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %93, i32 0, i32 0 - store ptr %91, ptr %94, align 8 - %95 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %93, i32 0, i32 1 - store i64 1, ptr %95, align 4 - %96 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %93, i32 0, i32 2 - store i64 1, ptr %96, align 4 - %97 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %93, align 8 - %98 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) - %99 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %98, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %69, ptr %99, align 8 - %100 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %98, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %90, ptr %100, align 8 - %101 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %102 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %101, i32 0, i32 0 - store ptr %98, ptr %102, align 8 - %103 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %101, i32 0, i32 1 - store i64 2, ptr %103, align 4 - %104 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %101, i32 0, i32 2 - store i64 2, ptr %104, align 4 - %105 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %101, align 8 - %106 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %107 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %106, i32 0, i32 0 - store ptr @3, ptr %107, align 8 - %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %106, i32 0, i32 1 - store i64 4, ptr %108, align 4 - %109 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %106, align 8 - %110 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %111 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %110, i32 0, i32 0 - store ptr @7, ptr %111, align 8 - %112 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %110, i32 0, i32 1 - store i64 5, ptr %112, align 4 - %113 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %110, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %4, %"github.com/goplus/llgo/internal/runtime.String" %109, %"github.com/goplus/llgo/internal/runtime.String" %113, ptr %36, %"github.com/goplus/llgo/internal/runtime.Slice" %97, %"github.com/goplus/llgo/internal/runtime.Slice" %105) + %16 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %17 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %16, i32 0, i32 0 + store ptr @2, ptr %17, align 8 + %18 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %16, i32 0, i32 1 + store i64 4, ptr %18, align 4 + %19 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %16, align 8 + %20 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %21 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %22 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %21, i32 0, i32 0 + store ptr %20, ptr %22, align 8 + %23 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %21, i32 0, i32 1 + store i64 0, ptr %23, align 4 + %24 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %21, i32 0, i32 2 + store i64 0, ptr %24, align 4 + %25 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %21, align 8 + %26 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %19, i64 0, %"github.com/goplus/llgo/internal/runtime.Slice" %25) + store ptr %26, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 br label %_llgo_6 -_llgo_9: ; preds = %_llgo_6 - %114 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %47) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %114) - store ptr %114, ptr @"*_llgo_main.Game1", align 8 +_llgo_6: ; preds = %_llgo_5, %_llgo_4 + %27 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 + br i1 %13, label %_llgo_7, label %_llgo_8 + +_llgo_7: ; preds = %_llgo_6 + %28 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %29 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %28, i32 0, i32 0 + store ptr @3, ptr %29, align 8 + %30 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %28, i32 0, i32 1 + store i64 4, ptr %30, align 4 + %31 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %28, align 8 + %32 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %33 = icmp eq ptr %32, null + br i1 %33, label %_llgo_9, label %_llgo_10 + +_llgo_8: ; preds = %_llgo_10, %_llgo_6 + %34 = load ptr, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Game", align 8 + %35 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %36 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %35, i32 0, i32 0 + store ptr @1, ptr %36, align 8 + %37 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %35, i32 0, i32 1 + store i64 43, ptr %37, align 4 + %38 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %35, align 8 + %39 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %38, i64 25, i64 0, i64 0, i64 2) + %40 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/cl/internal/foo.Game", align 8 + %41 = icmp eq ptr %40, null + br i1 %41, label %_llgo_11, label %_llgo_12 + +_llgo_9: ; preds = %_llgo_7 + %42 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %43 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %44 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %43, i32 0, i32 0 + store ptr %42, ptr %44, align 8 + %45 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %43, i32 0, i32 1 + store i64 0, ptr %45, align 4 + %46 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %43, i32 0, i32 2 + store i64 0, ptr %46, align 4 + %47 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %43, align 8 + %48 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %49 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %49, i32 0, i32 0 + store ptr %48, ptr %50, align 8 + %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %49, i32 0, i32 1 + store i64 0, ptr %51, align 4 + %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %49, i32 0, i32 2 + store i64 0, ptr %52, align 4 + %53 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %49, align 8 + %54 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %47, %"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$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 br label %_llgo_10 -_llgo_10: ; preds = %_llgo_9, %_llgo_6 - %115 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %116 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %115, i32 0, i32 0 - store ptr @8, ptr %116, align 8 - %117 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %115, i32 0, i32 1 - store i64 10, ptr %117, align 4 - %118 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %115, align 8 - %119 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %118, i64 25, i64 0, i64 0, i64 1) - %120 = load ptr, ptr @_llgo_main.Game2, align 8 - %121 = icmp eq ptr %120, null - br i1 %121, label %_llgo_11, label %_llgo_12 +_llgo_10: ; preds = %_llgo_9, %_llgo_7 + %55 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %56 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %57 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %56, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %31, ptr %57, align 8 + %58 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %56, i32 0, i32 1 + store ptr %55, ptr %58, align 8 + %59 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %56, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/cl/internal/foo.(*Game).Load", ptr %59, align 8 + %60 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %56, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/cl/internal/foo.(*Game).Load", ptr %60, align 8 + %61 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %56, align 8 + %62 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %63 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %62, i32 0, i32 0 + store ptr @4, ptr %63, align 8 + %64 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %62, i32 0, i32 1 + store i64 8, ptr %64, align 4 + %65 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %62, align 8 + %66 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %67 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %66, i32 0, i32 0 + store ptr @5, ptr %67, align 8 + %68 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %66, i32 0, i32 1 + store i64 47, ptr %68, align 4 + %69 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %66, align 8 + %70 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %71 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %72 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %71, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %69, ptr %72, align 8 + %73 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %71, i32 0, i32 1 + store ptr %70, ptr %73, align 8 + %74 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %71, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/cl/internal/foo.(*Game).initGame", ptr %74, align 8 + %75 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %71, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/cl/internal/foo.(*Game).initGame", ptr %75, align 8 + %76 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %71, align 8 + %77 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) + %78 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %77, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %61, ptr %78, align 8 + %79 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %77, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %76, ptr %79, align 8 + %80 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %81 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %80, i32 0, i32 0 + store ptr %77, ptr %81, align 8 + %82 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %80, i32 0, i32 1 + store i64 2, ptr %82, align 4 + %83 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %80, i32 0, i32 2 + store i64 2, ptr %83, align 4 + %84 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %80, align 8 + %85 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %86 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %85, i32 0, i32 0 + store ptr @6, ptr %86, align 8 + %87 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %85, i32 0, i32 1 + store i64 38, ptr %87, align 4 + %88 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %85, align 8 + %89 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %90 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %89, i32 0, i32 0 + store ptr @7, ptr %90, align 8 + %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %89, i32 0, i32 1 + store i64 4, ptr %91, align 4 + %92 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %89, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %11, %"github.com/goplus/llgo/internal/runtime.String" %88, %"github.com/goplus/llgo/internal/runtime.String" %92, ptr %27, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %84) + br label %_llgo_8 -_llgo_11: ; preds = %_llgo_10 - store ptr %119, ptr @_llgo_main.Game2, align 8 +_llgo_11: ; preds = %_llgo_8 + %93 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %39) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %93) + store ptr %93, ptr @"*_llgo_github.com/goplus/llgo/cl/internal/foo.Game", align 8 br label %_llgo_12 -_llgo_12: ; preds = %_llgo_11, %_llgo_10 - %122 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 - %123 = icmp eq ptr %122, null - br i1 %123, label %_llgo_13, label %_llgo_14 +_llgo_12: ; preds = %_llgo_11, %_llgo_8 + %94 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/cl/internal/foo.Game", align 8 + %95 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %96 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %95, i32 0, i32 0 + store ptr @1, ptr %96, align 8 + %97 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %95, i32 0, i32 1 + store i64 43, ptr %97, align 4 + %98 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %95, align 8 + %99 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %98, i64 25, i64 0, i64 0, i64 2) + %100 = load ptr, ptr @"_llgo_struct$cJmCzeVn0orHWafCrTGAnbbAF46F2A4Fms4bJBm8ITI", align 8 + %101 = icmp eq ptr %100, null + br i1 %101, label %_llgo_13, label %_llgo_14 _llgo_13: ; preds = %_llgo_12 - %124 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %125 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %124, i32 0, i32 0 - store ptr @3, ptr %125, align 8 - %126 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %124, i32 0, i32 1 - store i64 4, ptr %126, align 4 - %127 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %124, align 8 - %128 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %129 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %130 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %129, i32 0, i32 0 - store ptr %128, ptr %130, align 8 - %131 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %129, i32 0, i32 1 - store i64 0, ptr %131, align 4 - %132 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %129, i32 0, i32 2 - store i64 0, ptr %132, align 4 - %133 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %129, align 8 - %134 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %127, i64 0, %"github.com/goplus/llgo/internal/runtime.Slice" %133) - store ptr %134, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 + %102 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %103 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %102, i32 0, i32 0 + store ptr @7, ptr %103, align 8 + %104 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %102, i32 0, i32 1 + store i64 4, ptr %104, align 4 + %105 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %102, align 8 + %106 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %107 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %106, i32 0, i32 0 + store ptr null, ptr %107, align 8 + %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %106, i32 0, i32 1 + store i64 0, ptr %108, align 4 + %109 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %106, align 8 + %110 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %99) + %111 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %105, ptr %110, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %109, i1 true) + %112 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %113 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %112, i32 0, i32 0 + store ptr @2, ptr %113, align 8 + %114 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %112, i32 0, i32 1 + store i64 4, ptr %114, align 4 + %115 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %112, align 8 + %116 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) + %117 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %116, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %111, ptr %117, align 8 + %118 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %119 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %118, i32 0, i32 0 + store ptr %116, ptr %119, align 8 + %120 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %118, i32 0, i32 1 + store i64 1, ptr %120, align 4 + %121 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %118, i32 0, i32 2 + store i64 1, ptr %121, align 4 + %122 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %118, align 8 + %123 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %115, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %122) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %123) + store ptr %123, ptr @"_llgo_struct$cJmCzeVn0orHWafCrTGAnbbAF46F2A4Fms4bJBm8ITI", align 8 br label %_llgo_14 _llgo_14: ; preds = %_llgo_13, %_llgo_12 - %135 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 - br i1 %121, label %_llgo_15, label %_llgo_16 + %124 = load ptr, ptr @"_llgo_struct$cJmCzeVn0orHWafCrTGAnbbAF46F2A4Fms4bJBm8ITI", align 8 + br i1 %6, label %_llgo_15, label %_llgo_16 _llgo_15: ; preds = %_llgo_14 - %136 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %137 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %136, i32 0, i32 0 - store ptr @5, ptr %137, align 8 - %138 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %136, i32 0, i32 1 - store i64 8, ptr %138, align 4 - %139 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %136, align 8 - %140 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %141 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %140, i32 0, i32 0 - store ptr @9, ptr %141, align 8 - %142 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %140, i32 0, i32 1 - store i64 13, ptr %142, align 4 - %143 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %140, align 8 - %144 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %145 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %146 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %145, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %143, ptr %146, align 8 - %147 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %145, i32 0, i32 1 - store ptr %144, ptr %147, align 8 - %148 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %145, i32 0, i32 2 - store ptr @"main.(*Game2).initGame", ptr %148, align 8 - %149 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %145, i32 0, i32 3 - store ptr @"main.(*Game2).initGame", ptr %149, align 8 - %150 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %145, align 8 - %151 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %152 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %151, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %150, ptr %152, align 8 - %153 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %154 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %153, i32 0, i32 0 - store ptr %151, ptr %154, align 8 - %155 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %153, i32 0, i32 1 - store i64 1, ptr %155, align 4 - %156 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %153, i32 0, i32 2 - store i64 1, ptr %156, align 4 - %157 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %153, align 8 - %158 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %159 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %158, i32 0, i32 0 - store ptr @3, ptr %159, align 8 - %160 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %158, i32 0, i32 1 - store i64 4, ptr %160, align 4 - %161 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %158, align 8 - %162 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %163 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %162, i32 0, i32 0 - store ptr @10, ptr %163, align 8 - %164 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %162, i32 0, i32 1 - store i64 5, ptr %164, align 4 - %165 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %162, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %119, %"github.com/goplus/llgo/internal/runtime.String" %161, %"github.com/goplus/llgo/internal/runtime.String" %165, ptr %135, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %157) + %125 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %126 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %125, i32 0, i32 0 + store ptr @3, ptr %126, align 8 + %127 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %125, i32 0, i32 1 + store i64 4, ptr %127, align 4 + %128 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %125, align 8 + %129 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %130 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %131 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %130, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %128, ptr %131, align 8 + %132 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %130, i32 0, i32 1 + store ptr %129, ptr %132, align 8 + %133 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %130, i32 0, i32 2 + store ptr @"main.(*Game1).Load", ptr %133, align 8 + %134 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %130, i32 0, i32 3 + store ptr @"main.(*Game1).Load", ptr %134, align 8 + %135 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %130, align 8 + %136 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %137 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %136, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %128, ptr %137, align 8 + %138 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %136, i32 0, i32 1 + store ptr %129, ptr %138, align 8 + %139 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %136, i32 0, i32 2 + store ptr @"main.(*Game1).Load", ptr %139, align 8 + %140 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %136, i32 0, i32 3 + store ptr @main.Game1.Load, ptr %140, align 8 + %141 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %136, align 8 + %142 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %143 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %142, i32 0, i32 0 + store ptr @4, ptr %143, align 8 + %144 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %142, i32 0, i32 1 + store i64 8, ptr %144, align 4 + %145 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %142, align 8 + %146 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %147 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %146, i32 0, i32 0 + store ptr @5, ptr %147, align 8 + %148 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %146, i32 0, i32 1 + store i64 47, ptr %148, align 4 + %149 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %146, align 8 + %150 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %151 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %152 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %151, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %149, ptr %152, align 8 + %153 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %151, i32 0, i32 1 + store ptr %150, ptr %153, align 8 + %154 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %151, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/cl/internal/foo.(*Game).initGame", ptr %154, align 8 + %155 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %151, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/cl/internal/foo.(*Game).initGame", ptr %155, align 8 + %156 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %151, align 8 + %157 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %158 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %157, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %141, ptr %158, align 8 + %159 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %160 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %159, i32 0, i32 0 + store ptr %157, ptr %160, align 8 + %161 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %159, i32 0, i32 1 + store i64 1, ptr %161, align 4 + %162 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %159, i32 0, i32 2 + store i64 1, ptr %162, align 4 + %163 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %159, align 8 + %164 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) + %165 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %164, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %135, ptr %165, align 8 + %166 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %164, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %156, ptr %166, align 8 + %167 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %168 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %167, i32 0, i32 0 + store ptr %164, ptr %168, align 8 + %169 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %167, i32 0, i32 1 + store i64 2, ptr %169, align 4 + %170 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %167, i32 0, i32 2 + store i64 2, ptr %170, align 4 + %171 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %167, align 8 + %172 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %173 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %172, i32 0, i32 0 + store ptr @2, ptr %173, align 8 + %174 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %172, i32 0, i32 1 + store i64 4, ptr %174, align 4 + %175 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %172, align 8 + %176 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %177 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %176, i32 0, i32 0 + store ptr @8, ptr %177, align 8 + %178 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %176, i32 0, i32 1 + store i64 5, ptr %178, align 4 + %179 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %176, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %4, %"github.com/goplus/llgo/internal/runtime.String" %175, %"github.com/goplus/llgo/internal/runtime.String" %179, ptr %124, %"github.com/goplus/llgo/internal/runtime.Slice" %163, %"github.com/goplus/llgo/internal/runtime.Slice" %171) br label %_llgo_16 _llgo_16: ; preds = %_llgo_15, %_llgo_14 - %166 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %167 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %166, i32 0, i32 0 - store ptr @8, ptr %167, align 8 - %168 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %166, i32 0, i32 1 - store i64 10, ptr %168, align 4 - %169 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %166, align 8 - %170 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %169, i64 25, i64 0, i64 0, i64 1) - %171 = load ptr, ptr @"*_llgo_main.Game2", align 8 - %172 = icmp eq ptr %171, null - br i1 %172, label %_llgo_17, label %_llgo_18 + %180 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %181 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %180, i32 0, i32 0 + store ptr @0, ptr %181, align 8 + %182 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %180, i32 0, i32 1 + store i64 10, ptr %182, align 4 + %183 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %180, align 8 + %184 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %183, i64 25, i64 8, i64 2, i64 2) + %185 = load ptr, ptr @"*_llgo_main.Game1", align 8 + %186 = icmp eq ptr %185, null + br i1 %186, label %_llgo_17, label %_llgo_18 _llgo_17: ; preds = %_llgo_16 - %173 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %170) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %173) - store ptr %173, ptr @"*_llgo_main.Game2", align 8 + %187 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %184) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %187) + store ptr %187, ptr @"*_llgo_main.Game1", align 8 br label %_llgo_18 _llgo_18: ; preds = %_llgo_17, %_llgo_16 - %174 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %175 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %176 = load ptr, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Gamer", align 8 - %177 = icmp eq ptr %176, null - br i1 %177, label %_llgo_19, label %_llgo_20 + %188 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %189 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %188, i32 0, i32 0 + store ptr @9, ptr %189, align 8 + %190 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %188, i32 0, i32 1 + store i64 10, ptr %190, align 4 + %191 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %188, align 8 + %192 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %191, i64 25, i64 0, i64 0, i64 1) + %193 = load ptr, ptr @_llgo_main.Game2, align 8 + %194 = icmp eq ptr %193, null + br i1 %194, label %_llgo_19, label %_llgo_20 _llgo_19: ; preds = %_llgo_18 - %178 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %179 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %178, i32 0, i32 0 - store ptr @4, ptr %179, align 8 - %180 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %178, i32 0, i32 1 - store i64 4, ptr %180, align 4 - %181 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %178, align 8 - %182 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %183 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %182, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %181, ptr %183, align 8 - %184 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %182, i32 0, i32 1 - store ptr %174, ptr %184, align 8 - %185 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %182, align 8 - %186 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %187 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %186, i32 0, i32 0 - store ptr @6, ptr %187, align 8 - %188 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %186, i32 0, i32 1 - store i64 47, ptr %188, align 4 - %189 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %186, align 8 - %190 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %191 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %190, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %189, ptr %191, align 8 - %192 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %190, i32 0, i32 1 - store ptr %175, ptr %192, align 8 - %193 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %190, align 8 - %194 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48) - %195 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %194, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %185, ptr %195, align 8 - %196 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %194, i64 1 - store %"github.com/goplus/llgo/internal/abi.Imethod" %193, ptr %196, align 8 - %197 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %198 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %197, i32 0, i32 0 - store ptr %194, ptr %198, align 8 - %199 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %197, i32 0, i32 1 - store i64 2, ptr %199, align 4 - %200 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %197, i32 0, i32 2 - store i64 2, ptr %200, align 4 - %201 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %197, align 8 - %202 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %203 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %202, i32 0, i32 0 - store ptr @11, ptr %203, align 8 - %204 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %202, i32 0, i32 1 - store i64 38, ptr %204, align 4 - %205 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %202, align 8 - %206 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %207 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %206, i32 0, i32 0 - store ptr @12, ptr %207, align 8 - %208 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %206, i32 0, i32 1 - store i64 44, ptr %208, align 4 - %209 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %206, align 8 - %210 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %205, %"github.com/goplus/llgo/internal/runtime.String" %209, %"github.com/goplus/llgo/internal/runtime.Slice" %201) - store ptr %210, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Gamer", align 8 + store ptr %192, ptr @_llgo_main.Game2, align 8 br label %_llgo_20 _llgo_20: ; preds = %_llgo_19, %_llgo_18 - %211 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %212 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %213 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %214 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %213, i32 0, i32 0 - store ptr @4, ptr %214, align 8 - %215 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %213, i32 0, i32 1 - store i64 4, ptr %215, align 4 - %216 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %213, align 8 - %217 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %218 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %217, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %216, ptr %218, align 8 - %219 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %217, i32 0, i32 1 - store ptr %211, ptr %219, align 8 - %220 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %217, align 8 - %221 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %222 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %221, i32 0, i32 0 - store ptr @6, ptr %222, align 8 - %223 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %221, i32 0, i32 1 - store i64 47, ptr %223, align 4 - %224 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %221, align 8 - %225 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %226 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %225, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %224, ptr %226, align 8 - %227 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %225, i32 0, i32 1 - store ptr %212, ptr %227, align 8 - %228 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %225, align 8 - %229 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48) - %230 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %229, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %220, ptr %230, align 8 - %231 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %229, i64 1 - store %"github.com/goplus/llgo/internal/abi.Imethod" %228, ptr %231, align 8 - %232 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %233 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %232, i32 0, i32 0 - store ptr %229, ptr %233, align 8 - %234 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %232, i32 0, i32 1 - store i64 2, ptr %234, align 4 - %235 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %232, i32 0, i32 2 - store i64 2, ptr %235, align 4 - %236 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %232, align 8 - %237 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %238 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %237, i32 0, i32 0 - store ptr @3, ptr %238, align 8 - %239 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %237, i32 0, i32 1 - store i64 4, ptr %239, align 4 - %240 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %237, align 8 - %241 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %242 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %241, i32 0, i32 0 - store ptr null, ptr %242, align 8 - %243 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %241, i32 0, i32 1 - store i64 0, ptr %243, align 4 - %244 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %241, align 8 - %245 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %240, %"github.com/goplus/llgo/internal/runtime.String" %244, %"github.com/goplus/llgo/internal/runtime.Slice" %236) - store ptr %245, ptr @"main.iface$sO8a1LvuUsjXwiwaC6sR9-L4DiYgiOnZi7iosyShJXg", align 8 + %195 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 + br i1 %194, label %_llgo_21, label %_llgo_22 + +_llgo_21: ; preds = %_llgo_20 + %196 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %197 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %196, i32 0, i32 0 + store ptr @4, ptr %197, align 8 + %198 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %196, i32 0, i32 1 + store i64 8, ptr %198, align 4 + %199 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %196, align 8 + %200 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %201 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %200, i32 0, i32 0 + store ptr @10, ptr %201, align 8 + %202 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %200, i32 0, i32 1 + store i64 13, ptr %202, align 4 + %203 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %200, align 8 + %204 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %205 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %206 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %205, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %203, ptr %206, align 8 + %207 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %205, i32 0, i32 1 + store ptr %204, ptr %207, align 8 + %208 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %205, i32 0, i32 2 + store ptr @"main.(*Game2).initGame", ptr %208, align 8 + %209 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %205, i32 0, i32 3 + store ptr @"main.(*Game2).initGame", ptr %209, align 8 + %210 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %205, align 8 + %211 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %212 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %211, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %210, ptr %212, align 8 + %213 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %214 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %213, i32 0, i32 0 + store ptr %211, ptr %214, align 8 + %215 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %213, i32 0, i32 1 + store i64 1, ptr %215, align 4 + %216 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %213, i32 0, i32 2 + store i64 1, ptr %216, align 4 + %217 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %213, align 8 + %218 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %219 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %218, i32 0, i32 0 + store ptr @2, ptr %219, align 8 + %220 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %218, i32 0, i32 1 + store i64 4, ptr %220, align 4 + %221 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %218, align 8 + %222 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %223 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %222, i32 0, i32 0 + store ptr @11, ptr %223, align 8 + %224 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %222, i32 0, i32 1 + store i64 5, ptr %224, align 4 + %225 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %222, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %192, %"github.com/goplus/llgo/internal/runtime.String" %221, %"github.com/goplus/llgo/internal/runtime.String" %225, ptr %195, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %217) + br label %_llgo_22 + +_llgo_22: ; preds = %_llgo_21, %_llgo_20 + %226 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %227 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %226, i32 0, i32 0 + store ptr @9, ptr %227, align 8 + %228 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %226, i32 0, i32 1 + store i64 10, ptr %228, align 4 + %229 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %226, align 8 + %230 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %229, i64 25, i64 0, i64 0, i64 1) + %231 = load ptr, ptr @"*_llgo_main.Game2", align 8 + %232 = icmp eq ptr %231, null + br i1 %232, label %_llgo_23, label %_llgo_24 + +_llgo_23: ; preds = %_llgo_22 + %233 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %230) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %233) + store ptr %233, ptr @"*_llgo_main.Game2", align 8 + br label %_llgo_24 + +_llgo_24: ; preds = %_llgo_23, %_llgo_22 + %234 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %235 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %236 = load ptr, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Gamer", align 8 + %237 = icmp eq ptr %236, null + br i1 %237, label %_llgo_25, label %_llgo_26 + +_llgo_25: ; preds = %_llgo_24 + %238 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %239 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %238, i32 0, i32 0 + store ptr @3, ptr %239, align 8 + %240 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %238, i32 0, i32 1 + store i64 4, ptr %240, align 4 + %241 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %238, align 8 + %242 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %243 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %242, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %241, ptr %243, align 8 + %244 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %242, i32 0, i32 1 + store ptr %234, ptr %244, align 8 + %245 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %242, align 8 + %246 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %247 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %246, i32 0, i32 0 + store ptr @5, ptr %247, align 8 + %248 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %246, i32 0, i32 1 + store i64 47, ptr %248, align 4 + %249 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %246, align 8 + %250 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %251 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %250, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %249, ptr %251, align 8 + %252 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %250, i32 0, i32 1 + store ptr %235, ptr %252, align 8 + %253 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %250, align 8 + %254 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48) + %255 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %254, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %245, ptr %255, align 8 + %256 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %254, i64 1 + store %"github.com/goplus/llgo/internal/abi.Imethod" %253, ptr %256, align 8 + %257 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %258 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %257, i32 0, i32 0 + store ptr %254, ptr %258, align 8 + %259 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %257, i32 0, i32 1 + store i64 2, ptr %259, align 4 + %260 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %257, i32 0, i32 2 + store i64 2, ptr %260, align 4 + %261 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %257, align 8 + %262 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %263 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %262, i32 0, i32 0 + store ptr @6, ptr %263, align 8 + %264 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %262, i32 0, i32 1 + store i64 38, ptr %264, align 4 + %265 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %262, align 8 + %266 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %267 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %266, i32 0, i32 0 + store ptr @12, ptr %267, align 8 + %268 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %266, i32 0, i32 1 + store i64 44, ptr %268, align 4 + %269 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %266, align 8 + %270 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %265, %"github.com/goplus/llgo/internal/runtime.String" %269, %"github.com/goplus/llgo/internal/runtime.Slice" %261) + store ptr %270, ptr @"_llgo_github.com/goplus/llgo/cl/internal/foo.Gamer", align 8 + br label %_llgo_26 + +_llgo_26: ; preds = %_llgo_25, %_llgo_24 + %271 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %272 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %273 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %274 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %273, i32 0, i32 0 + store ptr @3, ptr %274, align 8 + %275 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %273, i32 0, i32 1 + store i64 4, ptr %275, align 4 + %276 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %273, align 8 + %277 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %278 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %277, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %276, ptr %278, align 8 + %279 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %277, i32 0, i32 1 + store ptr %271, ptr %279, align 8 + %280 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %277, align 8 + %281 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %282 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %281, i32 0, i32 0 + store ptr @5, ptr %282, align 8 + %283 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %281, i32 0, i32 1 + store i64 47, ptr %283, align 4 + %284 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %281, align 8 + %285 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %286 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %285, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %284, ptr %286, align 8 + %287 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %285, i32 0, i32 1 + store ptr %272, ptr %287, align 8 + %288 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %285, align 8 + %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" %280, 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 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %293 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %292, i32 0, i32 0 + store ptr %289, ptr %293, align 8 + %294 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %292, i32 0, i32 1 + store i64 2, ptr %294, align 4 + %295 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %292, i32 0, i32 2 + store i64 2, ptr %295, align 4 + %296 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %292, align 8 + %297 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %298 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %297, i32 0, i32 0 + store ptr @2, ptr %298, align 8 + %299 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %297, i32 0, i32 1 + store i64 4, ptr %299, align 4 + %300 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %297, align 8 + %301 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %302 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %301, i32 0, i32 0 + store ptr null, ptr %302, align 8 + %303 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %301, i32 0, i32 1 + store i64 0, ptr %303, align 4 + %304 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %301, align 8 + %305 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %300, %"github.com/goplus/llgo/internal/runtime.String" %304, %"github.com/goplus/llgo/internal/runtime.Slice" %296) + store ptr %305, ptr @"main.iface$sO8a1LvuUsjXwiwaC6sR9-L4DiYgiOnZi7iosyShJXg", align 8 ret void } @@ -699,14 +812,14 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplu declare %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String", ptr, i64, %"github.com/goplus/llgo/internal/runtime.String", i1) -declare ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr) - declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64) declare void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr, %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", ptr, %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice") declare 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.PointerTo"(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 i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr, ptr) diff --git a/cl/_testgo/invoke/out.ll b/cl/_testgo/invoke/out.ll index a169b295..d8bf8797 100644 --- a/cl/_testgo/invoke/out.ll +++ b/cl/_testgo/invoke/out.ll @@ -25,12 +25,13 @@ source_filename = "main" @7 = private unnamed_addr constant [5 x i8] c"hello", align 1 @_llgo_main.T = linkonce global ptr null, align 8 @8 = private unnamed_addr constant [6 x i8] c"main.T", align 1 +@_llgo_string = linkonce global ptr null, align 8 @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ" = linkonce global ptr null, align 8 @9 = private unnamed_addr constant [1 x i8] c"s", align 1 @10 = private unnamed_addr constant [4 x i8] c"main", align 1 @11 = private unnamed_addr constant [6 x i8] c"Invoke", align 1 -@"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA" = linkonce global ptr null, align 8 @_llgo_int = linkonce global ptr null, align 8 +@"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA" = linkonce global ptr null, align 8 @12 = private unnamed_addr constant [6 x i8] c"Method", align 1 @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac" = linkonce global ptr null, align 8 @13 = private unnamed_addr constant [1 x i8] c"T", align 1 @@ -63,8 +64,9 @@ source_filename = "main" @"*_llgo_main.T5" = linkonce global ptr null, align 8 @_llgo_main.T6 = linkonce global ptr null, align 8 @25 = private unnamed_addr constant [7 x i8] c"main.T6", align 1 -@"main.struct$2bSfJcCYDdttnIT-JASAjsTNUZvojBt4mPXFJdH4M10" = linkonce global ptr null, align 8 @_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 @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 @@ -74,7 +76,6 @@ source_filename = "main" @_llgo_main.I = linkonce global ptr null, align 8 @30 = private unnamed_addr constant [6 x i8] c"main.I", align 1 @31 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 -@_llgo_string = linkonce global ptr null, align 8 @_llgo_any = linkonce global ptr null, align 8 define i64 @main.T.Invoke(%main.T %0) { @@ -322,304 +323,308 @@ _llgo_0: %21 = load ptr, ptr @_llgo_main.T, align 8 %22 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) store %main.T %20, ptr %22, align 8 - %23 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %24 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %23, ptr %21) - %25 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %26 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %25, i32 0, i32 0 - store ptr %24, ptr %26, align 8 - %27 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %25, i32 0, i32 1 - store ptr %22, ptr %27, align 8 - %28 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %25, align 8 - call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %28) - %29 = load ptr, ptr @"*_llgo_main.T", align 8 - %30 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %31 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %30, ptr %29) - %32 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %33 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %32, i32 0, i32 0 - store ptr %31, ptr %33, align 8 - %34 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %32, i32 0, i32 1 - store ptr %2, ptr %34, align 8 - %35 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %32, align 8 - call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %35) - %36 = load i64, ptr %8, align 4 - %37 = load ptr, ptr @_llgo_main.T1, align 8 - %38 = inttoptr i64 %36 to ptr - %39 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %40 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %39, ptr %37) - %41 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %42 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %41, i32 0, i32 0 - store ptr %40, ptr %42, align 8 - %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %41, i32 0, i32 1 - store ptr %38, ptr %43, align 8 - %44 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %41, align 8 - call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %44) - %45 = load ptr, ptr @"*_llgo_main.T1", align 8 - %46 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %47 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %46, ptr %45) - %48 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %49 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %48, i32 0, i32 0 - store ptr %47, ptr %49, align 8 - %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %48, i32 0, i32 1 - store ptr %8, ptr %50, align 8 - %51 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %48, align 8 - call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %51) - %52 = load double, ptr %9, align 8 - %53 = load ptr, ptr @_llgo_main.T2, align 8 - %54 = bitcast double %52 to i64 - %55 = inttoptr i64 %54 to ptr - %56 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %57 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %56, ptr %53) - %58 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %59 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %58, i32 0, i32 0 - store ptr %57, ptr %59, align 8 - %60 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %58, i32 0, i32 1 - store ptr %55, ptr %60, align 8 - %61 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %58, align 8 - call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %61) - %62 = load ptr, ptr @"*_llgo_main.T2", align 8 - %63 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %64 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %63, ptr %62) - %65 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %66 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %65, i32 0, i32 0 - store ptr %64, ptr %66, align 8 - %67 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %65, i32 0, i32 1 - store ptr %9, ptr %67, align 8 - %68 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %65, align 8 - call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %68) - %69 = load ptr, ptr @"*_llgo_main.T3", align 8 - %70 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %71 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %70, ptr %69) - %72 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %73 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %72, i32 0, i32 0 - store ptr %71, ptr %73, align 8 - %74 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %72, i32 0, i32 1 - store ptr %10, ptr %74, align 8 - %75 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %72, align 8 - call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %75) - %76 = load [1 x i64], ptr %11, align 4 - %77 = load ptr, ptr @_llgo_main.T4, align 8 - %78 = extractvalue [1 x i64] %76, 0 - %79 = inttoptr i64 %78 to ptr - %80 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %81 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %80, ptr %77) - %82 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %83 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %82, i32 0, i32 0 - store ptr %81, ptr %83, align 8 - %84 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %82, i32 0, i32 1 - store ptr %79, ptr %84, align 8 - %85 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %82, align 8 - call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %85) - %86 = load ptr, ptr @"*_llgo_main.T4", align 8 - %87 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %88 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %87, ptr %86) - %89 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %90 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %89, i32 0, i32 0 - store ptr %88, ptr %90, align 8 - %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %89, i32 0, i32 1 - store ptr %11, ptr %91, align 8 - %92 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %89, align 8 - call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %92) - %93 = load %main.T5, ptr %13, align 4 - %94 = load ptr, ptr @_llgo_main.T5, align 8 - %95 = extractvalue %main.T5 %93, 0 - %96 = inttoptr i64 %95 to ptr - %97 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %98 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %97, ptr %94) - %99 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %100 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %99, i32 0, i32 0 - store ptr %98, ptr %100, align 8 - %101 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %99, i32 0, i32 1 - store ptr %96, ptr %101, align 8 - %102 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %99, align 8 - call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %102) - %103 = load ptr, ptr @"*_llgo_main.T5", align 8 - %104 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %105 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %104, ptr %103) - %106 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %107 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %106, i32 0, i32 0 - store ptr %105, ptr %107, align 8 - %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %106, i32 0, i32 1 - store ptr %13, ptr %108, align 8 - %109 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %106, align 8 - call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %109) - %110 = load %main.T6, ptr %15, align 8 - %111 = load ptr, ptr @_llgo_main.T6, align 8 - %112 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %main.T6 %110, ptr %112, align 8 - %113 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %114 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %113, ptr %111) - %115 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %116 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %115, i32 0, i32 0 - store ptr %114, ptr %116, align 8 - %117 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %115, i32 0, i32 1 - store ptr %112, ptr %117, align 8 - %118 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %115, align 8 - call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %118) - %119 = load ptr, ptr @"*_llgo_main.T6", align 8 - %120 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %121 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %120, ptr %119) - %122 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %123 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %122, i32 0, i32 0 - store ptr %121, ptr %123, align 8 - %124 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %122, i32 0, i32 1 - store ptr %15, ptr %124, align 8 - %125 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %122, align 8 - call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %125) - %126 = call ptr @"github.com/goplus/llgo/internal/runtime.IfaceType"(%"github.com/goplus/llgo/internal/runtime.iface" zeroinitializer) - %127 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %128 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %127, ptr %126) - %129 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %130 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %129, i32 0, i32 0 - store ptr %128, ptr %130, align 8 - %131 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %129, i32 0, i32 1 - store ptr null, ptr %131, align 8 - %132 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %129, align 8 - call void @"github.com/goplus/llgo/internal/runtime.PrintIface"(%"github.com/goplus/llgo/internal/runtime.iface" %132) + %23 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %24 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %25 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %24, ptr %21) + %26 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %27 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %26, i32 0, i32 0 + store ptr %25, ptr %27, align 8 + %28 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %26, i32 0, i32 1 + store ptr %22, ptr %28, align 8 + %29 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %26, align 8 + call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %29) + %30 = load ptr, ptr @"*_llgo_main.T", align 8 + %31 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %32 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %31, ptr %30) + %33 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %34 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %33, i32 0, i32 0 + store ptr %32, ptr %34, align 8 + %35 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %33, i32 0, i32 1 + store ptr %2, ptr %35, align 8 + %36 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %33, align 8 + call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %36) + %37 = load i64, ptr %8, align 4 + %38 = load ptr, ptr @_llgo_main.T1, align 8 + %39 = inttoptr i64 %37 to ptr + %40 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %41 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %40, ptr %38) + %42 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %42, i32 0, i32 0 + store ptr %41, ptr %43, align 8 + %44 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %42, i32 0, i32 1 + store ptr %39, ptr %44, align 8 + %45 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %42, align 8 + call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %45) + %46 = load ptr, ptr @"*_llgo_main.T1", align 8 + %47 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %48 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %47, ptr %46) + %49 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %49, i32 0, i32 0 + store ptr %48, ptr %50, align 8 + %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %49, i32 0, i32 1 + store ptr %8, ptr %51, align 8 + %52 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %49, align 8 + call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %52) + %53 = load double, ptr %9, align 8 + %54 = load ptr, ptr @_llgo_main.T2, align 8 + %55 = bitcast double %53 to i64 + %56 = inttoptr i64 %55 to ptr + %57 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %58 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %57, ptr %54) + %59 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %60 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %59, i32 0, i32 0 + store ptr %58, ptr %60, align 8 + %61 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %59, i32 0, i32 1 + store ptr %56, ptr %61, align 8 + %62 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %59, align 8 + call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %62) + %63 = load ptr, ptr @"*_llgo_main.T2", align 8 + %64 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %65 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %64, ptr %63) + %66 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %67 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %66, i32 0, i32 0 + store ptr %65, ptr %67, align 8 + %68 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %66, i32 0, i32 1 + store ptr %9, ptr %68, align 8 + %69 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %66, align 8 + call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %69) + %70 = load ptr, ptr @_llgo_main.T3, align 8 + %71 = load ptr, ptr @"*_llgo_main.T3", align 8 + %72 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %73 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %72, ptr %71) + %74 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %75 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %74, i32 0, i32 0 + store ptr %73, ptr %75, align 8 + %76 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %74, i32 0, i32 1 + store ptr %10, ptr %76, align 8 + %77 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %74, align 8 + call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %77) + %78 = load [1 x i64], ptr %11, align 4 + %79 = load ptr, ptr @_llgo_main.T4, align 8 + %80 = extractvalue [1 x i64] %78, 0 + %81 = inttoptr i64 %80 to ptr + %82 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %83 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %82, ptr %79) + %84 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %85 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %84, i32 0, i32 0 + store ptr %83, ptr %85, align 8 + %86 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %84, i32 0, i32 1 + store ptr %81, ptr %86, align 8 + %87 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %84, align 8 + call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %87) + %88 = load ptr, ptr @"*_llgo_main.T4", align 8 + %89 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %90 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %89, ptr %88) + %91 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %92 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %91, i32 0, i32 0 + store ptr %90, ptr %92, align 8 + %93 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %91, i32 0, i32 1 + store ptr %11, ptr %93, align 8 + %94 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %91, align 8 + call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %94) + %95 = load %main.T5, ptr %13, align 4 + %96 = load ptr, ptr @_llgo_main.T5, align 8 + %97 = extractvalue %main.T5 %95, 0 + %98 = inttoptr i64 %97 to ptr + %99 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %100 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %99, ptr %96) + %101 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %102 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %101, i32 0, i32 0 + store ptr %100, ptr %102, align 8 + %103 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %101, i32 0, i32 1 + store ptr %98, ptr %103, align 8 + %104 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %101, align 8 + call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %104) + %105 = load ptr, ptr @"*_llgo_main.T5", align 8 + %106 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %107 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %106, ptr %105) + %108 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %109 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %108, i32 0, i32 0 + store ptr %107, ptr %109, align 8 + %110 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %108, i32 0, i32 1 + store ptr %13, ptr %110, align 8 + %111 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %108, align 8 + call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %111) + %112 = load %main.T6, ptr %15, align 8 + %113 = load ptr, ptr @_llgo_main.T6, align 8 + %114 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %main.T6 %112, ptr %114, align 8 + %115 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %116 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %115, ptr %113) + %117 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %118 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %117, i32 0, i32 0 + store ptr %116, ptr %118, align 8 + %119 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %117, i32 0, i32 1 + store ptr %114, ptr %119, align 8 + %120 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %117, align 8 + call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %120) + %121 = load ptr, ptr @"*_llgo_main.T6", align 8 + %122 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %123 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %122, ptr %121) + %124 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %125 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %124, i32 0, i32 0 + store ptr %123, ptr %125, align 8 + %126 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %124, i32 0, i32 1 + store ptr %15, ptr %126, align 8 + %127 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %124, align 8 + call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %127) + %128 = call ptr @"github.com/goplus/llgo/internal/runtime.IfaceType"(%"github.com/goplus/llgo/internal/runtime.iface" zeroinitializer) + %129 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %130 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %129, ptr %128) + %131 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %132 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %131, i32 0, i32 0 + store ptr %130, ptr %132, align 8 + %133 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %131, i32 0, i32 1 + store ptr null, ptr %133, align 8 + %134 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %131, align 8 + call void @"github.com/goplus/llgo/internal/runtime.PrintIface"(%"github.com/goplus/llgo/internal/runtime.iface" %134) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) call void @"github.com/goplus/llgo/internal/runtime.PrintIface"(%"github.com/goplus/llgo/internal/runtime.iface" zeroinitializer) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) - %133 = load ptr, ptr @"*_llgo_main.T", align 8 - %134 = load ptr, ptr @"_llgo_iface$jwmSdgh1zvY_TDIgLzCkvkbiyrdwl9N806DH0JGcyMI", align 8 - %135 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %134, ptr %133) - %136 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %137 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %136, i32 0, i32 0 - store ptr %135, ptr %137, align 8 - %138 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %136, i32 0, i32 1 - store ptr %2, ptr %138, align 8 - %139 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %136, align 8 - %140 = call ptr @"github.com/goplus/llgo/internal/runtime.IfaceType"(%"github.com/goplus/llgo/internal/runtime.iface" %139) - %141 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %139, 1 - %142 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %143 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %142, ptr %140) - %144 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %145 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %144, i32 0, i32 0 - store ptr %143, ptr %145, align 8 - %146 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %144, i32 0, i32 1 - store ptr %141, ptr %146, align 8 - %147 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %144, align 8 - call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %147) - %148 = alloca %main.T, align 8 - call void @llvm.memset(ptr %148, i8 0, i64 16, i1 false) - %149 = getelementptr inbounds %main.T, ptr %148, i32 0, i32 0 - %150 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %151 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %150, i32 0, i32 0 - store ptr @29, ptr %151, align 8 - %152 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %150, i32 0, i32 1 - store i64 5, ptr %152, align 4 - %153 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %150, align 8 - store %"github.com/goplus/llgo/internal/runtime.String" %153, ptr %149, align 8 - %154 = load %main.T, ptr %148, align 8 - %155 = load ptr, ptr @_llgo_main.T, align 8 - %156 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %main.T %154, ptr %156, align 8 - %157 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %158 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %157, i32 0, i32 0 - store ptr %155, ptr %158, align 8 - %159 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %157, i32 0, i32 1 - store ptr %156, ptr %159, align 8 - %160 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %157, align 8 - %161 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %160, 0 - %162 = load ptr, ptr @_llgo_main.I, align 8 - %163 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %162, ptr %161) - br i1 %163, label %_llgo_1, label %_llgo_2 + %135 = load ptr, ptr @"*_llgo_main.T", align 8 + %136 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %137 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %138 = load ptr, ptr @"_llgo_iface$jwmSdgh1zvY_TDIgLzCkvkbiyrdwl9N806DH0JGcyMI", align 8 + %139 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %138, ptr %135) + %140 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %141 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %140, i32 0, i32 0 + store ptr %139, ptr %141, align 8 + %142 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %140, i32 0, i32 1 + store ptr %2, ptr %142, align 8 + %143 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %140, align 8 + %144 = call ptr @"github.com/goplus/llgo/internal/runtime.IfaceType"(%"github.com/goplus/llgo/internal/runtime.iface" %143) + %145 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %143, 1 + %146 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %147 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %146, ptr %144) + %148 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %149 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %148, i32 0, i32 0 + store ptr %147, ptr %149, align 8 + %150 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %148, i32 0, i32 1 + store ptr %145, ptr %150, align 8 + %151 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %148, align 8 + call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %151) + %152 = alloca %main.T, align 8 + call void @llvm.memset(ptr %152, i8 0, i64 16, i1 false) + %153 = getelementptr inbounds %main.T, ptr %152, i32 0, i32 0 + %154 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %155 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %154, i32 0, i32 0 + store ptr @29, ptr %155, align 8 + %156 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %154, i32 0, i32 1 + store i64 5, ptr %156, align 4 + %157 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %154, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" %157, ptr %153, align 8 + %158 = load %main.T, ptr %152, align 8 + %159 = load ptr, ptr @_llgo_main.T, align 8 + %160 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %main.T %158, ptr %160, align 8 + %161 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %162 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %161, i32 0, i32 0 + store ptr %159, ptr %162, align 8 + %163 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %161, i32 0, i32 1 + store ptr %160, ptr %163, align 8 + %164 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %161, align 8 + %165 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %164, 0 + %166 = load ptr, ptr @_llgo_main.I, align 8 + %167 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %166, ptr %165) + br i1 %167, label %_llgo_1, label %_llgo_2 _llgo_1: ; preds = %_llgo_0 - %164 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %160, 1 - %165 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %166 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %165, ptr %161) - %167 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %168 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %167, i32 0, i32 0 - store ptr %166, ptr %168, align 8 - %169 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %167, i32 0, i32 1 - store ptr %164, ptr %169, align 8 - %170 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %167, align 8 - call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %170) - %171 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %160, 0 - %172 = load ptr, ptr @_llgo_any, align 8 - %173 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %172, ptr %171) - br i1 %173, label %_llgo_3, label %_llgo_4 + %168 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %164, 1 + %169 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %170 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %169, ptr %165) + %171 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %172 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %171, i32 0, i32 0 + store ptr %170, ptr %172, align 8 + %173 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %171, i32 0, i32 1 + store ptr %168, ptr %173, align 8 + %174 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %171, align 8 + call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %174) + %175 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %164, 0 + %176 = load ptr, ptr @_llgo_any, align 8 + %177 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %176, ptr %175) + br i1 %177, label %_llgo_3, label %_llgo_4 _llgo_2: ; preds = %_llgo_0 - %174 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %175 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %174, i32 0, i32 0 - store ptr @31, ptr %175, align 8 - %176 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %174, i32 0, i32 1 - store i64 21, ptr %176, align 4 - %177 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %174, align 8 - %178 = load ptr, ptr @_llgo_string, align 8 - %179 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %177, ptr %179, align 8 - %180 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %181 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %180, i32 0, i32 0 - store ptr %178, ptr %181, align 8 - %182 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %180, i32 0, i32 1 - store ptr %179, ptr %182, align 8 - %183 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %180, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %183) + %178 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %179 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %178, i32 0, i32 0 + store ptr @31, ptr %179, align 8 + %180 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %178, i32 0, i32 1 + store i64 21, ptr %180, align 4 + %181 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %178, align 8 + %182 = load ptr, ptr @_llgo_string, align 8 + %183 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %181, ptr %183, align 8 + %184 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %185 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %184, i32 0, i32 0 + store ptr %182, ptr %185, align 8 + %186 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %184, i32 0, i32 1 + store ptr %183, ptr %186, align 8 + %187 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %184, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %187) unreachable _llgo_3: ; preds = %_llgo_1 - %184 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %160, 1 - %185 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %186 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %185, i32 0, i32 0 - store ptr %171, ptr %186, align 8 - %187 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %185, i32 0, i32 1 - store ptr %184, ptr %187, align 8 - %188 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %185, align 8 - %189 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %188, 0 - %190 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %191 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %190, ptr %189) - br i1 %191, label %_llgo_5, label %_llgo_6 + %188 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %164, 1 + %189 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %190 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %189, i32 0, i32 0 + store ptr %175, ptr %190, align 8 + %191 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %189, i32 0, i32 1 + store ptr %188, ptr %191, align 8 + %192 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %189, align 8 + %193 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %192, 0 + %194 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %195 = call i1 @"github.com/goplus/llgo/internal/runtime.Implements"(ptr %194, ptr %193) + br i1 %195, label %_llgo_5, label %_llgo_6 _llgo_4: ; preds = %_llgo_1 - %192 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %193 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %192, i32 0, i32 0 - store ptr @31, ptr %193, align 8 - %194 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %192, i32 0, i32 1 - store i64 21, ptr %194, align 4 - %195 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %192, align 8 - %196 = load ptr, ptr @_llgo_string, align 8 - %197 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %195, ptr %197, align 8 - %198 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %199 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %198, i32 0, i32 0 - store ptr %196, ptr %199, align 8 - %200 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %198, i32 0, i32 1 - store ptr %197, ptr %200, align 8 - %201 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %198, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %201) + %196 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %197 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %196, i32 0, i32 0 + store ptr @31, ptr %197, align 8 + %198 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %196, i32 0, i32 1 + store i64 21, ptr %198, align 4 + %199 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %196, align 8 + %200 = load ptr, ptr @_llgo_string, align 8 + %201 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %199, ptr %201, align 8 + %202 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %203 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %202, i32 0, i32 0 + store ptr %200, ptr %203, align 8 + %204 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %202, i32 0, i32 1 + store ptr %201, ptr %204, align 8 + %205 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %202, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %205) unreachable _llgo_5: ; preds = %_llgo_3 - %202 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %188, 1 - %203 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %204 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %203, ptr %189) - %205 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %206 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %205, i32 0, i32 0 - store ptr %204, ptr %206, align 8 - %207 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %205, i32 0, i32 1 - store ptr %202, ptr %207, align 8 - %208 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %205, align 8 - call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %208) + %206 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %192, 1 + %207 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %208 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %207, ptr %193) + %209 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %210 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %209, i32 0, i32 0 + store ptr %208, ptr %210, align 8 + %211 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %209, i32 0, i32 1 + store ptr %206, ptr %211, align 8 + %212 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %209, align 8 + call void @main.invoke(%"github.com/goplus/llgo/internal/runtime.iface" %212) ret i32 0 _llgo_6: ; preds = %_llgo_3 - %209 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %210 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %209, i32 0, i32 0 - store ptr @31, ptr %210, align 8 - %211 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %209, i32 0, i32 1 - store i64 21, ptr %211, align 4 - %212 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %209, align 8 - %213 = load ptr, ptr @_llgo_string, align 8 - %214 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %212, ptr %214, align 8 - %215 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %216 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %215, i32 0, i32 0 - store ptr %213, ptr %216, align 8 - %217 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %215, i32 0, i32 1 - store ptr %214, ptr %217, align 8 - %218 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %215, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %218) + %213 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %214 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %213, i32 0, i32 0 + store ptr @31, ptr %214, align 8 + %215 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %213, i32 0, i32 1 + store i64 21, ptr %215, align 4 + %216 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %213, align 8 + %217 = load ptr, ptr @_llgo_string, align 8 + %218 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %216, ptr %218, align 8 + %219 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %220 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %219, i32 0, i32 0 + store ptr %217, ptr %220, align 8 + %221 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %219, i32 0, i32 1 + store ptr %218, ptr %221, align 8 + %222 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %219, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %222) unreachable } @@ -669,1167 +674,1205 @@ _llgo_1: ; preds = %_llgo_0 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 - %7 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %7, i32 0, i32 0 - store ptr @9, ptr %8, align 8 - %9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %7, i32 0, i32 1 - store i64 1, ptr %9, align 4 - %10 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %7, align 8 - %11 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %12 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %11, i32 0, i32 0 - store ptr null, ptr %12, align 8 - %13 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %11, i32 0, i32 1 - store i64 0, ptr %13, align 4 - %14 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %11, align 8 - %15 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %16 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %10, ptr %15, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %14, i1 false) - %17 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %18 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %17, i32 0, i32 0 - store ptr @10, ptr %18, align 8 - %19 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %17, i32 0, i32 1 - store i64 4, ptr %19, align 4 - %20 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %17, align 8 - %21 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) - %22 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %21, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %16, ptr %22, align 8 - %23 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %24 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %23, i32 0, i32 0 - store ptr %21, ptr %24, align 8 - %25 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %23, i32 0, i32 1 - store i64 1, ptr %25, align 4 - %26 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %23, i32 0, i32 2 - store i64 1, ptr %26, align 4 - %27 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %23, align 8 - %28 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %20, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %27) - store ptr %28, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 - %29 = load ptr, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 - br i1 %6, label %_llgo_3, label %_llgo_4 + %7 = load ptr, ptr @_llgo_string, align 8 + %8 = icmp eq ptr %7, null + br i1 %8, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 - %30 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %31 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %30, i32 0, i32 0 - store ptr @11, ptr %31, align 8 - %32 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %30, i32 0, i32 1 - store i64 6, ptr %32, align 4 - %33 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %30, align 8 - %34 = load ptr, ptr @_llgo_int, align 8 - %35 = icmp eq ptr %34, null - br i1 %35, label %_llgo_5, label %_llgo_6 + %9 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + store ptr %9, ptr @_llgo_string, align 8 + br label %_llgo_4 -_llgo_4: ; preds = %_llgo_10, %_llgo_2 - %36 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %37 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %38 = icmp eq ptr %37, null - br i1 %38, label %_llgo_11, label %_llgo_12 +_llgo_4: ; preds = %_llgo_3, %_llgo_2 + %10 = load ptr, ptr @_llgo_string, align 8 + %11 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %12 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %11, i32 0, i32 0 + store ptr @9, ptr %12, align 8 + %13 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %11, i32 0, i32 1 + store i64 1, ptr %13, align 4 + %14 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %11, align 8 + %15 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %16 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %15, i32 0, i32 0 + store ptr null, ptr %16, align 8 + %17 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %15, i32 0, i32 1 + store i64 0, ptr %17, align 4 + %18 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %15, align 8 + %19 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %20 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %14, ptr %19, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %18, i1 false) + %21 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %22 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %21, i32 0, i32 0 + store ptr @10, ptr %22, align 8 + %23 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %21, i32 0, i32 1 + store i64 4, ptr %23, align 4 + %24 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %21, align 8 + %25 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) + %26 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %25, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %20, ptr %26, align 8 + %27 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %28 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %27, i32 0, i32 0 + store ptr %25, ptr %28, align 8 + %29 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %27, i32 0, i32 1 + store i64 1, ptr %29, align 4 + %30 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %27, i32 0, i32 2 + store i64 1, ptr %30, align 4 + %31 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %27, align 8 + %32 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %24, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %31) + store ptr %32, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 + %33 = load ptr, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 + br i1 %6, label %_llgo_5, label %_llgo_6 -_llgo_5: ; preds = %_llgo_3 - %39 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - store ptr %39, ptr @_llgo_int, align 8 - br label %_llgo_6 +_llgo_5: ; preds = %_llgo_4 + %34 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %35 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %34, i32 0, i32 0 + store ptr @11, ptr %35, align 8 + %36 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %34, i32 0, i32 1 + store i64 6, ptr %36, align 4 + %37 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %34, align 8 + %38 = load ptr, ptr @_llgo_int, align 8 + %39 = icmp eq ptr %38, null + br i1 %39, label %_llgo_7, label %_llgo_8 -_llgo_6: ; preds = %_llgo_5, %_llgo_3 - %40 = load ptr, ptr @_llgo_int, align 8 - %41 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 +_llgo_6: ; preds = %_llgo_12, %_llgo_4 + %40 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %41 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 %42 = icmp eq ptr %41, null - br i1 %42, label %_llgo_7, label %_llgo_8 + br i1 %42, label %_llgo_13, label %_llgo_14 -_llgo_7: ; preds = %_llgo_6 - %43 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %44 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %45 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %44, i32 0, i32 0 - store ptr %43, ptr %45, align 8 - %46 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %44, i32 0, i32 1 - store i64 0, ptr %46, align 4 - %47 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %44, i32 0, i32 2 - store i64 0, ptr %47, align 4 - %48 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %44, align 8 - %49 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %50 = getelementptr ptr, ptr %49, i64 0 - store ptr %40, ptr %50, align 8 - %51 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %51, i32 0, i32 0 - store ptr %49, ptr %52, align 8 - %53 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %51, i32 0, i32 1 - store i64 1, ptr %53, align 4 - %54 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %51, i32 0, i32 2 - store i64 1, ptr %54, align 4 - %55 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %51, align 8 - %56 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %48, %"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$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 +_llgo_7: ; preds = %_llgo_5 + %43 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + store ptr %43, ptr @_llgo_int, align 8 br label %_llgo_8 -_llgo_8: ; preds = %_llgo_7, %_llgo_6 - %57 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %58 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %59 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %58, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %33, ptr %59, align 8 - %60 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %58, i32 0, i32 1 - store ptr %57, ptr %60, align 8 - %61 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %58, i32 0, i32 2 - store ptr @"main.(*T).Invoke", ptr %61, align 8 - %62 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %58, i32 0, i32 3 - store ptr @"main.(*T).Invoke", ptr %62, align 8 - %63 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %58, align 8 - %64 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %65 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %64, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %33, ptr %65, align 8 - %66 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %64, i32 0, i32 1 - store ptr %57, ptr %66, align 8 - %67 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %64, i32 0, i32 2 - store ptr @"main.(*T).Invoke", ptr %67, align 8 - %68 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %64, i32 0, i32 3 - store ptr @main.T.Invoke, ptr %68, align 8 - %69 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %64, align 8 - %70 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %71 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %70, i32 0, i32 0 - store ptr @12, ptr %71, align 8 - %72 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %70, i32 0, i32 1 - store i64 6, ptr %72, align 4 - %73 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %70, align 8 - %74 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %75 = icmp eq ptr %74, null - br i1 %75, label %_llgo_9, label %_llgo_10 +_llgo_8: ; preds = %_llgo_7, %_llgo_5 + %44 = load ptr, ptr @_llgo_int, align 8 + %45 = load ptr, ptr @_llgo_int, align 8 + %46 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %47 = icmp eq ptr %46, null + br i1 %47, label %_llgo_9, label %_llgo_10 _llgo_9: ; preds = %_llgo_8 - %76 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %77 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %78 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, i32 0, i32 0 - store ptr %76, ptr %78, align 8 - %79 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, i32 0, i32 1 - store i64 0, ptr %79, align 4 - %80 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, i32 0, i32 2 - store i64 0, ptr %80, align 4 - %81 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, align 8 - %82 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %83 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %84 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %83, i32 0, i32 0 - store ptr %82, ptr %84, align 8 - %85 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %83, i32 0, i32 1 - store i64 0, ptr %85, align 4 - %86 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %83, i32 0, i32 2 - store i64 0, ptr %86, align 4 - %87 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %83, align 8 - %88 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %81, %"github.com/goplus/llgo/internal/runtime.Slice" %87, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %88) - store ptr %88, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %48 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %49 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %49, i32 0, i32 0 + store ptr %48, ptr %50, align 8 + %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %49, i32 0, i32 1 + store i64 0, ptr %51, align 4 + %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %49, i32 0, i32 2 + store i64 0, ptr %52, align 4 + %53 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %49, align 8 + %54 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %55 = getelementptr ptr, ptr %54, i64 0 + store ptr %45, ptr %55, align 8 + %56 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %57 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %56, i32 0, i32 0 + store ptr %54, ptr %57, align 8 + %58 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %56, i32 0, i32 1 + store i64 1, ptr %58, align 4 + %59 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %56, i32 0, i32 2 + store i64 1, ptr %59, align 4 + %60 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %56, align 8 + %61 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %53, %"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$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 br label %_llgo_10 _llgo_10: ; preds = %_llgo_9, %_llgo_8 - %89 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %90 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %90, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %73, ptr %91, align 8 - %92 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %90, i32 0, i32 1 - store ptr %89, ptr %92, align 8 - %93 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %90, i32 0, i32 2 - store ptr @"main.(*T).Method", ptr %93, align 8 - %94 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %90, i32 0, i32 3 - store ptr @"main.(*T).Method", ptr %94, align 8 - %95 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %90, align 8 - %96 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %97 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %96, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %69, ptr %97, align 8 - %98 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %99 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %98, i32 0, i32 0 - store ptr %96, ptr %99, align 8 - %100 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %98, i32 0, i32 1 - store i64 1, ptr %100, align 4 - %101 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %98, i32 0, i32 2 - store i64 1, ptr %101, align 4 - %102 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %98, align 8 - %103 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) - %104 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %103, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %63, ptr %104, align 8 - %105 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %103, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %95, ptr %105, align 8 - %106 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %107 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %106, i32 0, i32 0 - store ptr %103, ptr %107, align 8 - %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %106, i32 0, i32 1 - store i64 2, ptr %108, align 4 - %109 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %106, i32 0, i32 2 - store i64 2, ptr %109, align 4 - %110 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %106, align 8 - %111 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %112 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %111, i32 0, i32 0 - store ptr @10, ptr %112, align 8 - %113 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %111, i32 0, i32 1 - store i64 4, ptr %113, align 4 - %114 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %111, align 8 - %115 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %116 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %115, i32 0, i32 0 - store ptr @13, ptr %116, align 8 - %117 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %115, i32 0, i32 1 - store i64 1, ptr %117, align 4 - %118 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %115, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %4, %"github.com/goplus/llgo/internal/runtime.String" %114, %"github.com/goplus/llgo/internal/runtime.String" %118, ptr %29, %"github.com/goplus/llgo/internal/runtime.Slice" %102, %"github.com/goplus/llgo/internal/runtime.Slice" %110) - br label %_llgo_4 + %62 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %63 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %64 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %63, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %37, ptr %64, align 8 + %65 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %63, i32 0, i32 1 + store ptr %62, ptr %65, align 8 + %66 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %63, i32 0, i32 2 + store ptr @"main.(*T).Invoke", ptr %66, align 8 + %67 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %63, i32 0, i32 3 + store ptr @"main.(*T).Invoke", ptr %67, align 8 + %68 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %63, align 8 + %69 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %70 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %69, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %37, ptr %70, align 8 + %71 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %69, i32 0, i32 1 + store ptr %62, ptr %71, align 8 + %72 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %69, i32 0, i32 2 + store ptr @"main.(*T).Invoke", ptr %72, align 8 + %73 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %69, i32 0, i32 3 + store ptr @main.T.Invoke, ptr %73, align 8 + %74 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %69, align 8 + %75 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %76 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %75, i32 0, i32 0 + store ptr @12, ptr %76, align 8 + %77 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %75, i32 0, i32 1 + store i64 6, ptr %77, align 4 + %78 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %75, align 8 + %79 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %80 = icmp eq ptr %79, null + br i1 %80, label %_llgo_11, label %_llgo_12 -_llgo_11: ; preds = %_llgo_4 - %119 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %120 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %119, i32 0, i32 0 - store ptr @11, ptr %120, align 8 - %121 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %119, i32 0, i32 1 - store i64 6, ptr %121, align 4 - %122 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %119, align 8 - %123 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %124 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %123, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %122, ptr %124, align 8 - %125 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %123, i32 0, i32 1 - store ptr %36, ptr %125, align 8 - %126 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %123, align 8 - %127 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %128 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %127, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %126, ptr %128, align 8 - %129 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %130 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %129, i32 0, i32 0 - store ptr %127, ptr %130, align 8 - %131 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %129, i32 0, i32 1 - store i64 1, ptr %131, align 4 - %132 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %129, i32 0, i32 2 - store i64 1, ptr %132, align 4 - %133 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %129, align 8 - %134 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %135 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %134, i32 0, i32 0 - store ptr @10, ptr %135, align 8 - %136 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %134, i32 0, i32 1 - store i64 4, ptr %136, align 4 - %137 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %134, align 8 - %138 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %139 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %138, i32 0, i32 0 - store ptr null, ptr %139, align 8 - %140 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %138, i32 0, i32 1 - store i64 0, ptr %140, align 4 - %141 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %138, align 8 - %142 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %137, %"github.com/goplus/llgo/internal/runtime.String" %141, %"github.com/goplus/llgo/internal/runtime.Slice" %133) - store ptr %142, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 +_llgo_11: ; preds = %_llgo_10 + %81 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %82 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %83 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %82, i32 0, i32 0 + store ptr %81, ptr %83, align 8 + %84 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %82, i32 0, i32 1 + store i64 0, ptr %84, align 4 + %85 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %82, i32 0, i32 2 + store i64 0, ptr %85, align 4 + %86 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %82, align 8 + %87 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %88 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %89 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %88, i32 0, i32 0 + store ptr %87, ptr %89, align 8 + %90 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %88, i32 0, i32 1 + store i64 0, ptr %90, align 4 + %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %88, i32 0, i32 2 + store i64 0, ptr %91, align 4 + %92 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %88, align 8 + %93 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %86, %"github.com/goplus/llgo/internal/runtime.Slice" %92, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %93) + store ptr %93, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 br label %_llgo_12 -_llgo_12: ; preds = %_llgo_11, %_llgo_4 +_llgo_12: ; preds = %_llgo_11, %_llgo_10 + %94 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %95 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %96 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %95, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %78, ptr %96, align 8 + %97 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %95, i32 0, i32 1 + store ptr %94, ptr %97, align 8 + %98 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %95, i32 0, i32 2 + store ptr @"main.(*T).Method", ptr %98, align 8 + %99 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %95, i32 0, i32 3 + store ptr @"main.(*T).Method", ptr %99, align 8 + %100 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %95, align 8 + %101 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %102 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %101, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %74, ptr %102, align 8 + %103 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %104 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %103, i32 0, i32 0 + store ptr %101, ptr %104, align 8 + %105 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %103, i32 0, i32 1 + store i64 1, ptr %105, align 4 + %106 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %103, i32 0, i32 2 + store i64 1, ptr %106, align 4 + %107 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %103, align 8 + %108 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) + %109 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %108, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %68, ptr %109, align 8 + %110 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %108, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %100, ptr %110, align 8 + %111 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %112 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %111, i32 0, i32 0 + store ptr %108, ptr %112, align 8 + %113 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %111, i32 0, i32 1 + store i64 2, ptr %113, align 4 + %114 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %111, i32 0, i32 2 + store i64 2, ptr %114, align 4 + %115 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %111, align 8 + %116 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %117 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %116, i32 0, i32 0 + store ptr @10, ptr %117, align 8 + %118 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %116, i32 0, i32 1 + store i64 4, ptr %118, align 4 + %119 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %116, align 8 + %120 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %121 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %120, i32 0, i32 0 + store ptr @13, ptr %121, align 8 + %122 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %120, i32 0, i32 1 + store i64 1, ptr %122, align 4 + %123 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %120, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %4, %"github.com/goplus/llgo/internal/runtime.String" %119, %"github.com/goplus/llgo/internal/runtime.String" %123, ptr %33, %"github.com/goplus/llgo/internal/runtime.Slice" %107, %"github.com/goplus/llgo/internal/runtime.Slice" %115) + br label %_llgo_6 + +_llgo_13: ; preds = %_llgo_6 + %124 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %125 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %124, i32 0, i32 0 + store ptr @11, ptr %125, align 8 + %126 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %124, i32 0, i32 1 + store i64 6, ptr %126, align 4 + %127 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %124, align 8 + %128 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %129 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %128, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %127, ptr %129, align 8 + %130 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %128, i32 0, i32 1 + store ptr %40, ptr %130, align 8 + %131 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %128, align 8 + %132 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %133 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %132, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %131, ptr %133, align 8 + %134 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %135 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %134, i32 0, i32 0 + store ptr %132, ptr %135, align 8 + %136 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %134, i32 0, i32 1 + store i64 1, ptr %136, align 4 + %137 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %134, i32 0, i32 2 + store i64 1, ptr %137, align 4 + %138 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %134, align 8 + %139 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %140 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %139, i32 0, i32 0 + store ptr @10, ptr %140, align 8 + %141 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %139, i32 0, i32 1 + store i64 4, ptr %141, align 4 + %142 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %139, align 8 %143 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %144 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %143, i32 0, i32 0 - store ptr @8, ptr %144, align 8 + store ptr null, ptr %144, align 8 %145 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %143, i32 0, i32 1 - store i64 6, ptr %145, align 4 + store i64 0, ptr %145, align 4 %146 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %143, align 8 - %147 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %146, i64 25, i64 16, i64 1, i64 2) - %148 = load ptr, ptr @"*_llgo_main.T", align 8 - %149 = icmp eq ptr %148, null - br i1 %149, label %_llgo_13, label %_llgo_14 - -_llgo_13: ; preds = %_llgo_12 - %150 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %147) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %150) - store ptr %150, ptr @"*_llgo_main.T", align 8 + %147 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %142, %"github.com/goplus/llgo/internal/runtime.String" %146, %"github.com/goplus/llgo/internal/runtime.Slice" %138) + store ptr %147, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 br label %_llgo_14 -_llgo_14: ; preds = %_llgo_13, %_llgo_12 - %151 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %152 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %151, i32 0, i32 0 - store ptr @14, ptr %152, align 8 - %153 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %151, i32 0, i32 1 - store i64 7, ptr %153, align 4 - %154 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %151, align 8 - %155 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %154, i64 2, i64 8, i64 1, i64 1) - %156 = load ptr, ptr @_llgo_main.T1, align 8 - %157 = icmp eq ptr %156, null - br i1 %157, label %_llgo_15, label %_llgo_16 +_llgo_14: ; preds = %_llgo_13, %_llgo_6 + %148 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %149 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %148, i32 0, i32 0 + store ptr @8, ptr %149, align 8 + %150 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %148, i32 0, i32 1 + store i64 6, ptr %150, align 4 + %151 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %148, align 8 + %152 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %151, i64 25, i64 16, i64 1, i64 2) + %153 = load ptr, ptr @"*_llgo_main.T", align 8 + %154 = icmp eq ptr %153, null + br i1 %154, label %_llgo_15, label %_llgo_16 _llgo_15: ; preds = %_llgo_14 - store ptr %155, ptr @_llgo_main.T1, align 8 + %155 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %152) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %155) + store ptr %155, ptr @"*_llgo_main.T", align 8 br label %_llgo_16 _llgo_16: ; preds = %_llgo_15, %_llgo_14 - %158 = load ptr, ptr @_llgo_int, align 8 - br i1 %157, label %_llgo_17, label %_llgo_18 + %156 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %157 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %156, i32 0, i32 0 + store ptr @14, ptr %157, align 8 + %158 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %156, i32 0, i32 1 + store i64 7, ptr %158, align 4 + %159 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %156, align 8 + %160 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %159, i64 2, i64 8, i64 1, i64 1) + %161 = load ptr, ptr @_llgo_main.T1, align 8 + %162 = icmp eq ptr %161, null + br i1 %162, label %_llgo_17, label %_llgo_18 _llgo_17: ; preds = %_llgo_16 - %159 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %160 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %159, i32 0, i32 0 - store ptr @11, ptr %160, align 8 - %161 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %159, i32 0, i32 1 - store i64 6, ptr %161, align 4 - %162 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %159, align 8 - %163 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %164 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %165 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %164, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %162, ptr %165, align 8 - %166 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %164, i32 0, i32 1 - store ptr %163, ptr %166, align 8 - %167 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %164, i32 0, i32 2 - store ptr @"main.(*T1).Invoke", ptr %167, align 8 - %168 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %164, i32 0, i32 3 - store ptr @"main.(*T1).Invoke", ptr %168, align 8 - %169 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %164, align 8 - %170 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %171 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %170, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %162, ptr %171, align 8 - %172 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %170, i32 0, i32 1 - store ptr %163, ptr %172, align 8 - %173 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %170, i32 0, i32 2 - store ptr @"main.(*T1).Invoke", ptr %173, align 8 - %174 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %170, i32 0, i32 3 - store ptr @main.T1.Invoke, ptr %174, align 8 - %175 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %170, align 8 - %176 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %177 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %176, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %175, ptr %177, align 8 - %178 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %179 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %178, i32 0, i32 0 - store ptr %176, ptr %179, align 8 - %180 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %178, i32 0, i32 1 - store i64 1, ptr %180, align 4 - %181 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %178, i32 0, i32 2 - store i64 1, ptr %181, align 4 - %182 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %178, align 8 - %183 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %184 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %183, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %169, ptr %184, align 8 - %185 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %186 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %185, i32 0, i32 0 - store ptr %183, ptr %186, align 8 - %187 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %185, i32 0, i32 1 - store i64 1, ptr %187, align 4 - %188 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %185, i32 0, i32 2 - store i64 1, ptr %188, align 4 - %189 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %185, align 8 - %190 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %191 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %190, i32 0, i32 0 - store ptr @10, ptr %191, align 8 - %192 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %190, i32 0, i32 1 - store i64 4, ptr %192, align 4 - %193 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %190, align 8 - %194 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %195 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %194, i32 0, i32 0 - store ptr @15, ptr %195, align 8 - %196 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %194, i32 0, i32 1 - store i64 2, ptr %196, align 4 - %197 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %194, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %155, %"github.com/goplus/llgo/internal/runtime.String" %193, %"github.com/goplus/llgo/internal/runtime.String" %197, ptr %158, %"github.com/goplus/llgo/internal/runtime.Slice" %182, %"github.com/goplus/llgo/internal/runtime.Slice" %189) + store ptr %160, ptr @_llgo_main.T1, align 8 br label %_llgo_18 _llgo_18: ; preds = %_llgo_17, %_llgo_16 - %198 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %199 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %198, i32 0, i32 0 - store ptr @14, ptr %199, align 8 - %200 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %198, i32 0, i32 1 - store i64 7, ptr %200, align 4 - %201 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %198, align 8 - %202 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %201, i64 2, i64 8, i64 1, i64 1) - %203 = load ptr, ptr @"*_llgo_main.T1", align 8 - %204 = icmp eq ptr %203, null - br i1 %204, label %_llgo_19, label %_llgo_20 + %163 = load ptr, ptr @_llgo_int, align 8 + br i1 %162, label %_llgo_19, label %_llgo_20 _llgo_19: ; preds = %_llgo_18 - %205 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %202) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %205) - store ptr %205, ptr @"*_llgo_main.T1", align 8 + %164 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %165 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %164, i32 0, i32 0 + store ptr @11, ptr %165, align 8 + %166 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %164, i32 0, i32 1 + store i64 6, ptr %166, align 4 + %167 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %164, align 8 + %168 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %169 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %170 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %169, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %167, ptr %170, align 8 + %171 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %169, i32 0, i32 1 + store ptr %168, ptr %171, align 8 + %172 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %169, i32 0, i32 2 + store ptr @"main.(*T1).Invoke", ptr %172, align 8 + %173 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %169, i32 0, i32 3 + store ptr @"main.(*T1).Invoke", ptr %173, align 8 + %174 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %169, align 8 + %175 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %176 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %175, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %167, ptr %176, align 8 + %177 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %175, i32 0, i32 1 + store ptr %168, ptr %177, align 8 + %178 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %175, i32 0, i32 2 + store ptr @"main.(*T1).Invoke", ptr %178, align 8 + %179 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %175, i32 0, i32 3 + store ptr @main.T1.Invoke, ptr %179, align 8 + %180 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %175, align 8 + %181 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %182 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %181, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %180, ptr %182, align 8 + %183 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %184 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %183, i32 0, i32 0 + store ptr %181, ptr %184, align 8 + %185 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %183, i32 0, i32 1 + store i64 1, ptr %185, align 4 + %186 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %183, i32 0, i32 2 + store i64 1, ptr %186, align 4 + %187 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %183, align 8 + %188 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %189 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %188, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %174, ptr %189, align 8 + %190 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %191 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %190, i32 0, i32 0 + store ptr %188, ptr %191, align 8 + %192 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %190, i32 0, i32 1 + store i64 1, ptr %192, align 4 + %193 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %190, i32 0, i32 2 + store i64 1, ptr %193, align 4 + %194 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %190, align 8 + %195 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %196 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %195, i32 0, i32 0 + store ptr @10, ptr %196, align 8 + %197 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %195, i32 0, i32 1 + store i64 4, ptr %197, align 4 + %198 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %195, align 8 + %199 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %200 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %199, i32 0, i32 0 + store ptr @15, ptr %200, align 8 + %201 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %199, i32 0, i32 1 + store i64 2, ptr %201, align 4 + %202 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %199, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %160, %"github.com/goplus/llgo/internal/runtime.String" %198, %"github.com/goplus/llgo/internal/runtime.String" %202, ptr %163, %"github.com/goplus/llgo/internal/runtime.Slice" %187, %"github.com/goplus/llgo/internal/runtime.Slice" %194) br label %_llgo_20 _llgo_20: ; preds = %_llgo_19, %_llgo_18 - %206 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %207 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %206, i32 0, i32 0 - store ptr @16, ptr %207, align 8 - %208 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %206, i32 0, i32 1 - store i64 7, ptr %208, align 4 - %209 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %206, align 8 - %210 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %209, i64 14, i64 8, i64 1, i64 1) - %211 = load ptr, ptr @_llgo_main.T2, align 8 - %212 = icmp eq ptr %211, null - br i1 %212, label %_llgo_21, label %_llgo_22 + %203 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %204 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %203, i32 0, i32 0 + store ptr @14, ptr %204, align 8 + %205 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %203, i32 0, i32 1 + store i64 7, ptr %205, align 4 + %206 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %203, align 8 + %207 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %206, i64 2, i64 8, i64 1, i64 1) + %208 = load ptr, ptr @"*_llgo_main.T1", align 8 + %209 = icmp eq ptr %208, null + br i1 %209, label %_llgo_21, label %_llgo_22 _llgo_21: ; preds = %_llgo_20 - store ptr %210, ptr @_llgo_main.T2, align 8 + %210 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %207) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %210) + store ptr %210, ptr @"*_llgo_main.T1", align 8 br label %_llgo_22 _llgo_22: ; preds = %_llgo_21, %_llgo_20 - %213 = load ptr, ptr @_llgo_float64, align 8 - %214 = icmp eq ptr %213, null - br i1 %214, label %_llgo_23, label %_llgo_24 + %211 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %212 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %211, i32 0, i32 0 + store ptr @16, ptr %212, align 8 + %213 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %211, i32 0, i32 1 + store i64 7, ptr %213, align 4 + %214 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %211, align 8 + %215 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %214, i64 14, i64 8, i64 1, i64 1) + %216 = load ptr, ptr @_llgo_main.T2, align 8 + %217 = icmp eq ptr %216, null + br i1 %217, label %_llgo_23, label %_llgo_24 _llgo_23: ; preds = %_llgo_22 - %215 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 46) - store ptr %215, ptr @_llgo_float64, align 8 + store ptr %215, ptr @_llgo_main.T2, align 8 br label %_llgo_24 _llgo_24: ; preds = %_llgo_23, %_llgo_22 - %216 = load ptr, ptr @_llgo_float64, align 8 - br i1 %212, label %_llgo_25, label %_llgo_26 + %218 = load ptr, ptr @_llgo_float64, align 8 + %219 = icmp eq ptr %218, null + br i1 %219, label %_llgo_25, label %_llgo_26 _llgo_25: ; preds = %_llgo_24 - %217 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %218 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %217, i32 0, i32 0 - store ptr @11, ptr %218, align 8 - %219 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %217, i32 0, i32 1 - store i64 6, ptr %219, align 4 - %220 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %217, align 8 - %221 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %222 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %223 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %222, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %220, ptr %223, align 8 - %224 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %222, i32 0, i32 1 - store ptr %221, ptr %224, align 8 - %225 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %222, i32 0, i32 2 - store ptr @"main.(*T2).Invoke", ptr %225, align 8 - %226 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %222, i32 0, i32 3 - store ptr @"main.(*T2).Invoke", ptr %226, align 8 - %227 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %222, align 8 - %228 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %229 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %228, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %220, ptr %229, align 8 - %230 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %228, i32 0, i32 1 - store ptr %221, ptr %230, align 8 - %231 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %228, i32 0, i32 2 - store ptr @"main.(*T2).Invoke", ptr %231, align 8 - %232 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %228, i32 0, i32 3 - store ptr @main.T2.Invoke, ptr %232, align 8 - %233 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %228, align 8 - %234 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %235 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %234, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %233, ptr %235, align 8 - %236 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %237 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %236, i32 0, i32 0 - store ptr %234, ptr %237, align 8 - %238 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %236, i32 0, i32 1 - store i64 1, ptr %238, align 4 - %239 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %236, i32 0, i32 2 - store i64 1, ptr %239, align 4 - %240 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %236, align 8 - %241 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %242 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %241, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %227, ptr %242, align 8 - %243 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %244 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %243, i32 0, i32 0 - store ptr %241, ptr %244, align 8 - %245 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %243, i32 0, i32 1 - store i64 1, ptr %245, align 4 - %246 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %243, i32 0, i32 2 - store i64 1, ptr %246, align 4 - %247 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %243, align 8 - %248 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %249 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %248, i32 0, i32 0 - store ptr @10, ptr %249, align 8 - %250 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %248, i32 0, i32 1 - store i64 4, ptr %250, align 4 - %251 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %248, align 8 - %252 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %253 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %252, i32 0, i32 0 - store ptr @17, ptr %253, align 8 - %254 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %252, i32 0, i32 1 - store i64 2, ptr %254, align 4 - %255 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %252, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %210, %"github.com/goplus/llgo/internal/runtime.String" %251, %"github.com/goplus/llgo/internal/runtime.String" %255, ptr %216, %"github.com/goplus/llgo/internal/runtime.Slice" %240, %"github.com/goplus/llgo/internal/runtime.Slice" %247) + %220 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 46) + store ptr %220, ptr @_llgo_float64, align 8 br label %_llgo_26 _llgo_26: ; preds = %_llgo_25, %_llgo_24 - %256 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %257 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %256, i32 0, i32 0 - store ptr @16, ptr %257, align 8 - %258 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %256, i32 0, i32 1 - store i64 7, ptr %258, align 4 - %259 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %256, align 8 - %260 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %259, i64 14, i64 8, i64 1, i64 1) - %261 = load ptr, ptr @"*_llgo_main.T2", align 8 - %262 = icmp eq ptr %261, null - br i1 %262, label %_llgo_27, label %_llgo_28 + %221 = load ptr, ptr @_llgo_float64, align 8 + br i1 %217, label %_llgo_27, label %_llgo_28 _llgo_27: ; preds = %_llgo_26 - %263 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %260) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %263) - store ptr %263, ptr @"*_llgo_main.T2", align 8 + %222 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %223 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %222, i32 0, i32 0 + store ptr @11, ptr %223, align 8 + %224 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %222, i32 0, i32 1 + store i64 6, ptr %224, align 4 + %225 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %222, align 8 + %226 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %227 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %228 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %227, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %225, ptr %228, align 8 + %229 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %227, i32 0, i32 1 + store ptr %226, ptr %229, align 8 + %230 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %227, i32 0, i32 2 + store ptr @"main.(*T2).Invoke", ptr %230, align 8 + %231 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %227, i32 0, i32 3 + store ptr @"main.(*T2).Invoke", ptr %231, align 8 + %232 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %227, align 8 + %233 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %234 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %233, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %225, ptr %234, align 8 + %235 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %233, i32 0, i32 1 + store ptr %226, ptr %235, align 8 + %236 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %233, i32 0, i32 2 + store ptr @"main.(*T2).Invoke", ptr %236, align 8 + %237 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %233, i32 0, i32 3 + store ptr @main.T2.Invoke, ptr %237, align 8 + %238 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %233, align 8 + %239 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %240 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %239, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %238, ptr %240, align 8 + %241 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %242 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %241, i32 0, i32 0 + store ptr %239, ptr %242, align 8 + %243 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %241, i32 0, i32 1 + store i64 1, ptr %243, align 4 + %244 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %241, i32 0, i32 2 + store i64 1, ptr %244, align 4 + %245 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %241, align 8 + %246 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %247 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %246, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %232, ptr %247, align 8 + %248 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %249 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %248, i32 0, i32 0 + store ptr %246, ptr %249, align 8 + %250 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %248, i32 0, i32 1 + store i64 1, ptr %250, align 4 + %251 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %248, i32 0, i32 2 + store i64 1, ptr %251, align 4 + %252 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %248, align 8 + %253 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %254 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %253, i32 0, i32 0 + store ptr @10, ptr %254, align 8 + %255 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %253, i32 0, i32 1 + store i64 4, ptr %255, align 4 + %256 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %253, align 8 + %257 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %258 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %257, i32 0, i32 0 + store ptr @17, ptr %258, align 8 + %259 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %257, i32 0, i32 1 + store i64 2, ptr %259, align 4 + %260 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %257, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %215, %"github.com/goplus/llgo/internal/runtime.String" %256, %"github.com/goplus/llgo/internal/runtime.String" %260, ptr %221, %"github.com/goplus/llgo/internal/runtime.Slice" %245, %"github.com/goplus/llgo/internal/runtime.Slice" %252) br label %_llgo_28 _llgo_28: ; preds = %_llgo_27, %_llgo_26 - %264 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %265 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %264, i32 0, i32 0 - store ptr @18, ptr %265, align 8 - %266 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %264, i32 0, i32 1 - store i64 7, ptr %266, align 4 - %267 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %264, align 8 - %268 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %267, i64 3, i64 1, i64 0, i64 1) - %269 = load ptr, ptr @_llgo_main.T3, align 8 - %270 = icmp eq ptr %269, null - br i1 %270, label %_llgo_29, label %_llgo_30 + %261 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %262 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %261, i32 0, i32 0 + store ptr @16, ptr %262, align 8 + %263 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %261, i32 0, i32 1 + store i64 7, ptr %263, align 4 + %264 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %261, align 8 + %265 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %264, i64 14, i64 8, i64 1, i64 1) + %266 = load ptr, ptr @"*_llgo_main.T2", align 8 + %267 = icmp eq ptr %266, null + br i1 %267, label %_llgo_29, label %_llgo_30 _llgo_29: ; preds = %_llgo_28 - store ptr %268, ptr @_llgo_main.T3, align 8 + %268 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %265) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %268) + store ptr %268, ptr @"*_llgo_main.T2", align 8 br label %_llgo_30 _llgo_30: ; preds = %_llgo_29, %_llgo_28 - %271 = load ptr, ptr @_llgo_int8, align 8 - %272 = icmp eq ptr %271, null - br i1 %272, label %_llgo_31, label %_llgo_32 + %269 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %270 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %269, i32 0, i32 0 + store ptr @18, ptr %270, align 8 + %271 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %269, i32 0, i32 1 + store i64 7, ptr %271, align 4 + %272 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %269, align 8 + %273 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %272, i64 3, i64 1, i64 0, i64 1) + %274 = load ptr, ptr @_llgo_main.T3, align 8 + %275 = icmp eq ptr %274, null + br i1 %275, label %_llgo_31, label %_llgo_32 _llgo_31: ; preds = %_llgo_30 - %273 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35) - store ptr %273, ptr @_llgo_int8, align 8 + store ptr %273, ptr @_llgo_main.T3, align 8 br label %_llgo_32 _llgo_32: ; preds = %_llgo_31, %_llgo_30 - %274 = load ptr, ptr @_llgo_int8, align 8 - br i1 %270, label %_llgo_33, label %_llgo_34 + %276 = load ptr, ptr @_llgo_int8, align 8 + %277 = icmp eq ptr %276, null + br i1 %277, label %_llgo_33, label %_llgo_34 _llgo_33: ; preds = %_llgo_32 - %275 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %276 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %275, i32 0, i32 0 - store ptr @11, ptr %276, align 8 - %277 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %275, i32 0, i32 1 - store i64 6, ptr %277, align 4 - %278 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %275, align 8 - %279 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %280 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %281 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %280, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %278, ptr %281, align 8 - %282 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %280, i32 0, i32 1 - store ptr %279, ptr %282, align 8 - %283 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %280, i32 0, i32 2 - store ptr @"main.(*T3).Invoke", ptr %283, align 8 - %284 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %280, i32 0, i32 3 - store ptr @"main.(*T3).Invoke", ptr %284, align 8 - %285 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %280, align 8 - %286 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %287 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %286, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %285, ptr %287, align 8 - %288 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %289 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %288, i32 0, i32 0 - store ptr %286, ptr %289, align 8 - %290 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %288, i32 0, i32 1 - store i64 1, ptr %290, align 4 - %291 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %288, i32 0, i32 2 - store i64 1, ptr %291, align 4 - %292 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %288, align 8 - %293 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %294 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %293, i32 0, i32 0 - store ptr @10, ptr %294, align 8 - %295 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %293, i32 0, i32 1 - store i64 4, ptr %295, align 4 - %296 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %293, align 8 - %297 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %298 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %297, i32 0, i32 0 - store ptr @19, ptr %298, align 8 - %299 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %297, i32 0, i32 1 - store i64 2, ptr %299, align 4 - %300 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %297, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %268, %"github.com/goplus/llgo/internal/runtime.String" %296, %"github.com/goplus/llgo/internal/runtime.String" %300, ptr %274, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %292) + %278 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35) + store ptr %278, ptr @_llgo_int8, align 8 br label %_llgo_34 _llgo_34: ; preds = %_llgo_33, %_llgo_32 - %301 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %302 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %301, i32 0, i32 0 - store ptr @18, ptr %302, align 8 - %303 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %301, i32 0, i32 1 - store i64 7, ptr %303, align 4 - %304 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %301, align 8 - %305 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %304, i64 3, i64 1, i64 0, i64 1) - %306 = load ptr, ptr @"*_llgo_main.T3", align 8 - %307 = icmp eq ptr %306, null - br i1 %307, label %_llgo_35, label %_llgo_36 + %279 = load ptr, ptr @_llgo_int8, align 8 + br i1 %275, label %_llgo_35, label %_llgo_36 _llgo_35: ; preds = %_llgo_34 - %308 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %305) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %308) - store ptr %308, ptr @"*_llgo_main.T3", align 8 + %280 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %281 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %280, i32 0, i32 0 + store ptr @11, ptr %281, align 8 + %282 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %280, i32 0, i32 1 + store i64 6, ptr %282, align 4 + %283 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %280, align 8 + %284 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %285 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %286 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %285, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %283, ptr %286, align 8 + %287 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %285, i32 0, i32 1 + store ptr %284, ptr %287, align 8 + %288 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %285, i32 0, i32 2 + store ptr @"main.(*T3).Invoke", ptr %288, align 8 + %289 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %285, i32 0, i32 3 + store ptr @"main.(*T3).Invoke", ptr %289, align 8 + %290 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %285, align 8 + %291 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %292 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %291, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %290, ptr %292, align 8 + %293 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %294 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %293, i32 0, i32 0 + store ptr %291, ptr %294, align 8 + %295 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %293, i32 0, i32 1 + store i64 1, ptr %295, align 4 + %296 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %293, i32 0, i32 2 + store i64 1, ptr %296, align 4 + %297 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %293, align 8 + %298 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %299 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %298, i32 0, i32 0 + store ptr @10, ptr %299, align 8 + %300 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %298, i32 0, i32 1 + store i64 4, ptr %300, align 4 + %301 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %298, align 8 + %302 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %303 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %302, i32 0, i32 0 + store ptr @19, ptr %303, align 8 + %304 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %302, i32 0, i32 1 + store i64 2, ptr %304, align 4 + %305 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %302, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %273, %"github.com/goplus/llgo/internal/runtime.String" %301, %"github.com/goplus/llgo/internal/runtime.String" %305, ptr %279, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %297) br label %_llgo_36 _llgo_36: ; preds = %_llgo_35, %_llgo_34 - %309 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %310 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %309, i32 0, i32 0 - store ptr @20, ptr %310, align 8 - %311 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %309, i32 0, i32 1 - store i64 7, ptr %311, align 4 - %312 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %309, align 8 - %313 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %312, i64 17, i64 8, i64 1, i64 1) - %314 = load ptr, ptr @_llgo_main.T4, align 8 - %315 = icmp eq ptr %314, null - br i1 %315, label %_llgo_37, label %_llgo_38 + %306 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %307 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %306, i32 0, i32 0 + store ptr @18, ptr %307, align 8 + %308 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %306, i32 0, i32 1 + store i64 7, ptr %308, align 4 + %309 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %306, align 8 + %310 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %309, i64 3, i64 1, i64 0, i64 1) + %311 = load ptr, ptr @"*_llgo_main.T3", align 8 + %312 = icmp eq ptr %311, null + br i1 %312, label %_llgo_37, label %_llgo_38 _llgo_37: ; preds = %_llgo_36 - store ptr %313, ptr @_llgo_main.T4, align 8 + %313 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %310) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %313) + store ptr %313, ptr @"*_llgo_main.T3", align 8 br label %_llgo_38 _llgo_38: ; preds = %_llgo_37, %_llgo_36 - %316 = load ptr, ptr @_llgo_int, align 8 - %317 = load ptr, ptr @"[1]_llgo_int", align 8 - %318 = icmp eq ptr %317, null - br i1 %318, label %_llgo_39, label %_llgo_40 + %314 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %315 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %314, i32 0, i32 0 + store ptr @20, ptr %315, align 8 + %316 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %314, i32 0, i32 1 + store i64 7, ptr %316, align 4 + %317 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %314, align 8 + %318 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %317, i64 17, i64 8, i64 1, i64 1) + %319 = load ptr, ptr @_llgo_main.T4, align 8 + %320 = icmp eq ptr %319, null + br i1 %320, label %_llgo_39, label %_llgo_40 _llgo_39: ; preds = %_llgo_38 - %319 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %320 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %319) - store ptr %320, ptr @"[1]_llgo_int", align 8 + store ptr %318, ptr @_llgo_main.T4, align 8 br label %_llgo_40 _llgo_40: ; preds = %_llgo_39, %_llgo_38 %321 = load ptr, ptr @"[1]_llgo_int", align 8 - br i1 %315, label %_llgo_41, label %_llgo_42 + %322 = icmp eq ptr %321, null + br i1 %322, label %_llgo_41, label %_llgo_42 _llgo_41: ; preds = %_llgo_40 - %322 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %323 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %322, i32 0, i32 0 - store ptr @11, ptr %323, align 8 - %324 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %322, i32 0, i32 1 - store i64 6, ptr %324, align 4 - %325 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %322, align 8 - %326 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %327 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %328 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %327, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %325, ptr %328, align 8 - %329 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %327, i32 0, i32 1 - store ptr %326, ptr %329, align 8 - %330 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %327, i32 0, i32 2 - store ptr @"main.(*T4).Invoke", ptr %330, align 8 - %331 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %327, i32 0, i32 3 - store ptr @"main.(*T4).Invoke", ptr %331, align 8 - %332 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %327, align 8 - %333 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %334 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %333, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %325, ptr %334, align 8 - %335 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %333, i32 0, i32 1 - store ptr %326, ptr %335, align 8 - %336 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %333, i32 0, i32 2 - store ptr @"main.(*T4).Invoke", ptr %336, align 8 - %337 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %333, i32 0, i32 3 - store ptr @main.T4.Invoke, ptr %337, align 8 - %338 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %333, align 8 - %339 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %340 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %339, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %338, ptr %340, align 8 - %341 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %342 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %341, i32 0, i32 0 - store ptr %339, ptr %342, align 8 - %343 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %341, i32 0, i32 1 - store i64 1, ptr %343, align 4 - %344 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %341, i32 0, i32 2 - store i64 1, ptr %344, align 4 - %345 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %341, align 8 - %346 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %347 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %346, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %332, ptr %347, align 8 - %348 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %349 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %348, i32 0, i32 0 - store ptr %346, ptr %349, align 8 - %350 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %348, i32 0, i32 1 - store i64 1, ptr %350, align 4 - %351 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %348, i32 0, i32 2 - store i64 1, ptr %351, align 4 - %352 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %348, align 8 - %353 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %354 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %353, i32 0, i32 0 - store ptr @10, ptr %354, align 8 - %355 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %353, i32 0, i32 1 - store i64 4, ptr %355, align 4 - %356 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %353, align 8 - %357 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %358 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %357, i32 0, i32 0 - store ptr @21, ptr %358, align 8 - %359 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %357, i32 0, i32 1 - store i64 2, ptr %359, align 4 - %360 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %357, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %313, %"github.com/goplus/llgo/internal/runtime.String" %356, %"github.com/goplus/llgo/internal/runtime.String" %360, ptr %321, %"github.com/goplus/llgo/internal/runtime.Slice" %345, %"github.com/goplus/llgo/internal/runtime.Slice" %352) + %323 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %324 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %323) + store ptr %324, ptr @"[1]_llgo_int", align 8 br label %_llgo_42 _llgo_42: ; preds = %_llgo_41, %_llgo_40 - %361 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %362 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %361, i32 0, i32 0 - store ptr @20, ptr %362, align 8 - %363 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %361, i32 0, i32 1 - store i64 7, ptr %363, align 4 - %364 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %361, align 8 - %365 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %364, i64 17, i64 8, i64 1, i64 1) - %366 = load ptr, ptr @"*_llgo_main.T4", align 8 - %367 = icmp eq ptr %366, null - br i1 %367, label %_llgo_43, label %_llgo_44 + %325 = load ptr, ptr @"[1]_llgo_int", align 8 + br i1 %320, label %_llgo_43, label %_llgo_44 _llgo_43: ; preds = %_llgo_42 - %368 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %365) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %368) - store ptr %368, ptr @"*_llgo_main.T4", align 8 + %326 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %327 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %326, i32 0, i32 0 + store ptr @11, ptr %327, align 8 + %328 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %326, i32 0, i32 1 + store i64 6, ptr %328, align 4 + %329 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %326, align 8 + %330 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %331 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %332 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %331, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %329, ptr %332, align 8 + %333 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %331, i32 0, i32 1 + store ptr %330, ptr %333, align 8 + %334 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %331, i32 0, i32 2 + store ptr @"main.(*T4).Invoke", ptr %334, align 8 + %335 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %331, i32 0, i32 3 + store ptr @"main.(*T4).Invoke", ptr %335, align 8 + %336 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %331, align 8 + %337 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %338 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %337, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %329, ptr %338, align 8 + %339 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %337, i32 0, i32 1 + store ptr %330, ptr %339, align 8 + %340 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %337, i32 0, i32 2 + store ptr @"main.(*T4).Invoke", ptr %340, align 8 + %341 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %337, i32 0, i32 3 + store ptr @main.T4.Invoke, ptr %341, align 8 + %342 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %337, align 8 + %343 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %344 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %343, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %342, ptr %344, align 8 + %345 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %346 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %345, i32 0, i32 0 + store ptr %343, ptr %346, align 8 + %347 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %345, i32 0, i32 1 + store i64 1, ptr %347, align 4 + %348 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %345, i32 0, i32 2 + store i64 1, ptr %348, align 4 + %349 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %345, align 8 + %350 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %351 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %350, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %336, ptr %351, align 8 + %352 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %353 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %352, i32 0, i32 0 + store ptr %350, ptr %353, align 8 + %354 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %352, i32 0, i32 1 + store i64 1, ptr %354, align 4 + %355 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %352, i32 0, i32 2 + store i64 1, ptr %355, align 4 + %356 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %352, align 8 + %357 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %358 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %357, i32 0, i32 0 + store ptr @10, ptr %358, align 8 + %359 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %357, i32 0, i32 1 + store i64 4, ptr %359, align 4 + %360 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %357, align 8 + %361 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %362 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %361, i32 0, i32 0 + store ptr @21, ptr %362, align 8 + %363 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %361, i32 0, i32 1 + store i64 2, ptr %363, align 4 + %364 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %361, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %318, %"github.com/goplus/llgo/internal/runtime.String" %360, %"github.com/goplus/llgo/internal/runtime.String" %364, ptr %325, %"github.com/goplus/llgo/internal/runtime.Slice" %349, %"github.com/goplus/llgo/internal/runtime.Slice" %356) br label %_llgo_44 _llgo_44: ; preds = %_llgo_43, %_llgo_42 - %369 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %370 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %369, i32 0, i32 0 - store ptr @22, ptr %370, align 8 - %371 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %369, i32 0, i32 1 - store i64 7, ptr %371, align 4 - %372 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %369, align 8 - %373 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %372, i64 25, i64 8, i64 1, i64 1) - %374 = load ptr, ptr @_llgo_main.T5, align 8 - %375 = icmp eq ptr %374, null - br i1 %375, label %_llgo_45, label %_llgo_46 + %365 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %366 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %365, i32 0, i32 0 + store ptr @20, ptr %366, align 8 + %367 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %365, i32 0, i32 1 + store i64 7, ptr %367, align 4 + %368 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %365, align 8 + %369 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %368, i64 17, i64 8, i64 1, i64 1) + %370 = load ptr, ptr @"*_llgo_main.T4", align 8 + %371 = icmp eq ptr %370, null + br i1 %371, label %_llgo_45, label %_llgo_46 _llgo_45: ; preds = %_llgo_44 - store ptr %373, ptr @_llgo_main.T5, align 8 + %372 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %369) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %372) + store ptr %372, ptr @"*_llgo_main.T4", align 8 br label %_llgo_46 _llgo_46: ; preds = %_llgo_45, %_llgo_44 - %376 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %377 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %376, i32 0, i32 0 - store ptr @23, ptr %377, align 8 - %378 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %376, i32 0, i32 1 - store i64 1, ptr %378, align 4 - %379 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %376, align 8 - %380 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %381 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %380, i32 0, i32 0 - store ptr null, ptr %381, align 8 - %382 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %380, i32 0, i32 1 - store i64 0, ptr %382, align 4 - %383 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %380, align 8 - %384 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %385 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %379, ptr %384, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %383, i1 false) - %386 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %387 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %386, i32 0, i32 0 - store ptr @10, ptr %387, align 8 - %388 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %386, i32 0, i32 1 - store i64 4, ptr %388, align 4 - %389 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %386, align 8 - %390 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) - %391 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %390, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %385, ptr %391, align 8 - %392 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %393 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %392, i32 0, i32 0 - store ptr %390, ptr %393, align 8 - %394 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %392, i32 0, i32 1 - store i64 1, ptr %394, align 4 - %395 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %392, i32 0, i32 2 - store i64 1, ptr %395, align 4 - %396 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %392, align 8 - %397 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %389, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %396) - store ptr %397, ptr @"main.struct$eovYmOhZg4X0zMSsuscSshndnbbAGvB2E3cyG8E7Y4U", align 8 - %398 = load ptr, ptr @"main.struct$eovYmOhZg4X0zMSsuscSshndnbbAGvB2E3cyG8E7Y4U", align 8 - br i1 %375, label %_llgo_47, label %_llgo_48 + %373 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %374 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %373, i32 0, i32 0 + store ptr @22, ptr %374, align 8 + %375 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %373, i32 0, i32 1 + store i64 7, ptr %375, align 4 + %376 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %373, align 8 + %377 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %376, i64 25, i64 8, i64 1, i64 1) + %378 = load ptr, ptr @_llgo_main.T5, align 8 + %379 = icmp eq ptr %378, null + br i1 %379, label %_llgo_47, label %_llgo_48 _llgo_47: ; preds = %_llgo_46 - %399 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %400 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %399, i32 0, i32 0 - store ptr @11, ptr %400, align 8 - %401 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %399, i32 0, i32 1 - store i64 6, ptr %401, align 4 - %402 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %399, align 8 - %403 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %404 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %405 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %404, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %402, ptr %405, align 8 - %406 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %404, i32 0, i32 1 - store ptr %403, ptr %406, align 8 - %407 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %404, i32 0, i32 2 - store ptr @"main.(*T5).Invoke", ptr %407, align 8 - %408 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %404, i32 0, i32 3 - store ptr @"main.(*T5).Invoke", ptr %408, align 8 - %409 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %404, align 8 - %410 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %411 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %410, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %402, ptr %411, align 8 - %412 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %410, i32 0, i32 1 - store ptr %403, ptr %412, align 8 - %413 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %410, i32 0, i32 2 - store ptr @"main.(*T5).Invoke", ptr %413, align 8 - %414 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %410, i32 0, i32 3 - store ptr @main.T5.Invoke, ptr %414, align 8 - %415 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %410, align 8 - %416 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %417 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %416, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %415, ptr %417, align 8 - %418 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %419 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %418, i32 0, i32 0 - store ptr %416, ptr %419, align 8 - %420 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %418, i32 0, i32 1 - store i64 1, ptr %420, align 4 - %421 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %418, i32 0, i32 2 - store i64 1, ptr %421, align 4 - %422 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %418, align 8 - %423 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %424 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %423, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %409, ptr %424, align 8 - %425 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %426 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %425, i32 0, i32 0 - store ptr %423, ptr %426, align 8 - %427 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %425, i32 0, i32 1 - store i64 1, ptr %427, align 4 - %428 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %425, i32 0, i32 2 - store i64 1, ptr %428, align 4 - %429 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %425, align 8 - %430 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %431 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %430, i32 0, i32 0 - store ptr @10, ptr %431, align 8 - %432 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %430, i32 0, i32 1 - store i64 4, ptr %432, align 4 - %433 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %430, align 8 - %434 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %435 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %434, i32 0, i32 0 - store ptr @24, ptr %435, align 8 - %436 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %434, i32 0, i32 1 - store i64 2, ptr %436, align 4 - %437 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %434, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %373, %"github.com/goplus/llgo/internal/runtime.String" %433, %"github.com/goplus/llgo/internal/runtime.String" %437, ptr %398, %"github.com/goplus/llgo/internal/runtime.Slice" %422, %"github.com/goplus/llgo/internal/runtime.Slice" %429) + store ptr %377, ptr @_llgo_main.T5, align 8 br label %_llgo_48 _llgo_48: ; preds = %_llgo_47, %_llgo_46 - %438 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %439 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %438, i32 0, i32 0 - store ptr @22, ptr %439, align 8 - %440 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %438, i32 0, i32 1 - store i64 7, ptr %440, align 4 - %441 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %438, align 8 - %442 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %441, i64 25, i64 8, i64 1, i64 1) - %443 = load ptr, ptr @"*_llgo_main.T5", align 8 - %444 = icmp eq ptr %443, null - br i1 %444, label %_llgo_49, label %_llgo_50 + %380 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %381 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %380, i32 0, i32 0 + store ptr @23, ptr %381, align 8 + %382 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %380, i32 0, i32 1 + store i64 1, ptr %382, align 4 + %383 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %380, align 8 + %384 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %385 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %384, i32 0, i32 0 + store ptr null, ptr %385, align 8 + %386 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %384, i32 0, i32 1 + store i64 0, ptr %386, align 4 + %387 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %384, align 8 + %388 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %389 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %383, ptr %388, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %387, i1 false) + %390 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %391 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %390, i32 0, i32 0 + store ptr @10, ptr %391, align 8 + %392 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %390, i32 0, i32 1 + store i64 4, ptr %392, align 4 + %393 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %390, align 8 + %394 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) + %395 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %394, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %389, ptr %395, align 8 + %396 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %397 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %396, i32 0, i32 0 + store ptr %394, ptr %397, align 8 + %398 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %396, i32 0, i32 1 + store i64 1, ptr %398, align 4 + %399 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %396, i32 0, i32 2 + store i64 1, ptr %399, align 4 + %400 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %396, align 8 + %401 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %393, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %400) + store ptr %401, ptr @"main.struct$eovYmOhZg4X0zMSsuscSshndnbbAGvB2E3cyG8E7Y4U", align 8 + %402 = load ptr, ptr @"main.struct$eovYmOhZg4X0zMSsuscSshndnbbAGvB2E3cyG8E7Y4U", align 8 + br i1 %379, label %_llgo_49, label %_llgo_50 _llgo_49: ; preds = %_llgo_48 - %445 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %442) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %445) - store ptr %445, ptr @"*_llgo_main.T5", align 8 + %403 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %404 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %403, i32 0, i32 0 + store ptr @11, ptr %404, align 8 + %405 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %403, i32 0, i32 1 + store i64 6, ptr %405, align 4 + %406 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %403, align 8 + %407 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %408 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %409 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %408, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %406, ptr %409, align 8 + %410 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %408, i32 0, i32 1 + store ptr %407, ptr %410, align 8 + %411 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %408, i32 0, i32 2 + store ptr @"main.(*T5).Invoke", ptr %411, align 8 + %412 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %408, i32 0, i32 3 + store ptr @"main.(*T5).Invoke", ptr %412, align 8 + %413 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %408, align 8 + %414 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %415 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %414, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %406, ptr %415, align 8 + %416 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %414, i32 0, i32 1 + store ptr %407, ptr %416, align 8 + %417 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %414, i32 0, i32 2 + store ptr @"main.(*T5).Invoke", ptr %417, align 8 + %418 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %414, i32 0, i32 3 + store ptr @main.T5.Invoke, ptr %418, align 8 + %419 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %414, align 8 + %420 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %421 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %420, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %419, ptr %421, align 8 + %422 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %423 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %422, i32 0, i32 0 + store ptr %420, ptr %423, align 8 + %424 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %422, i32 0, i32 1 + store i64 1, ptr %424, align 4 + %425 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %422, i32 0, i32 2 + store i64 1, ptr %425, align 4 + %426 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %422, align 8 + %427 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %428 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %427, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %413, ptr %428, align 8 + %429 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %430 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %429, i32 0, i32 0 + store ptr %427, ptr %430, align 8 + %431 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %429, i32 0, i32 1 + store i64 1, ptr %431, align 4 + %432 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %429, i32 0, i32 2 + store i64 1, ptr %432, align 4 + %433 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %429, align 8 + %434 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %435 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %434, i32 0, i32 0 + store ptr @10, ptr %435, align 8 + %436 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %434, i32 0, i32 1 + store i64 4, ptr %436, align 4 + %437 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %434, align 8 + %438 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %439 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %438, i32 0, i32 0 + store ptr @24, ptr %439, align 8 + %440 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %438, i32 0, i32 1 + store i64 2, ptr %440, align 4 + %441 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %438, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %377, %"github.com/goplus/llgo/internal/runtime.String" %437, %"github.com/goplus/llgo/internal/runtime.String" %441, ptr %402, %"github.com/goplus/llgo/internal/runtime.Slice" %426, %"github.com/goplus/llgo/internal/runtime.Slice" %433) br label %_llgo_50 _llgo_50: ; preds = %_llgo_49, %_llgo_48 - %446 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %447 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %446, i32 0, i32 0 - store ptr @25, ptr %447, align 8 - %448 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %446, i32 0, i32 1 - store i64 7, ptr %448, align 4 - %449 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %446, align 8 - %450 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %449, i64 25, i64 24, i64 1, i64 1) - %451 = load ptr, ptr @_llgo_main.T6, align 8 - %452 = icmp eq ptr %451, null - br i1 %452, label %_llgo_51, label %_llgo_52 + %442 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %443 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %442, i32 0, i32 0 + store ptr @22, ptr %443, align 8 + %444 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %442, i32 0, i32 1 + store i64 7, ptr %444, align 4 + %445 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %442, align 8 + %446 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %445, i64 25, i64 8, i64 1, i64 1) + %447 = load ptr, ptr @"*_llgo_main.T5", align 8 + %448 = icmp eq ptr %447, null + br i1 %448, label %_llgo_51, label %_llgo_52 _llgo_51: ; preds = %_llgo_50 - store ptr %450, ptr @_llgo_main.T6, align 8 + %449 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %446) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %449) + store ptr %449, ptr @"*_llgo_main.T5", align 8 br label %_llgo_52 _llgo_52: ; preds = %_llgo_51, %_llgo_50 - %453 = load ptr, ptr @_llgo_Pointer, align 8 - %454 = icmp eq ptr %453, null - br i1 %454, label %_llgo_53, label %_llgo_54 + %450 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %451 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %450, i32 0, i32 0 + store ptr @25, ptr %451, align 8 + %452 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %450, i32 0, i32 1 + store i64 7, ptr %452, align 4 + %453 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %450, align 8 + %454 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %453, i64 25, i64 24, i64 1, i64 1) + %455 = load ptr, ptr @_llgo_main.T6, align 8 + %456 = icmp eq ptr %455, null + br i1 %456, label %_llgo_53, label %_llgo_54 _llgo_53: ; preds = %_llgo_52 - %455 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %455) - store ptr %455, ptr @_llgo_Pointer, align 8 + store ptr %454, ptr @_llgo_main.T6, align 8 br label %_llgo_54 _llgo_54: ; preds = %_llgo_53, %_llgo_52 - %456 = load ptr, ptr @_llgo_Pointer, align 8 - %457 = load ptr, ptr @_llgo_int, align 8 - %458 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %459 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %458, i32 0, i32 0 - store ptr @26, ptr %459, align 8 - %460 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %458, i32 0, i32 1 - store i64 1, ptr %460, align 4 - %461 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %458, align 8 - %462 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %463 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %462, i32 0, i32 0 - store ptr null, ptr %463, align 8 - %464 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %462, i32 0, i32 1 - store i64 0, ptr %464, align 4 - %465 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %462, align 8 - %466 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %467 = getelementptr ptr, ptr %466, i64 0 - store ptr %456, ptr %467, align 8 - %468 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %469 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %468, i32 0, i32 0 - store ptr %466, ptr %469, align 8 - %470 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %468, i32 0, i32 1 - store i64 1, ptr %470, align 4 - %471 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %468, i32 0, i32 2 - store i64 1, ptr %471, align 4 - %472 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %468, align 8 - %473 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %474 = getelementptr ptr, ptr %473, i64 0 - store ptr %457, ptr %474, align 8 - %475 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %476 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %475, i32 0, i32 0 - store ptr %473, ptr %476, align 8 - %477 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %475, i32 0, i32 1 - store i64 1, ptr %477, align 4 - %478 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %475, i32 0, i32 2 - store i64 1, ptr %478, align 4 - %479 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %475, align 8 - %480 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %472, %"github.com/goplus/llgo/internal/runtime.Slice" %479, i1 false) - %481 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %461, ptr %480, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %465, i1 false) - %482 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %483 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %482, i32 0, i32 0 - store ptr @27, ptr %483, align 8 - %484 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %482, i32 0, i32 1 - store i64 4, ptr %484, align 4 - %485 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %482, align 8 - %486 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %487 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %486, i32 0, i32 0 - store ptr null, ptr %487, align 8 - %488 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %486, i32 0, i32 1 - store i64 0, ptr %488, align 4 - %489 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %486, align 8 - %490 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %491 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %485, ptr %490, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %489, i1 false) - %492 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %493 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %492, i32 0, i32 0 - store ptr @10, ptr %493, align 8 - %494 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %492, i32 0, i32 1 - store i64 4, ptr %494, align 4 - %495 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %492, align 8 - %496 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %497 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %496, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %481, ptr %497, align 8 - %498 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %496, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %491, ptr %498, align 8 - %499 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %500 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %499, i32 0, i32 0 - store ptr %496, ptr %500, align 8 - %501 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %499, i32 0, i32 1 - store i64 2, ptr %501, align 4 - %502 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %499, i32 0, i32 2 - store i64 2, ptr %502, align 4 - %503 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %499, align 8 - %504 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %495, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %503) - store ptr %504, ptr @"main.struct$2bSfJcCYDdttnIT-JASAjsTNUZvojBt4mPXFJdH4M10", align 8 - %505 = load ptr, ptr @"main.struct$2bSfJcCYDdttnIT-JASAjsTNUZvojBt4mPXFJdH4M10", align 8 - br i1 %452, label %_llgo_55, label %_llgo_56 + %457 = load ptr, ptr @_llgo_Pointer, align 8 + %458 = icmp eq ptr %457, null + br i1 %458, label %_llgo_55, label %_llgo_56 _llgo_55: ; preds = %_llgo_54 - %506 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %507 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %506, i32 0, i32 0 - store ptr @11, ptr %507, align 8 - %508 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %506, i32 0, i32 1 - store i64 6, ptr %508, align 4 - %509 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %506, align 8 - %510 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %511 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %512 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %511, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %509, ptr %512, align 8 - %513 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %511, i32 0, i32 1 - store ptr %510, ptr %513, align 8 - %514 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %511, i32 0, i32 2 - store ptr @"main.(*T6).Invoke", ptr %514, align 8 - %515 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %511, i32 0, i32 3 - store ptr @"main.(*T6).Invoke", ptr %515, align 8 - %516 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %511, align 8 - %517 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %518 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %517, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %509, ptr %518, align 8 - %519 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %517, i32 0, i32 1 - store ptr %510, ptr %519, align 8 - %520 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %517, i32 0, i32 2 - store ptr @"main.(*T6).Invoke", ptr %520, align 8 - %521 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %517, i32 0, i32 3 - store ptr @main.T6.Invoke, ptr %521, align 8 - %522 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %517, align 8 - %523 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %524 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %523, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %522, ptr %524, align 8 - %525 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %526 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %525, i32 0, i32 0 - store ptr %523, ptr %526, align 8 - %527 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %525, i32 0, i32 1 - store i64 1, ptr %527, align 4 - %528 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %525, i32 0, i32 2 - store i64 1, ptr %528, align 4 - %529 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %525, align 8 - %530 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %531 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %530, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %516, ptr %531, align 8 - %532 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %533 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %532, i32 0, i32 0 - store ptr %530, ptr %533, align 8 - %534 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %532, i32 0, i32 1 - store i64 1, ptr %534, align 4 - %535 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %532, i32 0, i32 2 - store i64 1, ptr %535, align 4 - %536 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %532, align 8 - %537 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %538 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %537, i32 0, i32 0 - store ptr @10, ptr %538, align 8 - %539 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %537, i32 0, i32 1 - store i64 4, ptr %539, align 4 - %540 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %537, align 8 - %541 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %542 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %541, i32 0, i32 0 - store ptr @28, ptr %542, align 8 - %543 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %541, i32 0, i32 1 - store i64 2, ptr %543, align 4 - %544 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %541, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %450, %"github.com/goplus/llgo/internal/runtime.String" %540, %"github.com/goplus/llgo/internal/runtime.String" %544, ptr %505, %"github.com/goplus/llgo/internal/runtime.Slice" %529, %"github.com/goplus/llgo/internal/runtime.Slice" %536) + %459 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %459) + store ptr %459, ptr @_llgo_Pointer, align 8 br label %_llgo_56 _llgo_56: ; preds = %_llgo_55, %_llgo_54 - %545 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %546 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %545, i32 0, i32 0 - store ptr @25, ptr %546, align 8 - %547 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %545, i32 0, i32 1 - store i64 7, ptr %547, align 4 - %548 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %545, align 8 - %549 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %548, i64 25, i64 24, i64 1, i64 1) - %550 = load ptr, ptr @"*_llgo_main.T6", align 8 - %551 = icmp eq ptr %550, null - br i1 %551, label %_llgo_57, label %_llgo_58 + %460 = load ptr, ptr @_llgo_Pointer, align 8 + %461 = load ptr, ptr @_llgo_Pointer, align 8 + %462 = load ptr, ptr @_llgo_int, align 8 + %463 = load ptr, ptr @"_llgo_func$xDKPBz2TjGWCkfLQLcYQpZXP65A_RCdH__LHR-wvWiw", align 8 + %464 = icmp eq ptr %463, null + br i1 %464, label %_llgo_57, label %_llgo_58 _llgo_57: ; preds = %_llgo_56 - %552 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %549) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %552) - store ptr %552, ptr @"*_llgo_main.T6", align 8 + %465 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %466 = getelementptr ptr, ptr %465, i64 0 + store ptr %461, ptr %466, align 8 + %467 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %468 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %467, i32 0, i32 0 + store ptr %465, ptr %468, align 8 + %469 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %467, i32 0, i32 1 + store i64 1, ptr %469, align 4 + %470 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %467, i32 0, i32 2 + store i64 1, ptr %470, align 4 + %471 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %467, align 8 + %472 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %473 = getelementptr ptr, ptr %472, i64 0 + store ptr %462, ptr %473, align 8 + %474 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %475 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %474, i32 0, i32 0 + store ptr %472, ptr %475, align 8 + %476 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %474, i32 0, i32 1 + store i64 1, ptr %476, align 4 + %477 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %474, i32 0, i32 2 + store i64 1, ptr %477, align 4 + %478 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %474, align 8 + %479 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %471, %"github.com/goplus/llgo/internal/runtime.Slice" %478, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %479) + store ptr %479, ptr @"_llgo_func$xDKPBz2TjGWCkfLQLcYQpZXP65A_RCdH__LHR-wvWiw", align 8 br label %_llgo_58 _llgo_58: ; preds = %_llgo_57, %_llgo_56 - %553 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %554 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %555 = load ptr, ptr @"_llgo_iface$jwmSdgh1zvY_TDIgLzCkvkbiyrdwl9N806DH0JGcyMI", align 8 - %556 = icmp eq ptr %555, null - br i1 %556, label %_llgo_59, label %_llgo_60 + %480 = load ptr, ptr @"_llgo_func$xDKPBz2TjGWCkfLQLcYQpZXP65A_RCdH__LHR-wvWiw", align 8 + %481 = load ptr, ptr @_llgo_Pointer, align 8 + %482 = load ptr, ptr @_llgo_int, align 8 + %483 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %484 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %483, i32 0, i32 0 + store ptr @26, ptr %484, align 8 + %485 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %483, i32 0, i32 1 + store i64 1, ptr %485, align 4 + %486 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %483, align 8 + %487 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %488 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %487, i32 0, i32 0 + store ptr null, ptr %488, align 8 + %489 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %487, i32 0, i32 1 + store i64 0, ptr %489, align 4 + %490 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %487, align 8 + %491 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %492 = getelementptr ptr, ptr %491, i64 0 + store ptr %481, ptr %492, align 8 + %493 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %494 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %493, i32 0, i32 0 + store ptr %491, ptr %494, align 8 + %495 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %493, i32 0, i32 1 + store i64 1, ptr %495, align 4 + %496 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %493, i32 0, i32 2 + store i64 1, ptr %496, align 4 + %497 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %493, align 8 + %498 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %499 = getelementptr ptr, ptr %498, i64 0 + store ptr %482, ptr %499, align 8 + %500 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %501 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %500, i32 0, i32 0 + store ptr %498, ptr %501, align 8 + %502 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %500, i32 0, i32 1 + store i64 1, ptr %502, align 4 + %503 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %500, i32 0, i32 2 + store i64 1, ptr %503, align 4 + %504 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %500, align 8 + %505 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %497, %"github.com/goplus/llgo/internal/runtime.Slice" %504, i1 false) + %506 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %486, ptr %505, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %490, i1 false) + %507 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %508 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %507, i32 0, i32 0 + store ptr @27, ptr %508, align 8 + %509 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %507, i32 0, i32 1 + store i64 4, ptr %509, align 4 + %510 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %507, align 8 + %511 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %512 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %511, i32 0, i32 0 + store ptr null, ptr %512, align 8 + %513 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %511, i32 0, i32 1 + store i64 0, ptr %513, align 4 + %514 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %511, align 8 + %515 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %516 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %510, ptr %515, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %514, i1 false) + %517 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %518 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %517, i32 0, i32 0 + store ptr @10, ptr %518, align 8 + %519 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %517, i32 0, i32 1 + store i64 4, ptr %519, align 4 + %520 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %517, align 8 + %521 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %522 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %521, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %506, ptr %522, align 8 + %523 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %521, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %516, ptr %523, align 8 + %524 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %525 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %524, i32 0, i32 0 + store ptr %521, ptr %525, align 8 + %526 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %524, i32 0, i32 1 + store i64 2, ptr %526, align 4 + %527 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %524, i32 0, i32 2 + store i64 2, ptr %527, align 4 + %528 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %524, align 8 + %529 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %520, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %528) + store ptr %529, ptr @"main.struct$2bSfJcCYDdttnIT-JASAjsTNUZvojBt4mPXFJdH4M10", align 8 + %530 = load ptr, ptr @"main.struct$2bSfJcCYDdttnIT-JASAjsTNUZvojBt4mPXFJdH4M10", align 8 + br i1 %456, label %_llgo_59, label %_llgo_60 _llgo_59: ; preds = %_llgo_58 - %557 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %558 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %557, i32 0, i32 0 - store ptr @11, ptr %558, align 8 - %559 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %557, i32 0, i32 1 - store i64 6, ptr %559, align 4 - %560 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %557, align 8 - %561 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %562 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %561, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %560, ptr %562, align 8 - %563 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %561, i32 0, i32 1 - store ptr %553, ptr %563, align 8 - %564 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %561, align 8 - %565 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %566 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %565, i32 0, i32 0 - store ptr @12, ptr %566, align 8 - %567 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %565, i32 0, i32 1 - store i64 6, ptr %567, align 4 - %568 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %565, align 8 - %569 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %570 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %569, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %568, ptr %570, align 8 - %571 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %569, i32 0, i32 1 - store ptr %554, ptr %571, align 8 - %572 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %569, align 8 - %573 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48) - %574 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %573, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %564, ptr %574, align 8 - %575 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %573, i64 1 - store %"github.com/goplus/llgo/internal/abi.Imethod" %572, ptr %575, align 8 - %576 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %577 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %576, i32 0, i32 0 - store ptr %573, ptr %577, align 8 - %578 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %576, i32 0, i32 1 - store i64 2, ptr %578, align 4 - %579 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %576, i32 0, i32 2 - store i64 2, ptr %579, align 4 - %580 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %576, align 8 - %581 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %582 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %581, i32 0, i32 0 - store ptr @10, ptr %582, align 8 - %583 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %581, i32 0, i32 1 - store i64 4, ptr %583, align 4 - %584 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %581, align 8 - %585 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %586 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %585, i32 0, i32 0 - store ptr null, ptr %586, align 8 - %587 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %585, i32 0, i32 1 - store i64 0, ptr %587, align 4 - %588 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %585, align 8 - %589 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %584, %"github.com/goplus/llgo/internal/runtime.String" %588, %"github.com/goplus/llgo/internal/runtime.Slice" %580) - store ptr %589, ptr @"_llgo_iface$jwmSdgh1zvY_TDIgLzCkvkbiyrdwl9N806DH0JGcyMI", align 8 + %531 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %532 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %531, i32 0, i32 0 + store ptr @11, ptr %532, align 8 + %533 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %531, i32 0, i32 1 + store i64 6, ptr %533, align 4 + %534 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %531, align 8 + %535 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %536 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %537 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %536, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %534, ptr %537, align 8 + %538 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %536, i32 0, i32 1 + store ptr %535, ptr %538, align 8 + %539 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %536, i32 0, i32 2 + store ptr @"main.(*T6).Invoke", ptr %539, align 8 + %540 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %536, i32 0, i32 3 + store ptr @"main.(*T6).Invoke", ptr %540, align 8 + %541 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %536, align 8 + %542 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %543 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %542, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %534, ptr %543, align 8 + %544 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %542, i32 0, i32 1 + store ptr %535, ptr %544, align 8 + %545 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %542, i32 0, i32 2 + store ptr @"main.(*T6).Invoke", ptr %545, align 8 + %546 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %542, i32 0, i32 3 + store ptr @main.T6.Invoke, ptr %546, align 8 + %547 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %542, align 8 + %548 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %549 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %548, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %547, ptr %549, align 8 + %550 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %551 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %550, i32 0, i32 0 + store ptr %548, ptr %551, align 8 + %552 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %550, i32 0, i32 1 + store i64 1, ptr %552, align 4 + %553 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %550, i32 0, i32 2 + store i64 1, ptr %553, align 4 + %554 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %550, align 8 + %555 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %556 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %555, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %541, ptr %556, align 8 + %557 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %558 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %557, i32 0, i32 0 + store ptr %555, ptr %558, align 8 + %559 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %557, i32 0, i32 1 + store i64 1, ptr %559, align 4 + %560 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %557, i32 0, i32 2 + store i64 1, ptr %560, align 4 + %561 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %557, align 8 + %562 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %563 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %562, i32 0, i32 0 + store ptr @10, ptr %563, align 8 + %564 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %562, i32 0, i32 1 + store i64 4, ptr %564, align 4 + %565 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %562, align 8 + %566 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %567 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %566, i32 0, i32 0 + store ptr @28, ptr %567, align 8 + %568 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %566, i32 0, i32 1 + store i64 2, ptr %568, align 4 + %569 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %566, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %454, %"github.com/goplus/llgo/internal/runtime.String" %565, %"github.com/goplus/llgo/internal/runtime.String" %569, ptr %530, %"github.com/goplus/llgo/internal/runtime.Slice" %554, %"github.com/goplus/llgo/internal/runtime.Slice" %561) br label %_llgo_60 _llgo_60: ; preds = %_llgo_59, %_llgo_58 - %590 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %591 = load ptr, ptr @_llgo_main.I, align 8 - %592 = icmp eq ptr %591, null - br i1 %592, label %_llgo_61, label %_llgo_62 + %570 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %571 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %570, i32 0, i32 0 + store ptr @25, ptr %571, align 8 + %572 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %570, i32 0, i32 1 + store i64 7, ptr %572, align 4 + %573 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %570, align 8 + %574 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %573, i64 25, i64 24, i64 1, i64 1) + %575 = load ptr, ptr @"*_llgo_main.T6", align 8 + %576 = icmp eq ptr %575, null + br i1 %576, label %_llgo_61, label %_llgo_62 _llgo_61: ; preds = %_llgo_60 - %593 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %594 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %593, i32 0, i32 0 - store ptr @11, ptr %594, align 8 - %595 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %593, i32 0, i32 1 - store i64 6, ptr %595, align 4 - %596 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %593, align 8 - %597 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %598 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %597, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %596, ptr %598, align 8 - %599 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %597, i32 0, i32 1 - store ptr %590, ptr %599, align 8 - %600 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %597, align 8 - %601 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %602 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %601, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %600, ptr %602, align 8 - %603 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %604 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %603, i32 0, i32 0 - store ptr %601, ptr %604, align 8 - %605 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %603, i32 0, i32 1 - store i64 1, ptr %605, align 4 - %606 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %603, i32 0, i32 2 - store i64 1, ptr %606, align 4 - %607 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %603, align 8 - %608 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %609 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %608, i32 0, i32 0 - store ptr @10, ptr %609, align 8 - %610 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %608, i32 0, i32 1 - store i64 4, ptr %610, align 4 - %611 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %608, align 8 - %612 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %613 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %612, i32 0, i32 0 - store ptr @30, ptr %613, align 8 - %614 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %612, i32 0, i32 1 - store i64 6, ptr %614, align 4 - %615 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %612, align 8 - %616 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %611, %"github.com/goplus/llgo/internal/runtime.String" %615, %"github.com/goplus/llgo/internal/runtime.Slice" %607) - store ptr %616, ptr @_llgo_main.I, align 8 + %577 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %574) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %577) + store ptr %577, ptr @"*_llgo_main.T6", align 8 br label %_llgo_62 _llgo_62: ; preds = %_llgo_61, %_llgo_60 - %617 = load ptr, ptr @_llgo_string, align 8 - %618 = icmp eq ptr %617, null - br i1 %618, label %_llgo_63, label %_llgo_64 + %578 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %579 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %580 = load ptr, ptr @"_llgo_iface$jwmSdgh1zvY_TDIgLzCkvkbiyrdwl9N806DH0JGcyMI", align 8 + %581 = icmp eq ptr %580, null + br i1 %581, label %_llgo_63, label %_llgo_64 _llgo_63: ; preds = %_llgo_62 - %619 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - store ptr %619, ptr @_llgo_string, align 8 + %582 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %583 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %582, i32 0, i32 0 + store ptr @11, ptr %583, align 8 + %584 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %582, i32 0, i32 1 + store i64 6, ptr %584, align 4 + %585 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %582, align 8 + %586 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %587 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %586, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %585, ptr %587, align 8 + %588 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %586, i32 0, i32 1 + store ptr %578, ptr %588, align 8 + %589 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %586, align 8 + %590 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %591 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %590, i32 0, i32 0 + store ptr @12, ptr %591, align 8 + %592 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %590, i32 0, i32 1 + store i64 6, ptr %592, align 4 + %593 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %590, align 8 + %594 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %595 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %594, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %593, ptr %595, align 8 + %596 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %594, i32 0, i32 1 + store ptr %579, ptr %596, align 8 + %597 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %594, align 8 + %598 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48) + %599 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %598, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %589, ptr %599, align 8 + %600 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %598, i64 1 + store %"github.com/goplus/llgo/internal/abi.Imethod" %597, ptr %600, align 8 + %601 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %602 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %601, i32 0, i32 0 + store ptr %598, ptr %602, align 8 + %603 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %601, i32 0, i32 1 + store i64 2, ptr %603, align 4 + %604 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %601, i32 0, i32 2 + store i64 2, ptr %604, align 4 + %605 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %601, align 8 + %606 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %607 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %606, i32 0, i32 0 + store ptr @10, ptr %607, align 8 + %608 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %606, i32 0, i32 1 + store i64 4, ptr %608, align 4 + %609 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %606, align 8 + %610 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %611 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %610, i32 0, i32 0 + store ptr null, ptr %611, align 8 + %612 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %610, i32 0, i32 1 + store i64 0, ptr %612, align 4 + %613 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %610, align 8 + %614 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %609, %"github.com/goplus/llgo/internal/runtime.String" %613, %"github.com/goplus/llgo/internal/runtime.Slice" %605) + store ptr %614, ptr @"_llgo_iface$jwmSdgh1zvY_TDIgLzCkvkbiyrdwl9N806DH0JGcyMI", align 8 br label %_llgo_64 _llgo_64: ; preds = %_llgo_63, %_llgo_62 - %620 = load ptr, ptr @_llgo_any, align 8 - %621 = icmp eq ptr %620, null - br i1 %621, label %_llgo_65, label %_llgo_66 + %615 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %616 = load ptr, ptr @_llgo_main.I, align 8 + %617 = icmp eq ptr %616, null + br i1 %617, label %_llgo_65, label %_llgo_66 _llgo_65: ; preds = %_llgo_64 - %622 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %623 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %624 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %623, i32 0, i32 0 - store ptr %622, ptr %624, align 8 - %625 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %623, i32 0, i32 1 - store i64 0, ptr %625, align 4 - %626 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %623, i32 0, i32 2 - store i64 0, ptr %626, align 4 - %627 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %623, align 8 - %628 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %629 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %628, i32 0, i32 0 - store ptr @10, ptr %629, align 8 - %630 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %628, i32 0, i32 1 - store i64 4, ptr %630, align 4 - %631 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %628, align 8 - %632 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %633 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %632, i32 0, i32 0 - store ptr null, ptr %633, align 8 - %634 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %632, i32 0, i32 1 - store i64 0, ptr %634, align 4 - %635 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %632, align 8 - %636 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %631, %"github.com/goplus/llgo/internal/runtime.String" %635, %"github.com/goplus/llgo/internal/runtime.Slice" %627) - store ptr %636, ptr @_llgo_any, align 8 + %618 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %619 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %618, i32 0, i32 0 + store ptr @11, ptr %619, align 8 + %620 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %618, i32 0, i32 1 + store i64 6, ptr %620, align 4 + %621 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %618, align 8 + %622 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %623 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %622, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %621, ptr %623, align 8 + %624 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %622, i32 0, i32 1 + store ptr %615, ptr %624, align 8 + %625 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %622, align 8 + %626 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %627 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %626, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %625, ptr %627, align 8 + %628 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %629 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %628, i32 0, i32 0 + store ptr %626, ptr %629, align 8 + %630 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %628, i32 0, i32 1 + store i64 1, ptr %630, align 4 + %631 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %628, i32 0, i32 2 + store i64 1, ptr %631, align 4 + %632 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %628, align 8 + %633 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %634 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %633, i32 0, i32 0 + store ptr @10, ptr %634, align 8 + %635 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %633, i32 0, i32 1 + store i64 4, ptr %635, align 4 + %636 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %633, align 8 + %637 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %638 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %637, i32 0, i32 0 + store ptr @30, ptr %638, align 8 + %639 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %637, i32 0, i32 1 + store i64 6, ptr %639, align 4 + %640 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %637, align 8 + %641 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %636, %"github.com/goplus/llgo/internal/runtime.String" %640, %"github.com/goplus/llgo/internal/runtime.Slice" %632) + store ptr %641, ptr @_llgo_main.I, align 8 br label %_llgo_66 _llgo_66: ; preds = %_llgo_65, %_llgo_64 + %642 = load ptr, ptr @_llgo_any, align 8 + %643 = icmp eq ptr %642, null + br i1 %643, label %_llgo_67, label %_llgo_68 + +_llgo_67: ; preds = %_llgo_66 + %644 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %645 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %646 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %645, i32 0, i32 0 + store ptr %644, ptr %646, align 8 + %647 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %645, i32 0, i32 1 + store i64 0, ptr %647, align 4 + %648 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %645, i32 0, i32 2 + store i64 0, ptr %648, align 4 + %649 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %645, align 8 + %650 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %651 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %650, i32 0, i32 0 + store ptr @10, ptr %651, align 8 + %652 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %650, i32 0, i32 1 + store i64 4, ptr %652, align 4 + %653 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %650, align 8 + %654 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %655 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %654, i32 0, i32 0 + store ptr null, ptr %655, align 8 + %656 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %654, i32 0, i32 1 + store i64 0, ptr %656, align 4 + %657 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %654, align 8 + %658 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %653, %"github.com/goplus/llgo/internal/runtime.String" %657, %"github.com/goplus/llgo/internal/runtime.Slice" %649) + store ptr %658, ptr @_llgo_any, align 8 + br label %_llgo_68 + +_llgo_68: ; preds = %_llgo_67, %_llgo_66 ret void } declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, i64) +declare ptr @"github.com/goplus/llgo/internal/runtime.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) -declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64) - declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64) declare void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr, %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", ptr, %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice") diff --git a/cl/_testgo/reader/out.ll b/cl/_testgo/reader/out.ll index 7c74567c..295ee1d3 100644 --- a/cl/_testgo/reader/out.ll +++ b/cl/_testgo/reader/out.ll @@ -17,29 +17,31 @@ source_filename = "main" @main.ErrShortWrite = global %"github.com/goplus/llgo/internal/runtime.iface" zeroinitializer, align 8 @"main.init$guard" = global i1 false, align 1 @_llgo_main.WriterTo = linkonce global ptr null, align 8 -@"_llgo_func$MrYxYl10p_I07B55pBsGw9la9zbzU2vGDPLWrT714Uk" = linkonce global ptr null, align 8 @_llgo_main.Writer = linkonce global ptr null, align 8 -@"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY" = linkonce global ptr null, align 8 +@_llgo_byte = linkonce global ptr null, align 8 @"[]_llgo_byte" = linkonce global ptr null, align 8 @_llgo_int = linkonce global ptr null, align 8 @_llgo_error = linkonce global ptr null, align 8 -@"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to" = linkonce global ptr null, align 8 @_llgo_string = linkonce global ptr null, align 8 +@"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to" = linkonce global ptr null, align 8 @0 = private unnamed_addr constant [5 x i8] c"Error", align 1 @1 = private unnamed_addr constant [4 x i8] c"main", align 1 @2 = private unnamed_addr constant [5 x i8] c"error", align 1 +@"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY" = linkonce global ptr null, align 8 @3 = private unnamed_addr constant [5 x i8] c"Write", align 1 @4 = private unnamed_addr constant [11 x i8] c"main.Writer", align 1 @_llgo_int64 = linkonce global ptr null, align 8 +@"_llgo_func$MrYxYl10p_I07B55pBsGw9la9zbzU2vGDPLWrT714Uk" = linkonce global ptr null, align 8 @5 = private unnamed_addr constant [7 x i8] c"WriteTo", align 1 @6 = private unnamed_addr constant [13 x i8] c"main.WriterTo", align 1 @"_llgo_iface$eN81k1zqixGTyagHw_4nqH4mGfwwehTOCTXUlbT9kzk" = linkonce global ptr null, align 8 @_llgo_main.nopCloserWriterTo = linkonce global ptr null, align 8 @7 = private unnamed_addr constant [22 x i8] c"main.nopCloserWriterTo", align 1 +@_llgo_main.Reader = linkonce global ptr null, align 8 +@8 = private unnamed_addr constant [4 x i8] c"Read", align 1 +@9 = private unnamed_addr constant [11 x i8] c"main.Reader", align 1 @"_llgo_struct$_3ow4zXXILqvC0WDqDRNq5DPhjE1DInJgN924VHWc2Y" = linkonce global ptr null, align 8 -@8 = private unnamed_addr constant [6 x i8] c"Reader", align 1 -@9 = private unnamed_addr constant [4 x i8] c"Read", align 1 -@10 = private unnamed_addr constant [11 x i8] c"main.Reader", align 1 +@10 = private unnamed_addr constant [6 x i8] c"Reader", align 1 @11 = private unnamed_addr constant [5 x i8] c"Close", align 1 @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w" = linkonce global ptr null, align 8 @12 = private unnamed_addr constant [17 x i8] c"nopCloserWriterTo", align 1 @@ -69,10 +71,9 @@ source_filename = "main" @"_llgo_func$TY5Etv7VBKM_-2um1BDEeQEE2lP06Pt6G54EuKiNC3c" = linkonce global ptr null, align 8 @26 = private unnamed_addr constant [8 x i8] c"ReadByte", align 1 @"_llgo_func$6bvVpCcGPUc3z_EmsQTHB0AVT1hP5-NNLVRgm43teCM" = linkonce global ptr null, align 8 -@_llgo_byte = linkonce global ptr null, align 8 @27 = private unnamed_addr constant [8 x i8] c"ReadRune", align 1 -@"_llgo_func$CB0CO6hV_feSzhi4pz1P4omza2fKNK930wvOR1T33fU" = linkonce global ptr null, align 8 @_llgo_rune = linkonce global ptr null, align 8 +@"_llgo_func$CB0CO6hV_feSzhi4pz1P4omza2fKNK930wvOR1T33fU" = linkonce global ptr null, align 8 @28 = private unnamed_addr constant [4 x i8] c"Seek", align 1 @"_llgo_func$HE7H49xPa1uXmrkMDpqB3RCRGf3qzhLGrxKCEXOYjms" = linkonce global ptr null, align 8 @29 = private unnamed_addr constant [4 x i8] c"Size", align 1 @@ -113,67 +114,68 @@ _llgo_1: ; preds = %_llgo_5 %7 = load ptr, ptr @_llgo_main.nopCloserWriterTo, align 8 %8 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) store %main.nopCloserWriterTo %6, ptr %8, align 8 - %9 = load ptr, ptr @"_llgo_iface$L2Ik-AJcd0jsoBw5fQ07pQpfUM-kh78Wn2bOeak6M3I", align 8 - %10 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %9, ptr %7) - %11 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %12 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %11, i32 0, i32 0 - store ptr %10, ptr %12, align 8 - %13 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %11, i32 0, i32 1 - store ptr %8, ptr %13, align 8 - %14 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %11, align 8 - ret %"github.com/goplus/llgo/internal/runtime.iface" %14 + %9 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 + %10 = load ptr, ptr @"_llgo_iface$L2Ik-AJcd0jsoBw5fQ07pQpfUM-kh78Wn2bOeak6M3I", align 8 + %11 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %10, ptr %7) + %12 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %13 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %12, i32 0, i32 0 + store ptr %11, ptr %13, align 8 + %14 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %12, i32 0, i32 1 + store ptr %8, ptr %14, align 8 + %15 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %12, align 8 + ret %"github.com/goplus/llgo/internal/runtime.iface" %15 _llgo_2: ; preds = %_llgo_5 - %15 = alloca %main.nopCloser, align 8 - call void @llvm.memset(ptr %15, i8 0, i64 16, i1 false) - %16 = getelementptr inbounds %main.nopCloser, ptr %15, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.iface" %0, ptr %16, align 8 - %17 = load %main.nopCloser, ptr %15, align 8 - %18 = load ptr, ptr @_llgo_main.nopCloser, align 8 - %19 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %main.nopCloser %17, ptr %19, align 8 - %20 = load ptr, ptr @"_llgo_iface$L2Ik-AJcd0jsoBw5fQ07pQpfUM-kh78Wn2bOeak6M3I", align 8 - %21 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %20, ptr %18) - %22 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %23 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %22, i32 0, i32 0 - store ptr %21, ptr %23, align 8 - %24 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %22, i32 0, i32 1 - store ptr %19, ptr %24, align 8 - %25 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %22, align 8 - ret %"github.com/goplus/llgo/internal/runtime.iface" %25 + %16 = alloca %main.nopCloser, align 8 + call void @llvm.memset(ptr %16, i8 0, i64 16, i1 false) + %17 = getelementptr inbounds %main.nopCloser, ptr %16, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.iface" %0, ptr %17, align 8 + %18 = load %main.nopCloser, ptr %16, align 8 + %19 = load ptr, ptr @_llgo_main.nopCloser, align 8 + %20 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %main.nopCloser %18, ptr %20, align 8 + %21 = load ptr, ptr @"_llgo_iface$L2Ik-AJcd0jsoBw5fQ07pQpfUM-kh78Wn2bOeak6M3I", align 8 + %22 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %21, ptr %19) + %23 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %24 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %23, i32 0, i32 0 + store ptr %22, ptr %24, align 8 + %25 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %23, i32 0, i32 1 + store ptr %20, ptr %25, align 8 + %26 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %23, align 8 + ret %"github.com/goplus/llgo/internal/runtime.iface" %26 _llgo_3: ; preds = %_llgo_0 - %26 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %0, 1 - %27 = load ptr, ptr @"_llgo_iface$eN81k1zqixGTyagHw_4nqH4mGfwwehTOCTXUlbT9kzk", align 8 - %28 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %27, ptr %1) - %29 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %30 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %29, i32 0, i32 0 - store ptr %28, ptr %30, align 8 - %31 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %29, i32 0, i32 1 - store ptr %26, ptr %31, align 8 - %32 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %29, align 8 - %33 = alloca { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, align 8 - %34 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %33, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.iface" %32, ptr %34, align 8 - %35 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %33, i32 0, i32 1 - store i1 true, ptr %35, align 1 - %36 = load { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %33, align 8 + %27 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %0, 1 + %28 = load ptr, ptr @"_llgo_iface$eN81k1zqixGTyagHw_4nqH4mGfwwehTOCTXUlbT9kzk", align 8 + %29 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %28, ptr %1) + %30 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %31 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %30, i32 0, i32 0 + store ptr %29, ptr %31, align 8 + %32 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %30, i32 0, i32 1 + store ptr %27, ptr %32, align 8 + %33 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %30, align 8 + %34 = alloca { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, align 8 + %35 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %34, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.iface" %33, ptr %35, align 8 + %36 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %34, i32 0, i32 1 + store i1 true, ptr %36, align 1 + %37 = load { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %34, align 8 br label %_llgo_5 _llgo_4: ; preds = %_llgo_0 - %37 = alloca { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, align 8 - %38 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %37, i32 0, i32 0 - store { ptr, ptr } zeroinitializer, ptr %38, align 8 - %39 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %37, i32 0, i32 1 - store i1 false, ptr %39, align 1 - %40 = load { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %37, align 8 + %38 = alloca { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, align 8 + %39 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %38, i32 0, i32 0 + store { ptr, ptr } zeroinitializer, ptr %39, align 8 + %40 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %38, i32 0, i32 1 + store i1 false, ptr %40, align 1 + %41 = load { %"github.com/goplus/llgo/internal/runtime.iface", i1 }, ptr %38, align 8 br label %_llgo_5 _llgo_5: ; preds = %_llgo_4, %_llgo_3 - %41 = phi { %"github.com/goplus/llgo/internal/runtime.iface", i1 } [ %36, %_llgo_3 ], [ %40, %_llgo_4 ] - %42 = extractvalue { %"github.com/goplus/llgo/internal/runtime.iface", i1 } %41, 0 - %43 = extractvalue { %"github.com/goplus/llgo/internal/runtime.iface", i1 } %41, 1 - br i1 %43, label %_llgo_1, label %_llgo_2 + %42 = phi { %"github.com/goplus/llgo/internal/runtime.iface", i1 } [ %37, %_llgo_3 ], [ %41, %_llgo_4 ] + %43 = extractvalue { %"github.com/goplus/llgo/internal/runtime.iface", i1 } %42, 0 + %44 = extractvalue { %"github.com/goplus/llgo/internal/runtime.iface", i1 } %42, 1 + br i1 %44, label %_llgo_1, label %_llgo_2 } define { %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.iface" } @main.ReadAll(%"github.com/goplus/llgo/internal/runtime.iface" %0) { @@ -433,22 +435,23 @@ _llgo_0: store i64 11, ptr %6, align 4 %7 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %4, align 8 store %"github.com/goplus/llgo/internal/runtime.String" %7, ptr %3, align 8 - %8 = load ptr, ptr @"*_llgo_main.stringReader", align 8 - %9 = load ptr, ptr @"_llgo_iface$OFO8Us9n8ajWCabGedeuoJ-Za2zAMk4Jh0FunAcUCFE", align 8 - %10 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %9, ptr %8) - %11 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %12 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %11, i32 0, i32 0 - store ptr %10, ptr %12, align 8 - %13 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %11, i32 0, i32 1 - store ptr %2, ptr %13, align 8 - %14 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %11, align 8 - %15 = call { %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.iface" } @main.ReadAll(%"github.com/goplus/llgo/internal/runtime.iface" %14) - %16 = extractvalue { %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.iface" } %15, 0 - %17 = extractvalue { %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.iface" } %15, 1 - %18 = call %"github.com/goplus/llgo/internal/runtime.String" @"github.com/goplus/llgo/internal/runtime.StringFromBytes"(%"github.com/goplus/llgo/internal/runtime.Slice" %16) - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %18) + %8 = load ptr, ptr @_llgo_main.stringReader, align 8 + %9 = load ptr, ptr @"*_llgo_main.stringReader", align 8 + %10 = load ptr, ptr @"_llgo_iface$OFO8Us9n8ajWCabGedeuoJ-Za2zAMk4Jh0FunAcUCFE", align 8 + %11 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %10, ptr %9) + %12 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %13 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %12, i32 0, i32 0 + store ptr %11, ptr %13, align 8 + %14 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %12, i32 0, i32 1 + store ptr %2, ptr %14, align 8 + %15 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %12, align 8 + %16 = call { %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.iface" } @main.ReadAll(%"github.com/goplus/llgo/internal/runtime.iface" %15) + %17 = extractvalue { %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.iface" } %16, 0 + %18 = extractvalue { %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.iface" } %16, 1 + %19 = call %"github.com/goplus/llgo/internal/runtime.String" @"github.com/goplus/llgo/internal/runtime.StringFromBytes"(%"github.com/goplus/llgo/internal/runtime.Slice" %17) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %19) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintIface"(%"github.com/goplus/llgo/internal/runtime.iface" %17) + call void @"github.com/goplus/llgo/internal/runtime.PrintIface"(%"github.com/goplus/llgo/internal/runtime.iface" %18) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) ret i32 0 } @@ -458,16 +461,17 @@ _llgo_0: %1 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 16) %2 = getelementptr inbounds %main.errorString, ptr %1, i32 0, i32 0 store %"github.com/goplus/llgo/internal/runtime.String" %0, ptr %2, align 8 - %3 = load ptr, ptr @"*_llgo_main.errorString", align 8 - %4 = load ptr, ptr @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU", align 8 - %5 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %4, ptr %3) - %6 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %7 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %6, i32 0, i32 0 - store ptr %5, ptr %7, align 8 - %8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %6, i32 0, i32 1 - store ptr %1, ptr %8, align 8 - %9 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %6, align 8 - ret %"github.com/goplus/llgo/internal/runtime.iface" %9 + %3 = load ptr, ptr @_llgo_main.errorString, align 8 + %4 = load ptr, ptr @"*_llgo_main.errorString", align 8 + %5 = load ptr, ptr @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU", align 8 + %6 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %5, ptr %4) + %7 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %7, i32 0, i32 0 + store ptr %6, ptr %8, align 8 + %9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %7, i32 0, i32 1 + store ptr %1, ptr %9, align 8 + %10 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %7, align 8 + ret %"github.com/goplus/llgo/internal/runtime.iface" %10 } define %"github.com/goplus/llgo/internal/runtime.iface" @main.nopCloser.Close(%main.nopCloser %0) { @@ -1223,1109 +1227,1101 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.IfaceType"(%"github.com/go define void @"main.init$after"() { _llgo_0: - %0 = load ptr, ptr @"[]_llgo_byte", align 8 + %0 = load ptr, ptr @_llgo_byte, 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 40) - %3 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %2) - store ptr %3, ptr @"[]_llgo_byte", align 8 + store ptr %2, ptr @_llgo_byte, align 8 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 + %3 = load ptr, ptr @_llgo_byte, align 8 %4 = load ptr, ptr @"[]_llgo_byte", align 8 - %5 = load ptr, ptr @_llgo_int, align 8 - %6 = icmp eq ptr %5, null - br i1 %6, label %_llgo_3, label %_llgo_4 + %5 = icmp eq ptr %4, null + br i1 %5, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 - %7 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - store ptr %7, ptr @_llgo_int, align 8 + %6 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %7 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %6) + store ptr %7, ptr @"[]_llgo_byte", align 8 br label %_llgo_4 _llgo_4: ; preds = %_llgo_3, %_llgo_2 - %8 = load ptr, ptr @_llgo_int, align 8 - %9 = load ptr, ptr @_llgo_string, align 8 + %8 = load ptr, ptr @"[]_llgo_byte", align 8 + %9 = load ptr, ptr @_llgo_int, align 8 %10 = icmp eq ptr %9, null br i1 %10, label %_llgo_5, label %_llgo_6 _llgo_5: ; preds = %_llgo_4 - %11 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - store ptr %11, ptr @_llgo_string, align 8 + %11 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + store ptr %11, ptr @_llgo_int, align 8 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %12 = load ptr, ptr @_llgo_string, align 8 - %13 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %12 = load ptr, ptr @_llgo_int, align 8 + %13 = load ptr, ptr @_llgo_string, align 8 %14 = icmp eq ptr %13, null br i1 %14, label %_llgo_7, label %_llgo_8 _llgo_7: ; preds = %_llgo_6 - %15 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %16 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %17 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %16, i32 0, i32 0 - store ptr %15, ptr %17, align 8 - %18 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %16, i32 0, i32 1 - store i64 0, ptr %18, align 4 - %19 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %16, i32 0, i32 2 - store i64 0, ptr %19, align 4 - %20 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %16, align 8 - %21 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %22 = getelementptr ptr, ptr %21, i64 0 - store ptr %12, ptr %22, align 8 - %23 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %24 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %23, i32 0, i32 0 - store ptr %21, ptr %24, align 8 - %25 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %23, i32 0, i32 1 - store i64 1, ptr %25, align 4 - %26 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %23, i32 0, i32 2 - store i64 1, ptr %26, align 4 - %27 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %23, align 8 - %28 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %20, %"github.com/goplus/llgo/internal/runtime.Slice" %27, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %28) - store ptr %28, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %15 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + store ptr %15, ptr @_llgo_string, align 8 br label %_llgo_8 _llgo_8: ; preds = %_llgo_7, %_llgo_6 - %29 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %30 = load ptr, ptr @_llgo_error, align 8 - %31 = icmp eq ptr %30, null - br i1 %31, label %_llgo_9, label %_llgo_10 + %16 = load ptr, ptr @_llgo_string, align 8 + %17 = load ptr, ptr @_llgo_string, align 8 + %18 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %19 = icmp eq ptr %18, null + br i1 %19, label %_llgo_9, label %_llgo_10 _llgo_9: ; preds = %_llgo_8 - %32 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %33 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %32, i32 0, i32 0 - store ptr @0, ptr %33, align 8 - %34 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %32, i32 0, i32 1 - store i64 5, ptr %34, align 4 - %35 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %32, align 8 - %36 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %37 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %36, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %35, ptr %37, align 8 - %38 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %36, i32 0, i32 1 - store ptr %29, ptr %38, align 8 - %39 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %36, align 8 - %40 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %41 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %40, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %39, ptr %41, align 8 - %42 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, i32 0, i32 0 - store ptr %40, ptr %43, align 8 - %44 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, i32 0, i32 1 - store i64 1, ptr %44, align 4 - %45 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, i32 0, i32 2 - store i64 1, ptr %45, align 4 - %46 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, align 8 - %47 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %48 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %47, i32 0, i32 0 - store ptr @1, ptr %48, align 8 - %49 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %47, i32 0, i32 1 - store i64 4, ptr %49, align 4 - %50 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %47, align 8 - %51 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %51, i32 0, i32 0 - store ptr @2, ptr %52, align 8 - %53 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %51, i32 0, i32 1 - store i64 5, ptr %53, align 4 - %54 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %51, align 8 - %55 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %50, %"github.com/goplus/llgo/internal/runtime.String" %54, %"github.com/goplus/llgo/internal/runtime.Slice" %46) - store ptr %55, ptr @_llgo_error, align 8 + %20 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %21 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %22 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %21, i32 0, i32 0 + store ptr %20, ptr %22, align 8 + %23 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %21, i32 0, i32 1 + store i64 0, ptr %23, align 4 + %24 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %21, i32 0, i32 2 + store i64 0, ptr %24, align 4 + %25 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %21, align 8 + %26 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %27 = getelementptr ptr, ptr %26, i64 0 + store ptr %17, ptr %27, align 8 + %28 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %29 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %28, i32 0, i32 0 + store ptr %26, ptr %29, align 8 + %30 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %28, i32 0, i32 1 + store i64 1, ptr %30, align 4 + %31 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %28, i32 0, i32 2 + store i64 1, ptr %31, align 4 + %32 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %28, align 8 + %33 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %25, %"github.com/goplus/llgo/internal/runtime.Slice" %32, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %33) + store ptr %33, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 br label %_llgo_10 _llgo_10: ; preds = %_llgo_9, %_llgo_8 - %56 = load ptr, ptr @_llgo_error, align 8 - %57 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 - %58 = icmp eq ptr %57, null - br i1 %58, label %_llgo_11, label %_llgo_12 + %34 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %35 = load ptr, ptr @_llgo_error, align 8 + %36 = icmp eq ptr %35, null + br i1 %36, label %_llgo_11, label %_llgo_12 _llgo_11: ; preds = %_llgo_10 - %59 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %60 = getelementptr ptr, ptr %59, i64 0 - store ptr %4, ptr %60, align 8 - %61 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %62 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %61, i32 0, i32 0 - store ptr %59, ptr %62, align 8 - %63 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %61, i32 0, i32 1 - store i64 1, ptr %63, align 4 - %64 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %61, i32 0, i32 2 - store i64 1, ptr %64, align 4 - %65 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %61, align 8 - %66 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %67 = getelementptr ptr, ptr %66, i64 0 - store ptr %8, ptr %67, align 8 - %68 = getelementptr ptr, ptr %66, i64 1 - store ptr %56, ptr %68, align 8 - %69 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %70 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %69, i32 0, i32 0 - store ptr %66, ptr %70, align 8 - %71 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %69, i32 0, i32 1 - store i64 2, ptr %71, align 4 - %72 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %69, i32 0, i32 2 - store i64 2, ptr %72, align 4 - %73 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %69, align 8 - %74 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %65, %"github.com/goplus/llgo/internal/runtime.Slice" %73, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %74) - store ptr %74, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 + %37 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %38 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %37, i32 0, i32 0 + store ptr @0, ptr %38, align 8 + %39 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %37, i32 0, i32 1 + store i64 5, ptr %39, align 4 + %40 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %37, align 8 + %41 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %42 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %41, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %40, ptr %42, align 8 + %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %41, i32 0, i32 1 + store ptr %34, ptr %43, align 8 + %44 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %41, align 8 + %45 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %46 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %45, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %44, ptr %46, align 8 + %47 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %48 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %47, i32 0, i32 0 + store ptr %45, ptr %48, align 8 + %49 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %47, i32 0, i32 1 + store i64 1, ptr %49, align 4 + %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %47, i32 0, i32 2 + store i64 1, ptr %50, align 4 + %51 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %47, align 8 + %52 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %53 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %52, i32 0, i32 0 + store ptr @1, ptr %53, align 8 + %54 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %52, i32 0, i32 1 + store i64 4, ptr %54, align 4 + %55 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %52, align 8 + %56 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %57 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %56, i32 0, i32 0 + store ptr @2, ptr %57, align 8 + %58 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %56, i32 0, i32 1 + store i64 5, ptr %58, align 4 + %59 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %56, align 8 + %60 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %55, %"github.com/goplus/llgo/internal/runtime.String" %59, %"github.com/goplus/llgo/internal/runtime.Slice" %51) + store ptr %60, ptr @_llgo_error, align 8 br label %_llgo_12 _llgo_12: ; preds = %_llgo_11, %_llgo_10 - %75 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 - %76 = load ptr, ptr @_llgo_main.Writer, align 8 - %77 = icmp eq ptr %76, null - br i1 %77, label %_llgo_13, label %_llgo_14 + %61 = load ptr, ptr @_llgo_error, align 8 + %62 = load ptr, ptr @"[]_llgo_byte", align 8 + %63 = load ptr, ptr @_llgo_int, align 8 + %64 = load ptr, ptr @_llgo_error, align 8 + %65 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 + %66 = icmp eq ptr %65, null + br i1 %66, label %_llgo_13, label %_llgo_14 _llgo_13: ; preds = %_llgo_12 - %78 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %79 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %78, i32 0, i32 0 - store ptr @3, ptr %79, align 8 - %80 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %78, i32 0, i32 1 - store i64 5, ptr %80, align 4 - %81 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %78, align 8 - %82 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %83 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %82, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %81, ptr %83, align 8 - %84 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %82, i32 0, i32 1 - store ptr %75, ptr %84, align 8 - %85 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %82, align 8 - %86 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %87 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %86, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %85, ptr %87, align 8 - %88 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %89 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %88, i32 0, i32 0 - store ptr %86, ptr %89, align 8 - %90 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %88, i32 0, i32 1 - store i64 1, ptr %90, align 4 - %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %88, i32 0, i32 2 - store i64 1, ptr %91, align 4 - %92 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %88, align 8 - %93 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %94 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %93, i32 0, i32 0 - store ptr @1, ptr %94, align 8 - %95 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %93, i32 0, i32 1 - store i64 4, ptr %95, align 4 - %96 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %93, align 8 - %97 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %98 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %97, i32 0, i32 0 - store ptr @4, ptr %98, align 8 - %99 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %97, i32 0, i32 1 - store i64 11, ptr %99, align 4 - %100 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %97, align 8 - %101 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %96, %"github.com/goplus/llgo/internal/runtime.String" %100, %"github.com/goplus/llgo/internal/runtime.Slice" %92) - store ptr %101, ptr @_llgo_main.Writer, align 8 + %67 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %68 = getelementptr ptr, ptr %67, i64 0 + store ptr %62, ptr %68, align 8 + %69 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %70 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %69, i32 0, i32 0 + store ptr %67, ptr %70, align 8 + %71 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %69, i32 0, i32 1 + store i64 1, ptr %71, align 4 + %72 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %69, i32 0, i32 2 + store i64 1, ptr %72, align 4 + %73 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %69, align 8 + %74 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %75 = getelementptr ptr, ptr %74, i64 0 + store ptr %63, ptr %75, align 8 + %76 = getelementptr ptr, ptr %74, i64 1 + store ptr %64, ptr %76, align 8 + %77 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %78 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, i32 0, i32 0 + store ptr %74, ptr %78, align 8 + %79 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, i32 0, i32 1 + store i64 2, ptr %79, align 4 + %80 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, i32 0, i32 2 + store i64 2, ptr %80, align 4 + %81 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, align 8 + %82 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %73, %"github.com/goplus/llgo/internal/runtime.Slice" %81, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %82) + store ptr %82, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 br label %_llgo_14 _llgo_14: ; preds = %_llgo_13, %_llgo_12 - %102 = load ptr, ptr @_llgo_main.Writer, align 8 - %103 = load ptr, ptr @_llgo_int64, align 8 - %104 = icmp eq ptr %103, null - br i1 %104, label %_llgo_15, label %_llgo_16 + %83 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 + %84 = load ptr, ptr @_llgo_main.Writer, align 8 + %85 = icmp eq ptr %84, null + br i1 %85, label %_llgo_15, label %_llgo_16 _llgo_15: ; preds = %_llgo_14 - %105 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 38) - store ptr %105, ptr @_llgo_int64, align 8 + %86 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %87 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %86, i32 0, i32 0 + store ptr @3, ptr %87, align 8 + %88 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %86, i32 0, i32 1 + store i64 5, ptr %88, align 4 + %89 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %86, align 8 + %90 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %90, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %89, ptr %91, align 8 + %92 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %90, i32 0, i32 1 + store ptr %83, ptr %92, align 8 + %93 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %90, align 8 + %94 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %95 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %94, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %93, ptr %95, align 8 + %96 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %97 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %96, i32 0, i32 0 + store ptr %94, ptr %97, align 8 + %98 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %96, i32 0, i32 1 + store i64 1, ptr %98, align 4 + %99 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %96, i32 0, i32 2 + store i64 1, ptr %99, align 4 + %100 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %96, align 8 + %101 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %102 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %101, i32 0, i32 0 + store ptr @1, ptr %102, align 8 + %103 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %101, i32 0, i32 1 + store i64 4, ptr %103, align 4 + %104 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %101, align 8 + %105 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %106 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %105, i32 0, i32 0 + store ptr @4, ptr %106, align 8 + %107 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %105, i32 0, i32 1 + store i64 11, ptr %107, align 4 + %108 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %105, align 8 + %109 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %104, %"github.com/goplus/llgo/internal/runtime.String" %108, %"github.com/goplus/llgo/internal/runtime.Slice" %100) + store ptr %109, ptr @_llgo_main.Writer, align 8 br label %_llgo_16 _llgo_16: ; preds = %_llgo_15, %_llgo_14 - %106 = load ptr, ptr @_llgo_int64, align 8 - %107 = load ptr, ptr @_llgo_error, align 8 - %108 = load ptr, ptr @"_llgo_func$MrYxYl10p_I07B55pBsGw9la9zbzU2vGDPLWrT714Uk", align 8 - %109 = icmp eq ptr %108, null - br i1 %109, label %_llgo_17, label %_llgo_18 + %110 = load ptr, ptr @_llgo_main.Writer, align 8 + %111 = load ptr, ptr @_llgo_int64, align 8 + %112 = icmp eq ptr %111, null + br i1 %112, label %_llgo_17, label %_llgo_18 _llgo_17: ; preds = %_llgo_16 - %110 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %111 = getelementptr ptr, ptr %110, i64 0 - store ptr %102, ptr %111, align 8 - %112 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %113 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %112, i32 0, i32 0 - store ptr %110, ptr %113, align 8 - %114 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %112, i32 0, i32 1 - store i64 1, ptr %114, align 4 - %115 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %112, i32 0, i32 2 - store i64 1, ptr %115, align 4 - %116 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %112, align 8 - %117 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %118 = getelementptr ptr, ptr %117, i64 0 - store ptr %106, ptr %118, align 8 - %119 = getelementptr ptr, ptr %117, i64 1 - store ptr %107, ptr %119, align 8 - %120 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %121 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %120, i32 0, i32 0 - store ptr %117, ptr %121, align 8 - %122 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %120, i32 0, i32 1 - store i64 2, ptr %122, align 4 - %123 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %120, i32 0, i32 2 - store i64 2, ptr %123, align 4 - %124 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %120, align 8 - %125 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %116, %"github.com/goplus/llgo/internal/runtime.Slice" %124, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %125) - store ptr %125, ptr @"_llgo_func$MrYxYl10p_I07B55pBsGw9la9zbzU2vGDPLWrT714Uk", align 8 + %113 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 38) + store ptr %113, ptr @_llgo_int64, align 8 br label %_llgo_18 _llgo_18: ; preds = %_llgo_17, %_llgo_16 - %126 = load ptr, ptr @"_llgo_func$MrYxYl10p_I07B55pBsGw9la9zbzU2vGDPLWrT714Uk", align 8 - %127 = load ptr, ptr @_llgo_main.WriterTo, align 8 - %128 = icmp eq ptr %127, null - br i1 %128, label %_llgo_19, label %_llgo_20 + %114 = load ptr, ptr @_llgo_int64, align 8 + %115 = load ptr, ptr @_llgo_main.Writer, align 8 + %116 = load ptr, ptr @_llgo_int64, align 8 + %117 = load ptr, ptr @_llgo_error, align 8 + %118 = load ptr, ptr @"_llgo_func$MrYxYl10p_I07B55pBsGw9la9zbzU2vGDPLWrT714Uk", align 8 + %119 = icmp eq ptr %118, null + br i1 %119, label %_llgo_19, label %_llgo_20 _llgo_19: ; preds = %_llgo_18 - %129 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %130 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %129, i32 0, i32 0 - store ptr @5, ptr %130, align 8 - %131 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %129, i32 0, i32 1 - store i64 7, ptr %131, align 4 - %132 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %129, align 8 - %133 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %134 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %133, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %132, ptr %134, align 8 - %135 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %133, i32 0, i32 1 - store ptr %126, ptr %135, align 8 - %136 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %133, align 8 - %137 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %138 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %137, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %136, ptr %138, align 8 - %139 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %140 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %139, i32 0, i32 0 - store ptr %137, ptr %140, align 8 - %141 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %139, i32 0, i32 1 - store i64 1, ptr %141, align 4 - %142 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %139, i32 0, i32 2 - store i64 1, ptr %142, align 4 - %143 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %139, align 8 - %144 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %145 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %144, i32 0, i32 0 - store ptr @1, ptr %145, align 8 - %146 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %144, i32 0, i32 1 - store i64 4, ptr %146, align 4 - %147 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %144, align 8 - %148 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %149 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %148, i32 0, i32 0 - store ptr @6, ptr %149, align 8 - %150 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %148, i32 0, i32 1 - store i64 13, ptr %150, align 4 - %151 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %148, align 8 - %152 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %147, %"github.com/goplus/llgo/internal/runtime.String" %151, %"github.com/goplus/llgo/internal/runtime.Slice" %143) - store ptr %152, ptr @_llgo_main.WriterTo, align 8 + %120 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %121 = getelementptr ptr, ptr %120, i64 0 + store ptr %115, ptr %121, align 8 + %122 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %123 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %122, i32 0, i32 0 + store ptr %120, ptr %123, align 8 + %124 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %122, i32 0, i32 1 + store i64 1, ptr %124, align 4 + %125 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %122, i32 0, i32 2 + store i64 1, ptr %125, align 4 + %126 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %122, align 8 + %127 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %128 = getelementptr ptr, ptr %127, i64 0 + store ptr %116, ptr %128, align 8 + %129 = getelementptr ptr, ptr %127, i64 1 + store ptr %117, ptr %129, align 8 + %130 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %131 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %130, i32 0, i32 0 + store ptr %127, ptr %131, align 8 + %132 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %130, i32 0, i32 1 + store i64 2, ptr %132, align 4 + %133 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %130, i32 0, i32 2 + store i64 2, ptr %133, align 4 + %134 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %130, align 8 + %135 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %126, %"github.com/goplus/llgo/internal/runtime.Slice" %134, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %135) + store ptr %135, ptr @"_llgo_func$MrYxYl10p_I07B55pBsGw9la9zbzU2vGDPLWrT714Uk", align 8 br label %_llgo_20 _llgo_20: ; preds = %_llgo_19, %_llgo_18 - %153 = load ptr, ptr @"_llgo_func$MrYxYl10p_I07B55pBsGw9la9zbzU2vGDPLWrT714Uk", align 8 - %154 = load ptr, ptr @"_llgo_iface$eN81k1zqixGTyagHw_4nqH4mGfwwehTOCTXUlbT9kzk", align 8 - %155 = icmp eq ptr %154, null - br i1 %155, label %_llgo_21, label %_llgo_22 + %136 = load ptr, ptr @"_llgo_func$MrYxYl10p_I07B55pBsGw9la9zbzU2vGDPLWrT714Uk", align 8 + %137 = load ptr, ptr @_llgo_main.WriterTo, align 8 + %138 = icmp eq ptr %137, null + br i1 %138, label %_llgo_21, label %_llgo_22 _llgo_21: ; preds = %_llgo_20 - %156 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %157 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %156, i32 0, i32 0 - store ptr @5, ptr %157, align 8 - %158 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %156, i32 0, i32 1 - store i64 7, ptr %158, align 4 - %159 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %156, align 8 - %160 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %161 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %160, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %159, ptr %161, align 8 - %162 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %160, i32 0, i32 1 - store ptr %153, ptr %162, align 8 - %163 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %160, align 8 - %164 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %165 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %164, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %163, ptr %165, align 8 - %166 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %167 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %166, i32 0, i32 0 - store ptr %164, ptr %167, align 8 - %168 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %166, i32 0, i32 1 - store i64 1, ptr %168, align 4 - %169 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %166, i32 0, i32 2 - store i64 1, ptr %169, align 4 - %170 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %166, align 8 - %171 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %172 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %171, i32 0, i32 0 - store ptr @1, ptr %172, align 8 - %173 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %171, i32 0, i32 1 - store i64 4, ptr %173, align 4 - %174 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %171, align 8 - %175 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %176 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %175, i32 0, i32 0 - store ptr null, ptr %176, align 8 - %177 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %175, i32 0, i32 1 - store i64 0, ptr %177, align 4 - %178 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %175, align 8 - %179 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %174, %"github.com/goplus/llgo/internal/runtime.String" %178, %"github.com/goplus/llgo/internal/runtime.Slice" %170) - store ptr %179, ptr @"_llgo_iface$eN81k1zqixGTyagHw_4nqH4mGfwwehTOCTXUlbT9kzk", align 8 + %139 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %140 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %139, i32 0, i32 0 + store ptr @5, ptr %140, align 8 + %141 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %139, i32 0, i32 1 + store i64 7, ptr %141, align 4 + %142 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %139, align 8 + %143 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %144 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %143, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %142, ptr %144, align 8 + %145 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %143, i32 0, i32 1 + store ptr %136, ptr %145, align 8 + %146 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %143, align 8 + %147 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %148 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %147, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %146, ptr %148, align 8 + %149 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %150 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %149, i32 0, i32 0 + store ptr %147, ptr %150, align 8 + %151 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %149, i32 0, i32 1 + store i64 1, ptr %151, align 4 + %152 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %149, i32 0, i32 2 + store i64 1, ptr %152, align 4 + %153 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %149, align 8 + %154 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %155 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %154, i32 0, i32 0 + store ptr @1, ptr %155, align 8 + %156 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %154, i32 0, i32 1 + store i64 4, ptr %156, align 4 + %157 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %154, align 8 + %158 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %159 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %158, i32 0, i32 0 + store ptr @6, ptr %159, align 8 + %160 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %158, i32 0, i32 1 + store i64 13, ptr %160, align 4 + %161 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %158, align 8 + %162 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %157, %"github.com/goplus/llgo/internal/runtime.String" %161, %"github.com/goplus/llgo/internal/runtime.Slice" %153) + store ptr %162, ptr @_llgo_main.WriterTo, align 8 br label %_llgo_22 _llgo_22: ; preds = %_llgo_21, %_llgo_20 - %180 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %181 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %180, i32 0, i32 0 - store ptr @7, ptr %181, align 8 - %182 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %180, i32 0, i32 1 - store i64 22, ptr %182, align 4 - %183 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %180, align 8 - %184 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %183, i64 25, i64 16, i64 3, i64 3) - store ptr %184, ptr @_llgo_main.nopCloserWriterTo, align 8 - %185 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 - %186 = load ptr, ptr @"_llgo_struct$_3ow4zXXILqvC0WDqDRNq5DPhjE1DInJgN924VHWc2Y", align 8 - %187 = icmp eq ptr %186, null - br i1 %187, label %_llgo_23, label %_llgo_24 + %163 = load ptr, ptr @"_llgo_func$MrYxYl10p_I07B55pBsGw9la9zbzU2vGDPLWrT714Uk", align 8 + %164 = load ptr, ptr @"_llgo_iface$eN81k1zqixGTyagHw_4nqH4mGfwwehTOCTXUlbT9kzk", align 8 + %165 = icmp eq ptr %164, null + br i1 %165, label %_llgo_23, label %_llgo_24 _llgo_23: ; preds = %_llgo_22 - %188 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %189 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %188, i32 0, i32 0 - store ptr @8, ptr %189, align 8 - %190 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %188, i32 0, i32 1 - store i64 6, ptr %190, align 4 - %191 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %188, align 8 - %192 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %193 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %192, i32 0, i32 0 - store ptr null, ptr %193, align 8 - %194 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %192, i32 0, i32 1 - store i64 0, ptr %194, align 4 - %195 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %192, align 8 - %196 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %197 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %196, i32 0, i32 0 - store ptr @9, ptr %197, align 8 - %198 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %196, i32 0, i32 1 - store i64 4, ptr %198, align 4 - %199 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %196, align 8 - %200 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %201 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %200, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %199, ptr %201, align 8 - %202 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %200, i32 0, i32 1 - store ptr %185, ptr %202, align 8 - %203 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %200, align 8 - %204 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %205 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %204, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %203, ptr %205, align 8 - %206 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %207 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %206, i32 0, i32 0 - store ptr %204, ptr %207, align 8 - %208 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %206, i32 0, i32 1 - store i64 1, ptr %208, align 4 - %209 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %206, i32 0, i32 2 - store i64 1, ptr %209, align 4 - %210 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %206, align 8 - %211 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %212 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %211, i32 0, i32 0 - store ptr @1, ptr %212, align 8 - %213 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %211, i32 0, i32 1 - store i64 4, ptr %213, align 4 - %214 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %211, align 8 - %215 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %216 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %215, i32 0, i32 0 - store ptr @10, ptr %216, align 8 - %217 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %215, i32 0, i32 1 - store i64 11, ptr %217, align 4 - %218 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %215, align 8 - %219 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %214, %"github.com/goplus/llgo/internal/runtime.String" %218, %"github.com/goplus/llgo/internal/runtime.Slice" %210) - %220 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %191, ptr %219, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %195, i1 true) - %221 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %222 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %221, i32 0, i32 0 - store ptr @1, ptr %222, align 8 - %223 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %221, i32 0, i32 1 - store i64 4, ptr %223, align 4 - %224 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %221, align 8 - %225 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) - %226 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %225, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %220, ptr %226, align 8 - %227 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %228 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %227, i32 0, i32 0 - store ptr %225, ptr %228, align 8 - %229 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %227, i32 0, i32 1 - store i64 1, ptr %229, align 4 - %230 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %227, i32 0, i32 2 - store i64 1, ptr %230, align 4 - %231 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %227, align 8 - %232 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %224, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %231) - store ptr %232, ptr @"_llgo_struct$_3ow4zXXILqvC0WDqDRNq5DPhjE1DInJgN924VHWc2Y", align 8 + %166 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %167 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %166, i32 0, i32 0 + store ptr @5, ptr %167, align 8 + %168 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %166, i32 0, i32 1 + store i64 7, ptr %168, align 4 + %169 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %166, align 8 + %170 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %171 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %170, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %169, ptr %171, align 8 + %172 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %170, i32 0, i32 1 + store ptr %163, ptr %172, align 8 + %173 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %170, align 8 + %174 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %175 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %174, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %173, ptr %175, align 8 + %176 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %177 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %176, i32 0, i32 0 + store ptr %174, ptr %177, align 8 + %178 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %176, i32 0, i32 1 + store i64 1, ptr %178, align 4 + %179 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %176, i32 0, i32 2 + store i64 1, ptr %179, align 4 + %180 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %176, align 8 + %181 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %182 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %181, i32 0, i32 0 + store ptr @1, ptr %182, align 8 + %183 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %181, i32 0, i32 1 + store i64 4, ptr %183, align 4 + %184 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %181, align 8 + %185 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %186 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %185, i32 0, i32 0 + store ptr null, ptr %186, align 8 + %187 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %185, i32 0, i32 1 + store i64 0, ptr %187, align 4 + %188 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %185, align 8 + %189 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %184, %"github.com/goplus/llgo/internal/runtime.String" %188, %"github.com/goplus/llgo/internal/runtime.Slice" %180) + store ptr %189, ptr @"_llgo_iface$eN81k1zqixGTyagHw_4nqH4mGfwwehTOCTXUlbT9kzk", align 8 br label %_llgo_24 _llgo_24: ; preds = %_llgo_23, %_llgo_22 - %233 = load ptr, ptr @"_llgo_struct$_3ow4zXXILqvC0WDqDRNq5DPhjE1DInJgN924VHWc2Y", align 8 - %234 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %235 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %234, i32 0, i32 0 - store ptr @11, ptr %235, align 8 - %236 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %234, i32 0, i32 1 - store i64 5, ptr %236, align 4 - %237 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %234, align 8 - %238 = load ptr, ptr @_llgo_error, align 8 - %239 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 - %240 = icmp eq ptr %239, null - br i1 %240, label %_llgo_25, label %_llgo_26 + %190 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %191 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %190, i32 0, i32 0 + store ptr @7, ptr %191, align 8 + %192 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %190, i32 0, i32 1 + store i64 22, ptr %192, align 4 + %193 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %190, align 8 + %194 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %193, i64 25, i64 16, i64 3, i64 3) + store ptr %194, ptr @_llgo_main.nopCloserWriterTo, align 8 + %195 = load ptr, ptr @"[]_llgo_byte", align 8 + %196 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 + %197 = load ptr, ptr @_llgo_main.Reader, align 8 + %198 = icmp eq ptr %197, null + br i1 %198, label %_llgo_25, label %_llgo_26 _llgo_25: ; preds = %_llgo_24 - %241 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %242 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %243 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %242, i32 0, i32 0 - store ptr %241, ptr %243, align 8 - %244 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %242, i32 0, i32 1 - store i64 0, ptr %244, align 4 - %245 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %242, i32 0, i32 2 - store i64 0, ptr %245, align 4 - %246 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %242, align 8 - %247 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %248 = getelementptr ptr, ptr %247, i64 0 - store ptr %238, ptr %248, align 8 - %249 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %250 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %249, i32 0, i32 0 - store ptr %247, ptr %250, align 8 - %251 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %249, i32 0, i32 1 - store i64 1, ptr %251, align 4 - %252 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %249, i32 0, i32 2 - store i64 1, ptr %252, align 4 - %253 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %249, align 8 - %254 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %246, %"github.com/goplus/llgo/internal/runtime.Slice" %253, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %254) - store ptr %254, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 + %199 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %200 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %199, i32 0, i32 0 + store ptr @8, ptr %200, align 8 + %201 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %199, i32 0, i32 1 + store i64 4, ptr %201, align 4 + %202 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %199, align 8 + %203 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %204 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %203, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %202, ptr %204, align 8 + %205 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %203, i32 0, i32 1 + store ptr %196, ptr %205, align 8 + %206 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %203, align 8 + %207 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %208 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %207, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %206, ptr %208, align 8 + %209 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %210 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %209, i32 0, i32 0 + store ptr %207, ptr %210, align 8 + %211 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %209, i32 0, i32 1 + store i64 1, ptr %211, align 4 + %212 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %209, i32 0, i32 2 + store i64 1, ptr %212, align 4 + %213 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %209, align 8 + %214 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %215 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %214, i32 0, i32 0 + store ptr @1, ptr %215, align 8 + %216 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %214, i32 0, i32 1 + store i64 4, ptr %216, align 4 + %217 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %214, align 8 + %218 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %219 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %218, i32 0, i32 0 + store ptr @9, ptr %219, align 8 + %220 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %218, i32 0, i32 1 + store i64 11, ptr %220, align 4 + %221 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %218, align 8 + %222 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %217, %"github.com/goplus/llgo/internal/runtime.String" %221, %"github.com/goplus/llgo/internal/runtime.Slice" %213) + store ptr %222, ptr @_llgo_main.Reader, align 8 br label %_llgo_26 _llgo_26: ; preds = %_llgo_25, %_llgo_24 - %255 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 - %256 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %257 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %256, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %237, ptr %257, align 8 - %258 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %256, i32 0, i32 1 - store ptr %255, ptr %258, align 8 - %259 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %256, i32 0, i32 2 - store ptr @"main.(*nopCloserWriterTo).Close", ptr %259, align 8 - %260 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %256, i32 0, i32 3 - store ptr @"main.(*nopCloserWriterTo).Close", ptr %260, align 8 - %261 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %256, align 8 - %262 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %263 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %262, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %237, ptr %263, align 8 - %264 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %262, i32 0, i32 1 - store ptr %255, ptr %264, align 8 - %265 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %262, i32 0, i32 2 - store ptr @"main.(*nopCloserWriterTo).Close", ptr %265, align 8 - %266 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %262, i32 0, i32 3 - store ptr @main.nopCloserWriterTo.Close, ptr %266, align 8 - %267 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %262, align 8 - %268 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %269 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %268, i32 0, i32 0 - store ptr @9, ptr %269, align 8 - %270 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %268, i32 0, i32 1 - store i64 4, ptr %270, align 4 - %271 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %268, align 8 - %272 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 - %273 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %274 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %273, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %271, ptr %274, align 8 - %275 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %273, i32 0, i32 1 - store ptr %272, ptr %275, align 8 - %276 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %273, i32 0, i32 2 - store ptr @"main.(*nopCloserWriterTo).Read", ptr %276, align 8 - %277 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %273, i32 0, i32 3 - store ptr @"main.(*nopCloserWriterTo).Read", ptr %277, align 8 - %278 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %273, align 8 - %279 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %280 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %279, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %271, ptr %280, align 8 - %281 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %279, i32 0, i32 1 - store ptr %272, ptr %281, align 8 - %282 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %279, i32 0, i32 2 - store ptr @"main.(*nopCloserWriterTo).Read", ptr %282, align 8 - %283 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %279, i32 0, i32 3 - store ptr @main.nopCloserWriterTo.Read, ptr %283, align 8 - %284 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %279, align 8 - %285 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %286 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %285, i32 0, i32 0 - store ptr @5, ptr %286, align 8 - %287 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %285, i32 0, i32 1 - store i64 7, ptr %287, align 4 - %288 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %285, align 8 - %289 = load ptr, ptr @"_llgo_func$MrYxYl10p_I07B55pBsGw9la9zbzU2vGDPLWrT714Uk", align 8 - %290 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %291 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %290, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %288, ptr %291, align 8 - %292 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %290, i32 0, i32 1 - store ptr %289, ptr %292, align 8 - %293 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %290, i32 0, i32 2 - store ptr @"main.(*nopCloserWriterTo).WriteTo", ptr %293, align 8 - %294 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %290, i32 0, i32 3 - store ptr @"main.(*nopCloserWriterTo).WriteTo", ptr %294, align 8 - %295 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %290, align 8 - %296 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %297 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %296, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %288, ptr %297, align 8 - %298 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %296, i32 0, i32 1 - store ptr %289, ptr %298, align 8 - %299 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %296, i32 0, i32 2 - store ptr @"main.(*nopCloserWriterTo).WriteTo", ptr %299, align 8 - %300 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %296, i32 0, i32 3 - store ptr @main.nopCloserWriterTo.WriteTo, ptr %300, align 8 - %301 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %296, align 8 - %302 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 120) - %303 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %302, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %267, ptr %303, align 8 - %304 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %302, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %284, ptr %304, align 8 - %305 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %302, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %301, ptr %305, align 8 - %306 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %307 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %306, i32 0, i32 0 - store ptr %302, ptr %307, align 8 - %308 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %306, i32 0, i32 1 - store i64 3, ptr %308, align 4 - %309 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %306, i32 0, i32 2 - store i64 3, ptr %309, align 4 - %310 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %306, align 8 - %311 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 120) - %312 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %311, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %261, ptr %312, align 8 - %313 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %311, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %278, ptr %313, align 8 - %314 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %311, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %295, ptr %314, align 8 - %315 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %316 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %315, i32 0, i32 0 - store ptr %311, ptr %316, align 8 - %317 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %315, i32 0, i32 1 - store i64 3, ptr %317, align 4 - %318 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %315, i32 0, i32 2 - store i64 3, ptr %318, align 4 - %319 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %315, align 8 - %320 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %321 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %320, i32 0, i32 0 - store ptr @1, ptr %321, align 8 - %322 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %320, i32 0, i32 1 - store i64 4, ptr %322, align 4 - %323 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %320, align 8 - %324 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %325 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %324, i32 0, i32 0 - store ptr @12, ptr %325, align 8 - %326 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %324, i32 0, i32 1 - store i64 17, ptr %326, align 4 - %327 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %324, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %184, %"github.com/goplus/llgo/internal/runtime.String" %323, %"github.com/goplus/llgo/internal/runtime.String" %327, ptr %233, %"github.com/goplus/llgo/internal/runtime.Slice" %310, %"github.com/goplus/llgo/internal/runtime.Slice" %319) - %328 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 - %329 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 - %330 = load ptr, ptr @"_llgo_iface$L2Ik-AJcd0jsoBw5fQ07pQpfUM-kh78Wn2bOeak6M3I", align 8 - %331 = icmp eq ptr %330, null - br i1 %331, label %_llgo_27, label %_llgo_28 + %223 = load ptr, ptr @_llgo_main.Reader, align 8 + %224 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 + %225 = load ptr, ptr @"_llgo_struct$_3ow4zXXILqvC0WDqDRNq5DPhjE1DInJgN924VHWc2Y", align 8 + %226 = icmp eq ptr %225, null + br i1 %226, label %_llgo_27, label %_llgo_28 _llgo_27: ; preds = %_llgo_26 - %332 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %333 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %332, i32 0, i32 0 - store ptr @11, ptr %333, align 8 - %334 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %332, i32 0, i32 1 - store i64 5, ptr %334, align 4 - %335 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %332, align 8 - %336 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %337 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %336, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %335, ptr %337, align 8 - %338 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %336, i32 0, i32 1 - store ptr %328, ptr %338, align 8 - %339 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %336, align 8 - %340 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %341 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %340, i32 0, i32 0 - store ptr @9, ptr %341, align 8 - %342 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %340, i32 0, i32 1 - store i64 4, ptr %342, align 4 - %343 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %340, align 8 - %344 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %345 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %344, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %343, ptr %345, align 8 - %346 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %344, i32 0, i32 1 - store ptr %329, ptr %346, align 8 - %347 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %344, align 8 - %348 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48) - %349 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %348, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %339, ptr %349, align 8 - %350 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %348, i64 1 - store %"github.com/goplus/llgo/internal/abi.Imethod" %347, ptr %350, align 8 - %351 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %352 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %351, i32 0, i32 0 - store ptr %348, ptr %352, align 8 - %353 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %351, i32 0, i32 1 - store i64 2, ptr %353, align 4 - %354 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %351, i32 0, i32 2 - store i64 2, ptr %354, align 4 - %355 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %351, align 8 - %356 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %357 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %356, i32 0, i32 0 - store ptr @1, ptr %357, align 8 - %358 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %356, i32 0, i32 1 - store i64 4, ptr %358, align 4 - %359 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %356, align 8 - %360 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %361 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %360, i32 0, i32 0 - store ptr null, ptr %361, align 8 - %362 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %360, i32 0, i32 1 - store i64 0, ptr %362, align 4 - %363 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %360, align 8 - %364 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %359, %"github.com/goplus/llgo/internal/runtime.String" %363, %"github.com/goplus/llgo/internal/runtime.Slice" %355) - store ptr %364, ptr @"_llgo_iface$L2Ik-AJcd0jsoBw5fQ07pQpfUM-kh78Wn2bOeak6M3I", align 8 + %227 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %228 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %227, i32 0, i32 0 + store ptr @10, ptr %228, align 8 + %229 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %227, i32 0, i32 1 + store i64 6, ptr %229, align 4 + %230 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %227, align 8 + %231 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %232 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %231, i32 0, i32 0 + store ptr null, ptr %232, align 8 + %233 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %231, i32 0, i32 1 + store i64 0, ptr %233, align 4 + %234 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %231, align 8 + %235 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %236 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %235, i32 0, i32 0 + store ptr @8, ptr %236, align 8 + %237 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %235, i32 0, i32 1 + store i64 4, ptr %237, align 4 + %238 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %235, align 8 + %239 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %240 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %239, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %238, ptr %240, align 8 + %241 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %239, i32 0, i32 1 + store ptr %224, ptr %241, align 8 + %242 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %239, align 8 + %243 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %244 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %243, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %242, ptr %244, align 8 + %245 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %246 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %245, i32 0, i32 0 + store ptr %243, ptr %246, align 8 + %247 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %245, i32 0, i32 1 + store i64 1, ptr %247, align 4 + %248 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %245, i32 0, i32 2 + store i64 1, ptr %248, align 4 + %249 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %245, align 8 + %250 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %251 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %250, i32 0, i32 0 + store ptr @1, ptr %251, align 8 + %252 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %250, i32 0, i32 1 + store i64 4, ptr %252, align 4 + %253 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %250, align 8 + %254 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %255 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %254, i32 0, i32 0 + store ptr @9, ptr %255, align 8 + %256 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %254, i32 0, i32 1 + store i64 11, ptr %256, align 4 + %257 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %254, align 8 + %258 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %253, %"github.com/goplus/llgo/internal/runtime.String" %257, %"github.com/goplus/llgo/internal/runtime.Slice" %249) + %259 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %230, ptr %258, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %234, i1 true) + %260 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %261 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %260, i32 0, i32 0 + store ptr @1, ptr %261, align 8 + %262 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %260, i32 0, i32 1 + store i64 4, ptr %262, align 4 + %263 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %260, align 8 + %264 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) + %265 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %264, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %259, ptr %265, align 8 + %266 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %267 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %266, i32 0, i32 0 + store ptr %264, ptr %267, align 8 + %268 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %266, i32 0, i32 1 + store i64 1, ptr %268, align 4 + %269 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %266, i32 0, i32 2 + store i64 1, ptr %269, align 4 + %270 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %266, align 8 + %271 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %263, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %270) + store ptr %271, ptr @"_llgo_struct$_3ow4zXXILqvC0WDqDRNq5DPhjE1DInJgN924VHWc2Y", align 8 br label %_llgo_28 _llgo_28: ; preds = %_llgo_27, %_llgo_26 - %365 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %366 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %365, i32 0, i32 0 - store ptr @13, ptr %366, align 8 - %367 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %365, i32 0, i32 1 - store i64 14, ptr %367, align 4 - %368 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %365, align 8 - %369 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %368, i64 25, i64 16, i64 2, i64 2) - store ptr %369, ptr @_llgo_main.nopCloser, align 8 - %370 = load ptr, ptr @"_llgo_struct$_3ow4zXXILqvC0WDqDRNq5DPhjE1DInJgN924VHWc2Y", align 8 + %272 = load ptr, ptr @"_llgo_struct$_3ow4zXXILqvC0WDqDRNq5DPhjE1DInJgN924VHWc2Y", align 8 + %273 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %274 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %273, i32 0, i32 0 + store ptr @11, ptr %274, align 8 + %275 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %273, i32 0, i32 1 + store i64 5, ptr %275, align 4 + %276 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %273, align 8 + %277 = load ptr, ptr @_llgo_error, align 8 + %278 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 + %279 = icmp eq ptr %278, null + br i1 %279, label %_llgo_29, label %_llgo_30 + +_llgo_29: ; preds = %_llgo_28 + %280 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %281 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %282 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %281, i32 0, i32 0 + store ptr %280, ptr %282, align 8 + %283 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %281, i32 0, i32 1 + store i64 0, ptr %283, align 4 + %284 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %281, i32 0, i32 2 + store i64 0, ptr %284, align 4 + %285 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %281, align 8 + %286 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %287 = getelementptr ptr, ptr %286, i64 0 + store ptr %277, ptr %287, align 8 + %288 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %289 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %288, i32 0, i32 0 + store ptr %286, ptr %289, align 8 + %290 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %288, i32 0, i32 1 + store i64 1, ptr %290, align 4 + %291 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %288, i32 0, i32 2 + store i64 1, ptr %291, align 4 + %292 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %288, align 8 + %293 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %285, %"github.com/goplus/llgo/internal/runtime.Slice" %292, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %293) + store ptr %293, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 + br label %_llgo_30 + +_llgo_30: ; preds = %_llgo_29, %_llgo_28 + %294 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 + %295 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %296 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %295, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %276, ptr %296, align 8 + %297 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %295, i32 0, i32 1 + store ptr %294, ptr %297, align 8 + %298 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %295, i32 0, i32 2 + store ptr @"main.(*nopCloserWriterTo).Close", ptr %298, align 8 + %299 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %295, i32 0, i32 3 + store ptr @"main.(*nopCloserWriterTo).Close", ptr %299, align 8 + %300 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %295, align 8 + %301 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %302 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %301, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %276, ptr %302, align 8 + %303 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %301, i32 0, i32 1 + store ptr %294, ptr %303, align 8 + %304 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %301, i32 0, i32 2 + store ptr @"main.(*nopCloserWriterTo).Close", ptr %304, align 8 + %305 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %301, i32 0, i32 3 + store ptr @main.nopCloserWriterTo.Close, ptr %305, align 8 + %306 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %301, align 8 + %307 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %308 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %307, i32 0, i32 0 + store ptr @8, ptr %308, align 8 + %309 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %307, i32 0, i32 1 + store i64 4, ptr %309, align 4 + %310 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %307, align 8 + %311 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 + %312 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %313 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %312, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %310, ptr %313, align 8 + %314 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %312, i32 0, i32 1 + store ptr %311, ptr %314, align 8 + %315 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %312, i32 0, i32 2 + store ptr @"main.(*nopCloserWriterTo).Read", ptr %315, align 8 + %316 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %312, i32 0, i32 3 + store ptr @"main.(*nopCloserWriterTo).Read", ptr %316, align 8 + %317 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %312, align 8 + %318 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %319 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %318, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %310, ptr %319, align 8 + %320 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %318, i32 0, i32 1 + store ptr %311, ptr %320, align 8 + %321 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %318, i32 0, i32 2 + store ptr @"main.(*nopCloserWriterTo).Read", ptr %321, align 8 + %322 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %318, i32 0, i32 3 + store ptr @main.nopCloserWriterTo.Read, ptr %322, align 8 + %323 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %318, align 8 + %324 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %325 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %324, i32 0, i32 0 + store ptr @5, ptr %325, align 8 + %326 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %324, i32 0, i32 1 + store i64 7, ptr %326, align 4 + %327 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %324, align 8 + %328 = load ptr, ptr @"_llgo_func$MrYxYl10p_I07B55pBsGw9la9zbzU2vGDPLWrT714Uk", align 8 + %329 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %330 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %329, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %327, ptr %330, align 8 + %331 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %329, i32 0, i32 1 + store ptr %328, ptr %331, align 8 + %332 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %329, i32 0, i32 2 + store ptr @"main.(*nopCloserWriterTo).WriteTo", ptr %332, align 8 + %333 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %329, i32 0, i32 3 + store ptr @"main.(*nopCloserWriterTo).WriteTo", ptr %333, align 8 + %334 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %329, align 8 + %335 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %336 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %335, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %327, ptr %336, align 8 + %337 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %335, i32 0, i32 1 + store ptr %328, ptr %337, align 8 + %338 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %335, i32 0, i32 2 + store ptr @"main.(*nopCloserWriterTo).WriteTo", ptr %338, align 8 + %339 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %335, i32 0, i32 3 + store ptr @main.nopCloserWriterTo.WriteTo, ptr %339, align 8 + %340 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %335, align 8 + %341 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 120) + %342 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %341, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %306, ptr %342, align 8 + %343 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %341, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %323, ptr %343, align 8 + %344 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %341, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %340, ptr %344, align 8 + %345 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %346 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %345, i32 0, i32 0 + store ptr %341, ptr %346, align 8 + %347 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %345, i32 0, i32 1 + store i64 3, ptr %347, align 4 + %348 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %345, i32 0, i32 2 + store i64 3, ptr %348, align 4 + %349 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %345, align 8 + %350 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 120) + %351 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %350, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %300, ptr %351, align 8 + %352 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %350, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %317, ptr %352, align 8 + %353 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %350, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %334, ptr %353, align 8 + %354 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %355 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %354, i32 0, i32 0 + store ptr %350, ptr %355, align 8 + %356 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %354, i32 0, i32 1 + store i64 3, ptr %356, align 4 + %357 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %354, i32 0, i32 2 + store i64 3, ptr %357, align 4 + %358 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %354, align 8 + %359 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %360 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %359, i32 0, i32 0 + store ptr @1, ptr %360, align 8 + %361 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %359, i32 0, i32 1 + store i64 4, ptr %361, align 4 + %362 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %359, align 8 + %363 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %364 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %363, i32 0, i32 0 + store ptr @12, ptr %364, align 8 + %365 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %363, i32 0, i32 1 + store i64 17, ptr %365, align 4 + %366 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %363, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %194, %"github.com/goplus/llgo/internal/runtime.String" %362, %"github.com/goplus/llgo/internal/runtime.String" %366, ptr %272, %"github.com/goplus/llgo/internal/runtime.Slice" %349, %"github.com/goplus/llgo/internal/runtime.Slice" %358) + %367 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 + %368 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 + %369 = load ptr, ptr @"_llgo_iface$L2Ik-AJcd0jsoBw5fQ07pQpfUM-kh78Wn2bOeak6M3I", align 8 + %370 = icmp eq ptr %369, null + br i1 %370, label %_llgo_31, label %_llgo_32 + +_llgo_31: ; preds = %_llgo_30 %371 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %372 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %371, i32 0, i32 0 store ptr @11, ptr %372, align 8 %373 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %371, i32 0, i32 1 store i64 5, ptr %373, align 4 %374 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %371, align 8 - %375 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 - %376 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %377 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %376, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %374, ptr %377, align 8 - %378 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %376, i32 0, i32 1 - store ptr %375, ptr %378, align 8 - %379 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %376, i32 0, i32 2 - store ptr @"main.(*nopCloser).Close", ptr %379, align 8 - %380 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %376, i32 0, i32 3 - store ptr @"main.(*nopCloser).Close", ptr %380, align 8 - %381 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %376, align 8 - %382 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %383 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %382, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %374, ptr %383, align 8 - %384 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %382, i32 0, i32 1 - store ptr %375, ptr %384, align 8 - %385 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %382, i32 0, i32 2 - store ptr @"main.(*nopCloser).Close", ptr %385, align 8 - %386 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %382, i32 0, i32 3 - store ptr @main.nopCloser.Close, ptr %386, align 8 - %387 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %382, align 8 - %388 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %389 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %388, i32 0, i32 0 - store ptr @9, ptr %389, align 8 - %390 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %388, i32 0, i32 1 - store i64 4, ptr %390, align 4 - %391 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %388, align 8 - %392 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 - %393 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %394 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %393, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %391, ptr %394, align 8 - %395 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %393, i32 0, i32 1 - store ptr %392, ptr %395, align 8 - %396 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %393, i32 0, i32 2 - store ptr @"main.(*nopCloser).Read", ptr %396, align 8 - %397 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %393, i32 0, i32 3 - store ptr @"main.(*nopCloser).Read", ptr %397, align 8 - %398 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %393, align 8 - %399 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %400 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %399, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %391, ptr %400, align 8 - %401 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %399, i32 0, i32 1 - store ptr %392, ptr %401, align 8 - %402 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %399, i32 0, i32 2 - store ptr @"main.(*nopCloser).Read", ptr %402, align 8 - %403 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %399, i32 0, i32 3 - store ptr @main.nopCloser.Read, ptr %403, align 8 - %404 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %399, align 8 - %405 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) - %406 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %405, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %387, ptr %406, align 8 - %407 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %405, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %404, ptr %407, align 8 - %408 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %409 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %408, i32 0, i32 0 - store ptr %405, ptr %409, align 8 - %410 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %408, i32 0, i32 1 - store i64 2, ptr %410, align 4 - %411 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %408, i32 0, i32 2 - store i64 2, ptr %411, align 4 - %412 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %408, align 8 - %413 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) - %414 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %413, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %381, ptr %414, align 8 - %415 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %413, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %398, ptr %415, align 8 - %416 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %417 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %416, i32 0, i32 0 - store ptr %413, ptr %417, align 8 - %418 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %416, i32 0, i32 1 - store i64 2, ptr %418, align 4 - %419 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %416, i32 0, i32 2 - store i64 2, ptr %419, align 4 - %420 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %416, align 8 - %421 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %422 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %421, i32 0, i32 0 - store ptr @1, ptr %422, align 8 - %423 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %421, i32 0, i32 1 - store i64 4, ptr %423, align 4 - %424 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %421, align 8 - %425 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %426 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %425, i32 0, i32 0 - store ptr @14, ptr %426, align 8 - %427 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %425, i32 0, i32 1 - store i64 9, ptr %427, align 4 - %428 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %425, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %369, %"github.com/goplus/llgo/internal/runtime.String" %424, %"github.com/goplus/llgo/internal/runtime.String" %428, ptr %370, %"github.com/goplus/llgo/internal/runtime.Slice" %412, %"github.com/goplus/llgo/internal/runtime.Slice" %420) - %429 = load ptr, ptr @_llgo_string, align 8 - %430 = load ptr, ptr @_llgo_int, align 8 - %431 = load ptr, ptr @_llgo_error, align 8 - %432 = load ptr, ptr @"_llgo_func$thH5FBpdXzJNnCpSfiLU5ItTntFU6LWp0RJhDm2XJjw", align 8 - %433 = icmp eq ptr %432, null - br i1 %433, label %_llgo_29, label %_llgo_30 - -_llgo_29: ; preds = %_llgo_28 - %434 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %435 = getelementptr ptr, ptr %434, i64 0 - store ptr %429, ptr %435, align 8 - %436 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %437 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %436, i32 0, i32 0 - store ptr %434, ptr %437, align 8 - %438 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %436, i32 0, i32 1 - store i64 1, ptr %438, align 4 - %439 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %436, i32 0, i32 2 - store i64 1, ptr %439, align 4 - %440 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %436, align 8 - %441 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %442 = getelementptr ptr, ptr %441, i64 0 - store ptr %430, ptr %442, align 8 - %443 = getelementptr ptr, ptr %441, i64 1 - store ptr %431, ptr %443, align 8 - %444 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %445 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %444, i32 0, i32 0 - store ptr %441, ptr %445, align 8 - %446 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %444, i32 0, i32 1 - store i64 2, ptr %446, align 4 - %447 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %444, i32 0, i32 2 - store i64 2, ptr %447, align 4 - %448 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %444, align 8 - %449 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %440, %"github.com/goplus/llgo/internal/runtime.Slice" %448, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %449) - store ptr %449, ptr @"_llgo_func$thH5FBpdXzJNnCpSfiLU5ItTntFU6LWp0RJhDm2XJjw", align 8 - br label %_llgo_30 - -_llgo_30: ; preds = %_llgo_29, %_llgo_28 - %450 = load ptr, ptr @"_llgo_func$thH5FBpdXzJNnCpSfiLU5ItTntFU6LWp0RJhDm2XJjw", align 8 - %451 = load ptr, ptr @_llgo_main.StringWriter, align 8 - %452 = icmp eq ptr %451, null - br i1 %452, label %_llgo_31, label %_llgo_32 - -_llgo_31: ; preds = %_llgo_30 - %453 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %454 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %453, i32 0, i32 0 - store ptr @15, ptr %454, align 8 - %455 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %453, i32 0, i32 1 - store i64 11, ptr %455, align 4 - %456 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %453, align 8 - %457 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %458 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %457, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %456, ptr %458, align 8 - %459 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %457, i32 0, i32 1 - store ptr %450, ptr %459, align 8 - %460 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %457, align 8 - %461 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %462 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %461, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %460, ptr %462, align 8 - %463 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %464 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %463, i32 0, i32 0 - store ptr %461, ptr %464, align 8 - %465 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %463, i32 0, i32 1 - store i64 1, ptr %465, align 4 - %466 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %463, i32 0, i32 2 - store i64 1, ptr %466, align 4 - %467 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %463, align 8 - %468 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %469 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %468, i32 0, i32 0 - store ptr @1, ptr %469, align 8 - %470 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %468, i32 0, i32 1 - store i64 4, ptr %470, align 4 - %471 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %468, align 8 - %472 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %473 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %472, i32 0, i32 0 - store ptr @16, ptr %473, align 8 - %474 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %472, i32 0, i32 1 - store i64 17, ptr %474, align 4 - %475 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %472, align 8 - %476 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %471, %"github.com/goplus/llgo/internal/runtime.String" %475, %"github.com/goplus/llgo/internal/runtime.Slice" %467) - store ptr %476, ptr @_llgo_main.StringWriter, align 8 + %375 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %376 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %375, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %374, ptr %376, align 8 + %377 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %375, i32 0, i32 1 + store ptr %367, ptr %377, align 8 + %378 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %375, align 8 + %379 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %380 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %379, i32 0, i32 0 + store ptr @8, ptr %380, align 8 + %381 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %379, i32 0, i32 1 + store i64 4, ptr %381, align 4 + %382 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %379, align 8 + %383 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %384 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %383, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %382, ptr %384, align 8 + %385 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %383, i32 0, i32 1 + store ptr %368, ptr %385, align 8 + %386 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %383, align 8 + %387 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 48) + %388 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %387, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %378, ptr %388, align 8 + %389 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %387, i64 1 + store %"github.com/goplus/llgo/internal/abi.Imethod" %386, ptr %389, align 8 + %390 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %391 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %390, i32 0, i32 0 + store ptr %387, ptr %391, align 8 + %392 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %390, i32 0, i32 1 + store i64 2, ptr %392, align 4 + %393 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %390, i32 0, i32 2 + store i64 2, ptr %393, align 4 + %394 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %390, align 8 + %395 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %396 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %395, i32 0, i32 0 + store ptr @1, ptr %396, align 8 + %397 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %395, i32 0, i32 1 + store i64 4, ptr %397, align 4 + %398 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %395, align 8 + %399 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %400 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %399, i32 0, i32 0 + store ptr null, ptr %400, align 8 + %401 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %399, i32 0, i32 1 + store i64 0, ptr %401, align 4 + %402 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %399, align 8 + %403 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %398, %"github.com/goplus/llgo/internal/runtime.String" %402, %"github.com/goplus/llgo/internal/runtime.Slice" %394) + store ptr %403, ptr @"_llgo_iface$L2Ik-AJcd0jsoBw5fQ07pQpfUM-kh78Wn2bOeak6M3I", align 8 br label %_llgo_32 _llgo_32: ; preds = %_llgo_31, %_llgo_30 - %477 = load ptr, ptr @"_llgo_func$thH5FBpdXzJNnCpSfiLU5ItTntFU6LWp0RJhDm2XJjw", align 8 - %478 = load ptr, ptr @"_llgo_iface$Ly4zXiUMEac-hYAMw6b6miJ1JEhGfLyBWyBOhpsRZcU", align 8 - %479 = icmp eq ptr %478, null - br i1 %479, label %_llgo_33, label %_llgo_34 + %404 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %405 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %404, i32 0, i32 0 + store ptr @13, ptr %405, align 8 + %406 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %404, i32 0, i32 1 + store i64 14, ptr %406, align 4 + %407 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %404, align 8 + %408 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %407, i64 25, i64 16, i64 2, i64 2) + store ptr %408, ptr @_llgo_main.nopCloser, align 8 + %409 = load ptr, ptr @"_llgo_struct$_3ow4zXXILqvC0WDqDRNq5DPhjE1DInJgN924VHWc2Y", align 8 + %410 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %411 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %410, i32 0, i32 0 + store ptr @11, ptr %411, align 8 + %412 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %410, i32 0, i32 1 + store i64 5, ptr %412, align 4 + %413 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %410, align 8 + %414 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 + %415 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %416 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %415, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %413, ptr %416, align 8 + %417 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %415, i32 0, i32 1 + store ptr %414, ptr %417, align 8 + %418 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %415, i32 0, i32 2 + store ptr @"main.(*nopCloser).Close", ptr %418, align 8 + %419 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %415, i32 0, i32 3 + store ptr @"main.(*nopCloser).Close", ptr %419, align 8 + %420 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %415, align 8 + %421 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %422 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %421, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %413, ptr %422, align 8 + %423 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %421, i32 0, i32 1 + store ptr %414, ptr %423, align 8 + %424 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %421, i32 0, i32 2 + store ptr @"main.(*nopCloser).Close", ptr %424, align 8 + %425 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %421, i32 0, i32 3 + store ptr @main.nopCloser.Close, ptr %425, align 8 + %426 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %421, align 8 + %427 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %428 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %427, i32 0, i32 0 + store ptr @8, ptr %428, align 8 + %429 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %427, i32 0, i32 1 + store i64 4, ptr %429, align 4 + %430 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %427, align 8 + %431 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 + %432 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %433 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %432, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %430, ptr %433, align 8 + %434 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %432, i32 0, i32 1 + store ptr %431, ptr %434, align 8 + %435 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %432, i32 0, i32 2 + store ptr @"main.(*nopCloser).Read", ptr %435, align 8 + %436 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %432, i32 0, i32 3 + store ptr @"main.(*nopCloser).Read", ptr %436, align 8 + %437 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %432, align 8 + %438 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %439 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %438, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %430, ptr %439, align 8 + %440 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %438, i32 0, i32 1 + store ptr %431, ptr %440, align 8 + %441 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %438, i32 0, i32 2 + store ptr @"main.(*nopCloser).Read", ptr %441, align 8 + %442 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %438, i32 0, i32 3 + store ptr @main.nopCloser.Read, ptr %442, align 8 + %443 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %438, align 8 + %444 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) + %445 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %444, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %426, ptr %445, align 8 + %446 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %444, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %443, ptr %446, align 8 + %447 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %448 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %447, i32 0, i32 0 + store ptr %444, ptr %448, align 8 + %449 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %447, i32 0, i32 1 + store i64 2, ptr %449, align 4 + %450 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %447, i32 0, i32 2 + store i64 2, ptr %450, align 4 + %451 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %447, align 8 + %452 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) + %453 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %452, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %420, ptr %453, align 8 + %454 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %452, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %437, ptr %454, align 8 + %455 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %456 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %455, i32 0, i32 0 + store ptr %452, ptr %456, align 8 + %457 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %455, i32 0, i32 1 + store i64 2, ptr %457, align 4 + %458 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %455, i32 0, i32 2 + store i64 2, ptr %458, align 4 + %459 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %455, align 8 + %460 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %461 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %460, i32 0, i32 0 + store ptr @1, ptr %461, align 8 + %462 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %460, i32 0, i32 1 + store i64 4, ptr %462, align 4 + %463 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %460, align 8 + %464 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %465 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %464, i32 0, i32 0 + store ptr @14, ptr %465, align 8 + %466 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %464, i32 0, i32 1 + store i64 9, ptr %466, align 4 + %467 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %464, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %408, %"github.com/goplus/llgo/internal/runtime.String" %463, %"github.com/goplus/llgo/internal/runtime.String" %467, ptr %409, %"github.com/goplus/llgo/internal/runtime.Slice" %451, %"github.com/goplus/llgo/internal/runtime.Slice" %459) + %468 = load ptr, ptr @_llgo_string, align 8 + %469 = load ptr, ptr @_llgo_int, align 8 + %470 = load ptr, ptr @_llgo_error, align 8 + %471 = load ptr, ptr @"_llgo_func$thH5FBpdXzJNnCpSfiLU5ItTntFU6LWp0RJhDm2XJjw", align 8 + %472 = icmp eq ptr %471, null + br i1 %472, label %_llgo_33, label %_llgo_34 _llgo_33: ; preds = %_llgo_32 - %480 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %481 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %480, i32 0, i32 0 - store ptr @15, ptr %481, align 8 - %482 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %480, i32 0, i32 1 - store i64 11, ptr %482, align 4 - %483 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %480, align 8 - %484 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %485 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %484, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %483, ptr %485, align 8 - %486 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %484, i32 0, i32 1 - store ptr %477, ptr %486, align 8 - %487 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %484, align 8 - %488 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %489 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %488, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %487, ptr %489, align 8 - %490 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %491 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %490, i32 0, i32 0 - store ptr %488, ptr %491, align 8 - %492 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %490, i32 0, i32 1 - store i64 1, ptr %492, align 4 - %493 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %490, i32 0, i32 2 - store i64 1, ptr %493, align 4 - %494 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %490, align 8 - %495 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %496 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %495, i32 0, i32 0 - store ptr @1, ptr %496, align 8 - %497 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %495, i32 0, i32 1 - store i64 4, ptr %497, align 4 - %498 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %495, align 8 - %499 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %500 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %499, i32 0, i32 0 - store ptr null, ptr %500, align 8 - %501 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %499, i32 0, i32 1 - store i64 0, ptr %501, align 4 - %502 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %499, align 8 - %503 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %498, %"github.com/goplus/llgo/internal/runtime.String" %502, %"github.com/goplus/llgo/internal/runtime.Slice" %494) - store ptr %503, ptr @"_llgo_iface$Ly4zXiUMEac-hYAMw6b6miJ1JEhGfLyBWyBOhpsRZcU", align 8 + %473 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %474 = getelementptr ptr, ptr %473, i64 0 + store ptr %468, ptr %474, align 8 + %475 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %476 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %475, i32 0, i32 0 + store ptr %473, ptr %476, align 8 + %477 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %475, i32 0, i32 1 + store i64 1, ptr %477, align 4 + %478 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %475, i32 0, i32 2 + store i64 1, ptr %478, align 4 + %479 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %475, align 8 + %480 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %481 = getelementptr ptr, ptr %480, i64 0 + store ptr %469, ptr %481, align 8 + %482 = getelementptr ptr, ptr %480, i64 1 + store ptr %470, ptr %482, align 8 + %483 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %484 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %483, i32 0, i32 0 + store ptr %480, ptr %484, align 8 + %485 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %483, i32 0, i32 1 + store i64 2, ptr %485, align 4 + %486 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %483, i32 0, i32 2 + store i64 2, ptr %486, align 4 + %487 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %483, align 8 + %488 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %479, %"github.com/goplus/llgo/internal/runtime.Slice" %487, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %488) + store ptr %488, ptr @"_llgo_func$thH5FBpdXzJNnCpSfiLU5ItTntFU6LWp0RJhDm2XJjw", align 8 br label %_llgo_34 _llgo_34: ; preds = %_llgo_33, %_llgo_32 - %504 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %505 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %504, i32 0, i32 0 - store ptr @20, ptr %505, align 8 - %506 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %504, i32 0, i32 1 - store i64 17, ptr %506, align 4 - %507 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %504, align 8 - %508 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %507, i64 25, i64 32, i64 0, i64 10) - store ptr %508, ptr @_llgo_main.stringReader, align 8 - %509 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %510 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %509, i32 0, i32 0 - store ptr @21, ptr %510, align 8 - %511 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %509, i32 0, i32 1 - store i64 1, ptr %511, align 4 - %512 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %509, align 8 - %513 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %514 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %513, i32 0, i32 0 - store ptr null, ptr %514, align 8 - %515 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %513, i32 0, i32 1 - store i64 0, ptr %515, align 4 - %516 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %513, align 8 - %517 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %518 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %512, ptr %517, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %516, i1 false) - %519 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %520 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %519, i32 0, i32 0 - store ptr @22, ptr %520, align 8 - %521 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %519, i32 0, i32 1 - store i64 1, ptr %521, align 4 - %522 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %519, align 8 - %523 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %524 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %523, i32 0, i32 0 - store ptr null, ptr %524, align 8 - %525 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %523, i32 0, i32 1 - store i64 0, ptr %525, align 4 - %526 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %523, align 8 - %527 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 38) - %528 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %522, ptr %527, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %526, i1 false) - %529 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %530 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %529, i32 0, i32 0 - store ptr @23, ptr %530, align 8 - %531 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %529, i32 0, i32 1 - store i64 8, ptr %531, align 4 - %532 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %529, align 8 - %533 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %534 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %533, i32 0, i32 0 - store ptr null, ptr %534, align 8 - %535 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %533, i32 0, i32 1 - store i64 0, ptr %535, align 4 - %536 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %533, align 8 - %537 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %538 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %532, ptr %537, i64 24, %"github.com/goplus/llgo/internal/runtime.String" %536, i1 false) - %539 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %540 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %539, i32 0, i32 0 - store ptr @1, ptr %540, align 8 - %541 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %539, i32 0, i32 1 - store i64 4, ptr %541, align 4 - %542 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %539, align 8 - %543 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) - %544 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %543, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %518, ptr %544, align 8 - %545 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %543, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %528, ptr %545, align 8 - %546 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %543, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %538, ptr %546, align 8 - %547 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %548 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %547, i32 0, i32 0 - store ptr %543, ptr %548, align 8 - %549 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %547, i32 0, i32 1 - store i64 3, ptr %549, align 4 - %550 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %547, i32 0, i32 2 - store i64 3, ptr %550, align 4 - %551 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %547, align 8 - %552 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %542, i64 32, %"github.com/goplus/llgo/internal/runtime.Slice" %551) - store ptr %552, ptr @"main.struct$Mdt84yjYYwxF9D2i4cRmpEPiWaO6tsjtrbGUjyESypk", align 8 - %553 = load ptr, ptr @"main.struct$Mdt84yjYYwxF9D2i4cRmpEPiWaO6tsjtrbGUjyESypk", align 8 - %554 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %555 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %554, i32 0, i32 0 - store ptr @24, ptr %555, align 8 - %556 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %554, i32 0, i32 1 - store i64 3, ptr %556, align 4 - %557 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %554, align 8 - %558 = load ptr, ptr @_llgo_int, align 8 - %559 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %560 = icmp eq ptr %559, null - br i1 %560, label %_llgo_35, label %_llgo_36 + %489 = load ptr, ptr @"_llgo_func$thH5FBpdXzJNnCpSfiLU5ItTntFU6LWp0RJhDm2XJjw", align 8 + %490 = load ptr, ptr @_llgo_main.StringWriter, align 8 + %491 = icmp eq ptr %490, null + br i1 %491, label %_llgo_35, label %_llgo_36 _llgo_35: ; preds = %_llgo_34 - %561 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %562 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %563 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %562, i32 0, i32 0 - store ptr %561, ptr %563, align 8 - %564 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %562, i32 0, i32 1 - store i64 0, ptr %564, align 4 - %565 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %562, i32 0, i32 2 - store i64 0, ptr %565, align 4 - %566 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %562, align 8 - %567 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %568 = getelementptr ptr, ptr %567, i64 0 - store ptr %558, ptr %568, align 8 - %569 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %570 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %569, i32 0, i32 0 - store ptr %567, ptr %570, align 8 - %571 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %569, i32 0, i32 1 - store i64 1, ptr %571, align 4 - %572 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %569, i32 0, i32 2 - store i64 1, ptr %572, align 4 - %573 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %569, align 8 - %574 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %566, %"github.com/goplus/llgo/internal/runtime.Slice" %573, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %574) - store ptr %574, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %492 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %493 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %492, i32 0, i32 0 + store ptr @15, ptr %493, align 8 + %494 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %492, i32 0, i32 1 + store i64 11, ptr %494, align 4 + %495 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %492, align 8 + %496 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %497 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %496, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %495, ptr %497, align 8 + %498 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %496, i32 0, i32 1 + store ptr %489, ptr %498, align 8 + %499 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %496, align 8 + %500 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %501 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %500, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %499, ptr %501, align 8 + %502 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %503 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %502, i32 0, i32 0 + store ptr %500, ptr %503, align 8 + %504 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %502, i32 0, i32 1 + store i64 1, ptr %504, align 4 + %505 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %502, i32 0, i32 2 + store i64 1, ptr %505, align 4 + %506 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %502, align 8 + %507 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %508 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %507, i32 0, i32 0 + store ptr @1, ptr %508, align 8 + %509 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %507, i32 0, i32 1 + store i64 4, ptr %509, align 4 + %510 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %507, align 8 + %511 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %512 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %511, i32 0, i32 0 + store ptr @16, ptr %512, align 8 + %513 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %511, i32 0, i32 1 + store i64 17, ptr %513, align 4 + %514 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %511, align 8 + %515 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %510, %"github.com/goplus/llgo/internal/runtime.String" %514, %"github.com/goplus/llgo/internal/runtime.Slice" %506) + store ptr %515, ptr @_llgo_main.StringWriter, align 8 br label %_llgo_36 _llgo_36: ; preds = %_llgo_35, %_llgo_34 - %575 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %576 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %577 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %576, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %557, ptr %577, align 8 - %578 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %576, i32 0, i32 1 - store ptr %575, ptr %578, align 8 - %579 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %576, i32 0, i32 2 - store ptr @"main.(*stringReader).Len", ptr %579, align 8 - %580 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %576, i32 0, i32 3 - store ptr @"main.(*stringReader).Len", ptr %580, align 8 - %581 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %576, align 8 - %582 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %583 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %582, i32 0, i32 0 - store ptr @9, ptr %583, align 8 - %584 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %582, i32 0, i32 1 - store i64 4, ptr %584, align 4 - %585 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %582, align 8 - %586 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 - %587 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %588 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %587, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %585, ptr %588, align 8 - %589 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %587, i32 0, i32 1 - store ptr %586, ptr %589, align 8 - %590 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %587, i32 0, i32 2 - store ptr @"main.(*stringReader).Read", ptr %590, align 8 - %591 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %587, i32 0, i32 3 - store ptr @"main.(*stringReader).Read", ptr %591, align 8 - %592 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %587, align 8 - %593 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %594 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %593, i32 0, i32 0 - store ptr @25, ptr %594, align 8 - %595 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %593, i32 0, i32 1 - store i64 6, ptr %595, align 4 - %596 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %593, align 8 - %597 = load ptr, ptr @"[]_llgo_byte", align 8 - %598 = load ptr, ptr @_llgo_int64, align 8 - %599 = load ptr, ptr @_llgo_int, align 8 - %600 = load ptr, ptr @_llgo_error, align 8 - %601 = load ptr, ptr @"_llgo_func$TY5Etv7VBKM_-2um1BDEeQEE2lP06Pt6G54EuKiNC3c", align 8 - %602 = icmp eq ptr %601, null - br i1 %602, label %_llgo_37, label %_llgo_38 + %516 = load ptr, ptr @"_llgo_func$thH5FBpdXzJNnCpSfiLU5ItTntFU6LWp0RJhDm2XJjw", align 8 + %517 = load ptr, ptr @"_llgo_iface$Ly4zXiUMEac-hYAMw6b6miJ1JEhGfLyBWyBOhpsRZcU", align 8 + %518 = icmp eq ptr %517, null + br i1 %518, label %_llgo_37, label %_llgo_38 _llgo_37: ; preds = %_llgo_36 - %603 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %604 = getelementptr ptr, ptr %603, i64 0 - store ptr %597, ptr %604, align 8 - %605 = getelementptr ptr, ptr %603, i64 1 - store ptr %598, ptr %605, align 8 - %606 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %607 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %606, i32 0, i32 0 - store ptr %603, ptr %607, align 8 - %608 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %606, i32 0, i32 1 - store i64 2, ptr %608, align 4 - %609 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %606, i32 0, i32 2 - store i64 2, ptr %609, align 4 - %610 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %606, align 8 - %611 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %612 = getelementptr ptr, ptr %611, i64 0 - store ptr %599, ptr %612, align 8 - %613 = getelementptr ptr, ptr %611, i64 1 - store ptr %600, ptr %613, align 8 - %614 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %615 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %614, i32 0, i32 0 - store ptr %611, ptr %615, align 8 - %616 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %614, i32 0, i32 1 - store i64 2, ptr %616, align 4 - %617 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %614, i32 0, i32 2 - store i64 2, ptr %617, align 4 - %618 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %614, align 8 - %619 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %610, %"github.com/goplus/llgo/internal/runtime.Slice" %618, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %619) - store ptr %619, ptr @"_llgo_func$TY5Etv7VBKM_-2um1BDEeQEE2lP06Pt6G54EuKiNC3c", align 8 + %519 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %520 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %519, i32 0, i32 0 + store ptr @15, ptr %520, align 8 + %521 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %519, i32 0, i32 1 + store i64 11, ptr %521, align 4 + %522 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %519, align 8 + %523 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %524 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %523, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %522, ptr %524, align 8 + %525 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %523, i32 0, i32 1 + store ptr %516, ptr %525, align 8 + %526 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %523, align 8 + %527 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %528 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %527, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %526, ptr %528, align 8 + %529 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %530 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %529, i32 0, i32 0 + store ptr %527, ptr %530, align 8 + %531 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %529, i32 0, i32 1 + store i64 1, ptr %531, align 4 + %532 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %529, i32 0, i32 2 + store i64 1, ptr %532, align 4 + %533 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %529, align 8 + %534 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %535 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %534, i32 0, i32 0 + store ptr @1, ptr %535, align 8 + %536 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %534, i32 0, i32 1 + store i64 4, ptr %536, align 4 + %537 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %534, align 8 + %538 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %539 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %538, i32 0, i32 0 + store ptr null, ptr %539, align 8 + %540 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %538, i32 0, i32 1 + store i64 0, ptr %540, align 4 + %541 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %538, align 8 + %542 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %537, %"github.com/goplus/llgo/internal/runtime.String" %541, %"github.com/goplus/llgo/internal/runtime.Slice" %533) + store ptr %542, ptr @"_llgo_iface$Ly4zXiUMEac-hYAMw6b6miJ1JEhGfLyBWyBOhpsRZcU", align 8 br label %_llgo_38 _llgo_38: ; preds = %_llgo_37, %_llgo_36 - %620 = load ptr, ptr @"_llgo_func$TY5Etv7VBKM_-2um1BDEeQEE2lP06Pt6G54EuKiNC3c", align 8 - %621 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %622 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %621, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %596, ptr %622, align 8 - %623 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %621, i32 0, i32 1 - store ptr %620, ptr %623, align 8 - %624 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %621, i32 0, i32 2 - store ptr @"main.(*stringReader).ReadAt", ptr %624, align 8 - %625 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %621, i32 0, i32 3 - store ptr @"main.(*stringReader).ReadAt", ptr %625, align 8 - %626 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %621, align 8 - %627 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %628 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %627, i32 0, i32 0 - store ptr @26, ptr %628, align 8 - %629 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %627, i32 0, i32 1 - store i64 8, ptr %629, align 4 - %630 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %627, align 8 - %631 = load ptr, ptr @_llgo_byte, align 8 - %632 = icmp eq ptr %631, null - br i1 %632, label %_llgo_39, label %_llgo_40 + %543 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %544 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %543, i32 0, i32 0 + store ptr @20, ptr %544, align 8 + %545 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %543, i32 0, i32 1 + store i64 17, ptr %545, align 4 + %546 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %543, align 8 + %547 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %546, i64 25, i64 32, i64 0, i64 10) + store ptr %547, ptr @_llgo_main.stringReader, align 8 + %548 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %549 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %548, i32 0, i32 0 + store ptr @21, ptr %549, align 8 + %550 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %548, i32 0, i32 1 + store i64 1, ptr %550, align 4 + %551 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %548, align 8 + %552 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %553 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %552, i32 0, i32 0 + store ptr null, ptr %553, align 8 + %554 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %552, i32 0, i32 1 + store i64 0, ptr %554, align 4 + %555 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %552, align 8 + %556 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %557 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %551, ptr %556, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %555, i1 false) + %558 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %559 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %558, i32 0, i32 0 + store ptr @22, ptr %559, align 8 + %560 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %558, i32 0, i32 1 + store i64 1, ptr %560, align 4 + %561 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %558, align 8 + %562 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %563 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %562, i32 0, i32 0 + store ptr null, ptr %563, align 8 + %564 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %562, i32 0, i32 1 + store i64 0, ptr %564, align 4 + %565 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %562, align 8 + %566 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 38) + %567 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %561, ptr %566, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %565, i1 false) + %568 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %569 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %568, i32 0, i32 0 + store ptr @23, ptr %569, align 8 + %570 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %568, i32 0, i32 1 + store i64 8, ptr %570, align 4 + %571 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %568, align 8 + %572 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %573 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %572, i32 0, i32 0 + store ptr null, ptr %573, align 8 + %574 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %572, i32 0, i32 1 + store i64 0, ptr %574, align 4 + %575 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %572, align 8 + %576 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %577 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %571, ptr %576, i64 24, %"github.com/goplus/llgo/internal/runtime.String" %575, i1 false) + %578 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %579 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %578, i32 0, i32 0 + store ptr @1, ptr %579, align 8 + %580 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %578, i32 0, i32 1 + store i64 4, ptr %580, align 4 + %581 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %578, align 8 + %582 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) + %583 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %582, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %557, ptr %583, align 8 + %584 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %582, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %567, ptr %584, align 8 + %585 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %582, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %577, ptr %585, align 8 + %586 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %587 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %586, i32 0, i32 0 + store ptr %582, ptr %587, align 8 + %588 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %586, i32 0, i32 1 + store i64 3, ptr %588, align 4 + %589 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %586, i32 0, i32 2 + store i64 3, ptr %589, align 4 + %590 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %586, align 8 + %591 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %581, i64 32, %"github.com/goplus/llgo/internal/runtime.Slice" %590) + store ptr %591, ptr @"main.struct$Mdt84yjYYwxF9D2i4cRmpEPiWaO6tsjtrbGUjyESypk", align 8 + %592 = load ptr, ptr @"main.struct$Mdt84yjYYwxF9D2i4cRmpEPiWaO6tsjtrbGUjyESypk", align 8 + %593 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %594 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %593, i32 0, i32 0 + store ptr @24, ptr %594, align 8 + %595 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %593, i32 0, i32 1 + store i64 3, ptr %595, align 4 + %596 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %593, align 8 + %597 = load ptr, ptr @_llgo_int, align 8 + %598 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %599 = icmp eq ptr %598, null + br i1 %599, label %_llgo_39, label %_llgo_40 _llgo_39: ; preds = %_llgo_38 - %633 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - store ptr %633, ptr @_llgo_byte, align 8 + %600 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %601 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %602 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %601, i32 0, i32 0 + store ptr %600, ptr %602, align 8 + %603 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %601, i32 0, i32 1 + store i64 0, ptr %603, align 4 + %604 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %601, i32 0, i32 2 + store i64 0, ptr %604, align 4 + %605 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %601, align 8 + %606 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %607 = getelementptr ptr, ptr %606, i64 0 + store ptr %597, ptr %607, align 8 + %608 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %609 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %608, i32 0, i32 0 + store ptr %606, ptr %609, align 8 + %610 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %608, i32 0, i32 1 + store i64 1, ptr %610, align 4 + %611 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %608, i32 0, i32 2 + store i64 1, ptr %611, align 4 + %612 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %608, align 8 + %613 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %605, %"github.com/goplus/llgo/internal/runtime.Slice" %612, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %613) + store ptr %613, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 br label %_llgo_40 _llgo_40: ; preds = %_llgo_39, %_llgo_38 - %634 = load ptr, ptr @_llgo_byte, align 8 - %635 = load ptr, ptr @_llgo_error, align 8 - %636 = load ptr, ptr @"_llgo_func$6bvVpCcGPUc3z_EmsQTHB0AVT1hP5-NNLVRgm43teCM", align 8 - %637 = icmp eq ptr %636, null - br i1 %637, label %_llgo_41, label %_llgo_42 + %614 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %615 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %616 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %615, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %596, ptr %616, align 8 + %617 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %615, i32 0, i32 1 + store ptr %614, ptr %617, align 8 + %618 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %615, i32 0, i32 2 + store ptr @"main.(*stringReader).Len", ptr %618, align 8 + %619 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %615, i32 0, i32 3 + store ptr @"main.(*stringReader).Len", ptr %619, align 8 + %620 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %615, align 8 + %621 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %622 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %621, i32 0, i32 0 + store ptr @8, ptr %622, align 8 + %623 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %621, i32 0, i32 1 + store i64 4, ptr %623, align 4 + %624 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %621, align 8 + %625 = load ptr, ptr @"[]_llgo_byte", align 8 + %626 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 + %627 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %628 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %627, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %624, ptr %628, align 8 + %629 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %627, i32 0, i32 1 + store ptr %626, ptr %629, align 8 + %630 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %627, i32 0, i32 2 + store ptr @"main.(*stringReader).Read", ptr %630, align 8 + %631 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %627, i32 0, i32 3 + store ptr @"main.(*stringReader).Read", ptr %631, align 8 + %632 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %627, align 8 + %633 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %634 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %633, i32 0, i32 0 + store ptr @25, ptr %634, align 8 + %635 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %633, i32 0, i32 1 + store i64 6, ptr %635, align 4 + %636 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %633, align 8 + %637 = load ptr, ptr @"[]_llgo_byte", align 8 + %638 = load ptr, ptr @"[]_llgo_byte", align 8 + %639 = load ptr, ptr @_llgo_int64, align 8 + %640 = load ptr, ptr @_llgo_int, align 8 + %641 = load ptr, ptr @_llgo_error, align 8 + %642 = load ptr, ptr @"_llgo_func$TY5Etv7VBKM_-2um1BDEeQEE2lP06Pt6G54EuKiNC3c", align 8 + %643 = icmp eq ptr %642, null + br i1 %643, label %_llgo_41, label %_llgo_42 _llgo_41: ; preds = %_llgo_40 - %638 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %639 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %640 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %639, i32 0, i32 0 - store ptr %638, ptr %640, align 8 - %641 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %639, i32 0, i32 1 - store i64 0, ptr %641, align 4 - %642 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %639, i32 0, i32 2 - store i64 0, ptr %642, align 4 - %643 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %639, align 8 %644 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) %645 = getelementptr ptr, ptr %644, i64 0 - store ptr %634, ptr %645, align 8 + store ptr %638, ptr %645, align 8 %646 = getelementptr ptr, ptr %644, i64 1 - store ptr %635, ptr %646, align 8 + store ptr %639, ptr %646, align 8 %647 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 %648 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %647, i32 0, i32 0 store ptr %644, ptr %648, align 8 @@ -2334,490 +2330,556 @@ _llgo_41: ; preds = %_llgo_40 %650 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %647, i32 0, i32 2 store i64 2, ptr %650, align 4 %651 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %647, align 8 - %652 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %643, %"github.com/goplus/llgo/internal/runtime.Slice" %651, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %652) - store ptr %652, ptr @"_llgo_func$6bvVpCcGPUc3z_EmsQTHB0AVT1hP5-NNLVRgm43teCM", align 8 + %652 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %653 = getelementptr ptr, ptr %652, i64 0 + store ptr %640, ptr %653, align 8 + %654 = getelementptr ptr, ptr %652, i64 1 + store ptr %641, ptr %654, align 8 + %655 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %656 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %655, i32 0, i32 0 + store ptr %652, ptr %656, align 8 + %657 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %655, i32 0, i32 1 + store i64 2, ptr %657, align 4 + %658 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %655, i32 0, i32 2 + store i64 2, ptr %658, align 4 + %659 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %655, align 8 + %660 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %651, %"github.com/goplus/llgo/internal/runtime.Slice" %659, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %660) + store ptr %660, ptr @"_llgo_func$TY5Etv7VBKM_-2um1BDEeQEE2lP06Pt6G54EuKiNC3c", align 8 br label %_llgo_42 _llgo_42: ; preds = %_llgo_41, %_llgo_40 - %653 = load ptr, ptr @"_llgo_func$6bvVpCcGPUc3z_EmsQTHB0AVT1hP5-NNLVRgm43teCM", align 8 - %654 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %655 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %654, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %630, ptr %655, align 8 - %656 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %654, i32 0, i32 1 - store ptr %653, ptr %656, align 8 - %657 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %654, i32 0, i32 2 - store ptr @"main.(*stringReader).ReadByte", ptr %657, align 8 - %658 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %654, i32 0, i32 3 - store ptr @"main.(*stringReader).ReadByte", ptr %658, align 8 - %659 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %654, align 8 - %660 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %661 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %660, i32 0, i32 0 - store ptr @27, ptr %661, align 8 - %662 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %660, i32 0, i32 1 - store i64 8, ptr %662, align 4 - %663 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %660, align 8 - %664 = load ptr, ptr @_llgo_rune, align 8 - %665 = icmp eq ptr %664, null - br i1 %665, label %_llgo_43, label %_llgo_44 + %661 = load ptr, ptr @"_llgo_func$TY5Etv7VBKM_-2um1BDEeQEE2lP06Pt6G54EuKiNC3c", align 8 + %662 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %663 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %662, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %636, ptr %663, align 8 + %664 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %662, i32 0, i32 1 + store ptr %661, ptr %664, align 8 + %665 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %662, i32 0, i32 2 + store ptr @"main.(*stringReader).ReadAt", ptr %665, align 8 + %666 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %662, i32 0, i32 3 + store ptr @"main.(*stringReader).ReadAt", ptr %666, align 8 + %667 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %662, align 8 + %668 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %669 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %668, i32 0, i32 0 + store ptr @26, ptr %669, align 8 + %670 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %668, i32 0, i32 1 + store i64 8, ptr %670, align 4 + %671 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %668, align 8 + %672 = load ptr, ptr @_llgo_byte, align 8 + %673 = load ptr, ptr @_llgo_error, align 8 + %674 = load ptr, ptr @"_llgo_func$6bvVpCcGPUc3z_EmsQTHB0AVT1hP5-NNLVRgm43teCM", align 8 + %675 = icmp eq ptr %674, null + br i1 %675, label %_llgo_43, label %_llgo_44 _llgo_43: ; preds = %_llgo_42 - %666 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 37) - store ptr %666, ptr @_llgo_rune, align 8 + %676 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %677 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %678 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %677, i32 0, i32 0 + store ptr %676, ptr %678, align 8 + %679 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %677, i32 0, i32 1 + store i64 0, ptr %679, align 4 + %680 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %677, i32 0, i32 2 + store i64 0, ptr %680, align 4 + %681 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %677, align 8 + %682 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %683 = getelementptr ptr, ptr %682, i64 0 + store ptr %672, ptr %683, align 8 + %684 = getelementptr ptr, ptr %682, i64 1 + store ptr %673, ptr %684, align 8 + %685 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %686 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %685, i32 0, i32 0 + store ptr %682, ptr %686, align 8 + %687 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %685, i32 0, i32 1 + store i64 2, ptr %687, align 4 + %688 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %685, i32 0, i32 2 + store i64 2, ptr %688, align 4 + %689 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %685, align 8 + %690 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %681, %"github.com/goplus/llgo/internal/runtime.Slice" %689, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %690) + store ptr %690, ptr @"_llgo_func$6bvVpCcGPUc3z_EmsQTHB0AVT1hP5-NNLVRgm43teCM", align 8 br label %_llgo_44 _llgo_44: ; preds = %_llgo_43, %_llgo_42 - %667 = load ptr, ptr @_llgo_rune, align 8 - %668 = load ptr, ptr @_llgo_int, align 8 - %669 = load ptr, ptr @_llgo_error, align 8 - %670 = load ptr, ptr @"_llgo_func$CB0CO6hV_feSzhi4pz1P4omza2fKNK930wvOR1T33fU", align 8 - %671 = icmp eq ptr %670, null - br i1 %671, label %_llgo_45, label %_llgo_46 + %691 = load ptr, ptr @"_llgo_func$6bvVpCcGPUc3z_EmsQTHB0AVT1hP5-NNLVRgm43teCM", align 8 + %692 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %693 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %692, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %671, ptr %693, align 8 + %694 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %692, i32 0, i32 1 + store ptr %691, ptr %694, align 8 + %695 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %692, i32 0, i32 2 + store ptr @"main.(*stringReader).ReadByte", ptr %695, align 8 + %696 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %692, i32 0, i32 3 + store ptr @"main.(*stringReader).ReadByte", ptr %696, align 8 + %697 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %692, align 8 + %698 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %699 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %698, i32 0, i32 0 + store ptr @27, ptr %699, align 8 + %700 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %698, i32 0, i32 1 + store i64 8, ptr %700, align 4 + %701 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %698, align 8 + %702 = load ptr, ptr @_llgo_rune, align 8 + %703 = icmp eq ptr %702, null + br i1 %703, label %_llgo_45, label %_llgo_46 _llgo_45: ; preds = %_llgo_44 - %672 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %673 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %674 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %673, i32 0, i32 0 - store ptr %672, ptr %674, align 8 - %675 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %673, i32 0, i32 1 - store i64 0, ptr %675, align 4 - %676 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %673, i32 0, i32 2 - store i64 0, ptr %676, align 4 - %677 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %673, align 8 - %678 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %679 = getelementptr ptr, ptr %678, i64 0 - store ptr %667, ptr %679, align 8 - %680 = getelementptr ptr, ptr %678, i64 1 - store ptr %668, ptr %680, align 8 - %681 = getelementptr ptr, ptr %678, i64 2 - store ptr %669, ptr %681, align 8 - %682 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %683 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %682, i32 0, i32 0 - store ptr %678, ptr %683, align 8 - %684 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %682, i32 0, i32 1 - store i64 3, ptr %684, align 4 - %685 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %682, i32 0, i32 2 - store i64 3, ptr %685, align 4 - %686 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %682, align 8 - %687 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %677, %"github.com/goplus/llgo/internal/runtime.Slice" %686, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %687) - store ptr %687, ptr @"_llgo_func$CB0CO6hV_feSzhi4pz1P4omza2fKNK930wvOR1T33fU", align 8 + %704 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 37) + store ptr %704, ptr @_llgo_rune, align 8 br label %_llgo_46 _llgo_46: ; preds = %_llgo_45, %_llgo_44 - %688 = load ptr, ptr @"_llgo_func$CB0CO6hV_feSzhi4pz1P4omza2fKNK930wvOR1T33fU", align 8 - %689 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %690 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %689, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %663, ptr %690, align 8 - %691 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %689, i32 0, i32 1 - store ptr %688, ptr %691, align 8 - %692 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %689, i32 0, i32 2 - store ptr @"main.(*stringReader).ReadRune", ptr %692, align 8 - %693 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %689, i32 0, i32 3 - store ptr @"main.(*stringReader).ReadRune", ptr %693, align 8 - %694 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %689, align 8 - %695 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %696 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %695, i32 0, i32 0 - store ptr @28, ptr %696, align 8 - %697 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %695, i32 0, i32 1 - store i64 4, ptr %697, align 4 - %698 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %695, align 8 - %699 = load ptr, ptr @_llgo_int64, align 8 - %700 = load ptr, ptr @_llgo_int, align 8 - %701 = load ptr, ptr @_llgo_int64, align 8 - %702 = load ptr, ptr @_llgo_error, align 8 - %703 = load ptr, ptr @"_llgo_func$HE7H49xPa1uXmrkMDpqB3RCRGf3qzhLGrxKCEXOYjms", align 8 - %704 = icmp eq ptr %703, null - br i1 %704, label %_llgo_47, label %_llgo_48 + %705 = load ptr, ptr @_llgo_rune, align 8 + %706 = load ptr, ptr @_llgo_rune, align 8 + %707 = load ptr, ptr @_llgo_int, align 8 + %708 = load ptr, ptr @_llgo_error, align 8 + %709 = load ptr, ptr @"_llgo_func$CB0CO6hV_feSzhi4pz1P4omza2fKNK930wvOR1T33fU", align 8 + %710 = icmp eq ptr %709, null + br i1 %710, label %_llgo_47, label %_llgo_48 _llgo_47: ; preds = %_llgo_46 - %705 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %706 = getelementptr ptr, ptr %705, i64 0 - store ptr %699, ptr %706, align 8 - %707 = getelementptr ptr, ptr %705, i64 1 - store ptr %700, ptr %707, align 8 - %708 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %709 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %708, i32 0, i32 0 - store ptr %705, ptr %709, align 8 - %710 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %708, i32 0, i32 1 - store i64 2, ptr %710, align 4 - %711 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %708, i32 0, i32 2 - store i64 2, ptr %711, align 4 - %712 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %708, align 8 - %713 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %714 = getelementptr ptr, ptr %713, i64 0 - store ptr %701, ptr %714, align 8 - %715 = getelementptr ptr, ptr %713, i64 1 - store ptr %702, ptr %715, align 8 - %716 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %717 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %716, i32 0, i32 0 - store ptr %713, ptr %717, align 8 - %718 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %716, i32 0, i32 1 - store i64 2, ptr %718, align 4 - %719 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %716, i32 0, i32 2 - store i64 2, ptr %719, align 4 - %720 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %716, align 8 - %721 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %712, %"github.com/goplus/llgo/internal/runtime.Slice" %720, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %721) - store ptr %721, ptr @"_llgo_func$HE7H49xPa1uXmrkMDpqB3RCRGf3qzhLGrxKCEXOYjms", align 8 + %711 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %712 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %713 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %712, i32 0, i32 0 + store ptr %711, ptr %713, align 8 + %714 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %712, i32 0, i32 1 + store i64 0, ptr %714, align 4 + %715 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %712, i32 0, i32 2 + store i64 0, ptr %715, align 4 + %716 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %712, align 8 + %717 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %718 = getelementptr ptr, ptr %717, i64 0 + store ptr %706, ptr %718, align 8 + %719 = getelementptr ptr, ptr %717, i64 1 + store ptr %707, ptr %719, align 8 + %720 = getelementptr ptr, ptr %717, i64 2 + store ptr %708, ptr %720, align 8 + %721 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %722 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %721, i32 0, i32 0 + store ptr %717, ptr %722, align 8 + %723 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %721, i32 0, i32 1 + store i64 3, ptr %723, align 4 + %724 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %721, i32 0, i32 2 + store i64 3, ptr %724, align 4 + %725 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %721, align 8 + %726 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %716, %"github.com/goplus/llgo/internal/runtime.Slice" %725, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %726) + store ptr %726, ptr @"_llgo_func$CB0CO6hV_feSzhi4pz1P4omza2fKNK930wvOR1T33fU", align 8 br label %_llgo_48 _llgo_48: ; preds = %_llgo_47, %_llgo_46 - %722 = load ptr, ptr @"_llgo_func$HE7H49xPa1uXmrkMDpqB3RCRGf3qzhLGrxKCEXOYjms", align 8 - %723 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %724 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %723, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %698, ptr %724, align 8 - %725 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %723, i32 0, i32 1 - store ptr %722, ptr %725, align 8 - %726 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %723, i32 0, i32 2 - store ptr @"main.(*stringReader).Seek", ptr %726, align 8 - %727 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %723, i32 0, i32 3 - store ptr @"main.(*stringReader).Seek", ptr %727, align 8 - %728 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %723, align 8 - %729 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %730 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %729, i32 0, i32 0 - store ptr @29, ptr %730, align 8 - %731 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %729, i32 0, i32 1 - store i64 4, ptr %731, align 4 - %732 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %729, align 8 - %733 = load ptr, ptr @_llgo_int64, align 8 - %734 = load ptr, ptr @"_llgo_func$Eoig9xhJM5GShHH5aNPxTZZXp1IZxprRl4zPuv2hkug", align 8 - %735 = icmp eq ptr %734, null - br i1 %735, label %_llgo_49, label %_llgo_50 + %727 = load ptr, ptr @"_llgo_func$CB0CO6hV_feSzhi4pz1P4omza2fKNK930wvOR1T33fU", align 8 + %728 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %729 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %701, ptr %729, align 8 + %730 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i32 0, i32 1 + store ptr %727, ptr %730, align 8 + %731 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i32 0, i32 2 + store ptr @"main.(*stringReader).ReadRune", ptr %731, align 8 + %732 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %728, i32 0, i32 3 + store ptr @"main.(*stringReader).ReadRune", ptr %732, align 8 + %733 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %728, align 8 + %734 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %735 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %734, i32 0, i32 0 + store ptr @28, ptr %735, align 8 + %736 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %734, i32 0, i32 1 + store i64 4, ptr %736, align 4 + %737 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %734, align 8 + %738 = load ptr, ptr @_llgo_int64, align 8 + %739 = load ptr, ptr @_llgo_int, align 8 + %740 = load ptr, ptr @_llgo_int64, align 8 + %741 = load ptr, ptr @_llgo_error, align 8 + %742 = load ptr, ptr @"_llgo_func$HE7H49xPa1uXmrkMDpqB3RCRGf3qzhLGrxKCEXOYjms", align 8 + %743 = icmp eq ptr %742, null + br i1 %743, label %_llgo_49, label %_llgo_50 _llgo_49: ; preds = %_llgo_48 - %736 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %737 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %738 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %737, i32 0, i32 0 - store ptr %736, ptr %738, align 8 - %739 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %737, i32 0, i32 1 - store i64 0, ptr %739, align 4 - %740 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %737, i32 0, i32 2 - store i64 0, ptr %740, align 4 - %741 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %737, align 8 - %742 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %743 = getelementptr ptr, ptr %742, i64 0 - store ptr %733, ptr %743, align 8 - %744 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %745 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %744, i32 0, i32 0 - store ptr %742, ptr %745, align 8 - %746 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %744, i32 0, i32 1 - store i64 1, ptr %746, align 4 - %747 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %744, i32 0, i32 2 - store i64 1, ptr %747, align 4 - %748 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %744, align 8 - %749 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %741, %"github.com/goplus/llgo/internal/runtime.Slice" %748, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %749) - store ptr %749, ptr @"_llgo_func$Eoig9xhJM5GShHH5aNPxTZZXp1IZxprRl4zPuv2hkug", align 8 + %744 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %745 = getelementptr ptr, ptr %744, i64 0 + store ptr %738, ptr %745, align 8 + %746 = getelementptr ptr, ptr %744, i64 1 + store ptr %739, ptr %746, align 8 + %747 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %748 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %747, i32 0, i32 0 + store ptr %744, ptr %748, align 8 + %749 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %747, i32 0, i32 1 + store i64 2, ptr %749, align 4 + %750 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %747, i32 0, i32 2 + store i64 2, ptr %750, align 4 + %751 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %747, align 8 + %752 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %753 = getelementptr ptr, ptr %752, i64 0 + store ptr %740, ptr %753, align 8 + %754 = getelementptr ptr, ptr %752, i64 1 + store ptr %741, ptr %754, align 8 + %755 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %756 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %755, i32 0, i32 0 + store ptr %752, ptr %756, align 8 + %757 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %755, i32 0, i32 1 + store i64 2, ptr %757, align 4 + %758 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %755, i32 0, i32 2 + store i64 2, ptr %758, align 4 + %759 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %755, align 8 + %760 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %751, %"github.com/goplus/llgo/internal/runtime.Slice" %759, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %760) + store ptr %760, ptr @"_llgo_func$HE7H49xPa1uXmrkMDpqB3RCRGf3qzhLGrxKCEXOYjms", align 8 br label %_llgo_50 _llgo_50: ; preds = %_llgo_49, %_llgo_48 - %750 = load ptr, ptr @"_llgo_func$Eoig9xhJM5GShHH5aNPxTZZXp1IZxprRl4zPuv2hkug", align 8 - %751 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %752 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %751, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %732, ptr %752, align 8 - %753 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %751, i32 0, i32 1 - store ptr %750, ptr %753, align 8 - %754 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %751, i32 0, i32 2 - store ptr @"main.(*stringReader).Size", ptr %754, align 8 - %755 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %751, i32 0, i32 3 - store ptr @"main.(*stringReader).Size", ptr %755, align 8 - %756 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %751, align 8 - %757 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %758 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %757, i32 0, i32 0 - store ptr @30, ptr %758, align 8 - %759 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %757, i32 0, i32 1 - store i64 10, ptr %759, align 4 - %760 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %757, align 8 - %761 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 + %761 = load ptr, ptr @"_llgo_func$HE7H49xPa1uXmrkMDpqB3RCRGf3qzhLGrxKCEXOYjms", align 8 %762 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 %763 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %762, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %760, ptr %763, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" %737, ptr %763, align 8 %764 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %762, i32 0, i32 1 store ptr %761, ptr %764, align 8 %765 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %762, i32 0, i32 2 - store ptr @"main.(*stringReader).UnreadByte", ptr %765, align 8 + store ptr @"main.(*stringReader).Seek", ptr %765, align 8 %766 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %762, i32 0, i32 3 - store ptr @"main.(*stringReader).UnreadByte", ptr %766, align 8 + store ptr @"main.(*stringReader).Seek", ptr %766, align 8 %767 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %762, align 8 %768 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %769 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %768, i32 0, i32 0 - store ptr @31, ptr %769, align 8 + store ptr @29, ptr %769, align 8 %770 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %768, i32 0, i32 1 - store i64 10, ptr %770, align 4 + store i64 4, ptr %770, align 4 %771 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %768, align 8 - %772 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 - %773 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %774 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %773, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %771, ptr %774, align 8 - %775 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %773, i32 0, i32 1 - store ptr %772, ptr %775, align 8 - %776 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %773, i32 0, i32 2 - store ptr @"main.(*stringReader).UnreadRune", ptr %776, align 8 - %777 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %773, i32 0, i32 3 - store ptr @"main.(*stringReader).UnreadRune", ptr %777, align 8 - %778 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %773, align 8 - %779 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %780 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %779, i32 0, i32 0 - store ptr @5, ptr %780, align 8 - %781 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %779, i32 0, i32 1 - store i64 7, ptr %781, align 4 - %782 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %779, align 8 - %783 = load ptr, ptr @"_llgo_func$MrYxYl10p_I07B55pBsGw9la9zbzU2vGDPLWrT714Uk", align 8 - %784 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %785 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %784, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %782, ptr %785, align 8 - %786 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %784, i32 0, i32 1 - store ptr %783, ptr %786, align 8 - %787 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %784, i32 0, i32 2 - store ptr @"main.(*stringReader).WriteTo", ptr %787, align 8 - %788 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %784, i32 0, i32 3 - store ptr @"main.(*stringReader).WriteTo", ptr %788, align 8 - %789 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %784, align 8 - %790 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 400) - %791 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %790, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %581, ptr %791, align 8 - %792 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %790, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %592, ptr %792, align 8 - %793 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %790, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %626, ptr %793, align 8 - %794 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %790, i64 3 - store %"github.com/goplus/llgo/internal/abi.Method" %659, ptr %794, align 8 - %795 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %790, i64 4 - store %"github.com/goplus/llgo/internal/abi.Method" %694, ptr %795, align 8 - %796 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %790, i64 5 - store %"github.com/goplus/llgo/internal/abi.Method" %728, ptr %796, align 8 - %797 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %790, i64 6 - store %"github.com/goplus/llgo/internal/abi.Method" %756, ptr %797, align 8 - %798 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %790, i64 7 - store %"github.com/goplus/llgo/internal/abi.Method" %767, ptr %798, align 8 - %799 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %790, i64 8 - store %"github.com/goplus/llgo/internal/abi.Method" %778, ptr %799, align 8 - %800 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %790, i64 9 - store %"github.com/goplus/llgo/internal/abi.Method" %789, ptr %800, align 8 - %801 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %802 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %801, i32 0, i32 0 - store ptr %790, ptr %802, align 8 - %803 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %801, i32 0, i32 1 - store i64 10, ptr %803, align 4 - %804 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %801, i32 0, i32 2 - store i64 10, ptr %804, align 4 - %805 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %801, align 8 - %806 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %807 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %806, i32 0, i32 0 - store ptr @1, ptr %807, align 8 - %808 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %806, i32 0, i32 1 - store i64 4, ptr %808, align 4 - %809 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %806, align 8 - %810 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %811 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %810, i32 0, i32 0 - store ptr @32, ptr %811, align 8 - %812 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %810, i32 0, i32 1 - store i64 12, ptr %812, align 4 - %813 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %810, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %508, %"github.com/goplus/llgo/internal/runtime.String" %809, %"github.com/goplus/llgo/internal/runtime.String" %813, ptr %553, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %805) - %814 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %815 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %814, i32 0, i32 0 - store ptr @20, ptr %815, align 8 - %816 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %814, i32 0, i32 1 - store i64 17, ptr %816, align 4 - %817 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %814, align 8 - %818 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %817, i64 25, i64 32, i64 0, i64 10) - %819 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %818) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %819) - store ptr %819, ptr @"*_llgo_main.stringReader", align 8 - %820 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 - %821 = load ptr, ptr @"_llgo_iface$OFO8Us9n8ajWCabGedeuoJ-Za2zAMk4Jh0FunAcUCFE", align 8 - %822 = icmp eq ptr %821, null - br i1 %822, label %_llgo_51, label %_llgo_52 + %772 = load ptr, ptr @_llgo_int64, align 8 + %773 = load ptr, ptr @"_llgo_func$Eoig9xhJM5GShHH5aNPxTZZXp1IZxprRl4zPuv2hkug", align 8 + %774 = icmp eq ptr %773, null + br i1 %774, label %_llgo_51, label %_llgo_52 _llgo_51: ; preds = %_llgo_50 - %823 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %824 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %823, i32 0, i32 0 - store ptr @9, ptr %824, align 8 - %825 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %823, i32 0, i32 1 - store i64 4, ptr %825, align 4 - %826 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %823, align 8 - %827 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %828 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %827, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %826, ptr %828, align 8 - %829 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %827, i32 0, i32 1 - store ptr %820, ptr %829, align 8 - %830 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %827, align 8 - %831 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %832 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %831, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %830, ptr %832, align 8 - %833 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %834 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %833, i32 0, i32 0 - store ptr %831, ptr %834, align 8 - %835 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %833, i32 0, i32 1 - store i64 1, ptr %835, align 4 - %836 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %833, i32 0, i32 2 - store i64 1, ptr %836, align 4 - %837 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %833, align 8 - %838 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %839 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %838, i32 0, i32 0 - store ptr @1, ptr %839, align 8 - %840 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %838, i32 0, i32 1 - store i64 4, ptr %840, align 4 - %841 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %838, align 8 - %842 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %843 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %842, i32 0, i32 0 - store ptr null, ptr %843, align 8 - %844 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %842, i32 0, i32 1 - store i64 0, ptr %844, align 4 - %845 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %842, align 8 - %846 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %841, %"github.com/goplus/llgo/internal/runtime.String" %845, %"github.com/goplus/llgo/internal/runtime.Slice" %837) - store ptr %846, ptr @"_llgo_iface$OFO8Us9n8ajWCabGedeuoJ-Za2zAMk4Jh0FunAcUCFE", align 8 + %775 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %776 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %777 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %776, i32 0, i32 0 + store ptr %775, ptr %777, align 8 + %778 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %776, i32 0, i32 1 + store i64 0, ptr %778, align 4 + %779 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %776, i32 0, i32 2 + store i64 0, ptr %779, align 4 + %780 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %776, align 8 + %781 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %782 = getelementptr ptr, ptr %781, i64 0 + store ptr %772, ptr %782, align 8 + %783 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %784 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %783, i32 0, i32 0 + store ptr %781, ptr %784, align 8 + %785 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %783, i32 0, i32 1 + store i64 1, ptr %785, align 4 + %786 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %783, i32 0, i32 2 + store i64 1, ptr %786, align 4 + %787 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %783, align 8 + %788 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %780, %"github.com/goplus/llgo/internal/runtime.Slice" %787, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %788) + store ptr %788, ptr @"_llgo_func$Eoig9xhJM5GShHH5aNPxTZZXp1IZxprRl4zPuv2hkug", align 8 br label %_llgo_52 _llgo_52: ; preds = %_llgo_51, %_llgo_50 - %847 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %848 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %847, i32 0, i32 0 - store ptr @33, ptr %848, align 8 - %849 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %847, i32 0, i32 1 - store i64 16, ptr %849, align 4 - %850 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %847, align 8 - %851 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %850, i64 25, i64 16, i64 0, i64 1) - store ptr %851, ptr @_llgo_main.errorString, align 8 - %852 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %853 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %852, i32 0, i32 0 - store ptr @21, ptr %853, align 8 - %854 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %852, i32 0, i32 1 - store i64 1, ptr %854, align 4 - %855 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %852, align 8 - %856 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %857 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %856, i32 0, i32 0 - store ptr null, ptr %857, align 8 - %858 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %856, i32 0, i32 1 - store i64 0, ptr %858, align 4 - %859 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %856, align 8 - %860 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %861 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %855, ptr %860, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %859, i1 false) + %789 = load ptr, ptr @"_llgo_func$Eoig9xhJM5GShHH5aNPxTZZXp1IZxprRl4zPuv2hkug", align 8 + %790 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %791 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %790, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %771, ptr %791, align 8 + %792 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %790, i32 0, i32 1 + store ptr %789, ptr %792, align 8 + %793 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %790, i32 0, i32 2 + store ptr @"main.(*stringReader).Size", ptr %793, align 8 + %794 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %790, i32 0, i32 3 + store ptr @"main.(*stringReader).Size", ptr %794, align 8 + %795 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %790, align 8 + %796 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %797 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %796, i32 0, i32 0 + store ptr @30, ptr %797, align 8 + %798 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %796, i32 0, i32 1 + store i64 10, ptr %798, align 4 + %799 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %796, align 8 + %800 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 + %801 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %802 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %801, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %799, ptr %802, align 8 + %803 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %801, i32 0, i32 1 + store ptr %800, ptr %803, align 8 + %804 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %801, i32 0, i32 2 + store ptr @"main.(*stringReader).UnreadByte", ptr %804, align 8 + %805 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %801, i32 0, i32 3 + store ptr @"main.(*stringReader).UnreadByte", ptr %805, align 8 + %806 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %801, align 8 + %807 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %808 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %807, i32 0, i32 0 + store ptr @31, ptr %808, align 8 + %809 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %807, i32 0, i32 1 + store i64 10, ptr %809, align 4 + %810 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %807, align 8 + %811 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 + %812 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %813 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %812, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %810, ptr %813, align 8 + %814 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %812, i32 0, i32 1 + store ptr %811, ptr %814, align 8 + %815 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %812, i32 0, i32 2 + store ptr @"main.(*stringReader).UnreadRune", ptr %815, align 8 + %816 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %812, i32 0, i32 3 + store ptr @"main.(*stringReader).UnreadRune", ptr %816, align 8 + %817 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %812, align 8 + %818 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %819 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %818, i32 0, i32 0 + store ptr @5, ptr %819, align 8 + %820 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %818, i32 0, i32 1 + store i64 7, ptr %820, align 4 + %821 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %818, align 8 + %822 = load ptr, ptr @"_llgo_func$MrYxYl10p_I07B55pBsGw9la9zbzU2vGDPLWrT714Uk", align 8 + %823 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %824 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %823, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %821, ptr %824, align 8 + %825 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %823, i32 0, i32 1 + store ptr %822, ptr %825, align 8 + %826 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %823, i32 0, i32 2 + store ptr @"main.(*stringReader).WriteTo", ptr %826, align 8 + %827 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %823, i32 0, i32 3 + store ptr @"main.(*stringReader).WriteTo", ptr %827, align 8 + %828 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %823, align 8 + %829 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 400) + %830 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %829, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %620, ptr %830, align 8 + %831 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %829, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %632, ptr %831, align 8 + %832 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %829, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %667, ptr %832, align 8 + %833 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %829, i64 3 + store %"github.com/goplus/llgo/internal/abi.Method" %697, ptr %833, align 8 + %834 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %829, i64 4 + store %"github.com/goplus/llgo/internal/abi.Method" %733, ptr %834, align 8 + %835 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %829, i64 5 + store %"github.com/goplus/llgo/internal/abi.Method" %767, ptr %835, align 8 + %836 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %829, i64 6 + store %"github.com/goplus/llgo/internal/abi.Method" %795, ptr %836, align 8 + %837 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %829, i64 7 + store %"github.com/goplus/llgo/internal/abi.Method" %806, ptr %837, align 8 + %838 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %829, i64 8 + store %"github.com/goplus/llgo/internal/abi.Method" %817, ptr %838, align 8 + %839 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %829, i64 9 + store %"github.com/goplus/llgo/internal/abi.Method" %828, ptr %839, align 8 + %840 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %841 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %840, i32 0, i32 0 + store ptr %829, ptr %841, align 8 + %842 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %840, i32 0, i32 1 + store i64 10, ptr %842, align 4 + %843 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %840, i32 0, i32 2 + store i64 10, ptr %843, align 4 + %844 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %840, align 8 + %845 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %846 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %845, i32 0, i32 0 + store ptr @1, ptr %846, align 8 + %847 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %845, i32 0, i32 1 + store i64 4, ptr %847, align 4 + %848 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %845, align 8 + %849 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %850 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %849, i32 0, i32 0 + store ptr @32, ptr %850, align 8 + %851 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %849, i32 0, i32 1 + store i64 12, ptr %851, align 4 + %852 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %849, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %547, %"github.com/goplus/llgo/internal/runtime.String" %848, %"github.com/goplus/llgo/internal/runtime.String" %852, ptr %592, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %844) + %853 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %854 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %853, i32 0, i32 0 + store ptr @20, ptr %854, align 8 + %855 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %853, i32 0, i32 1 + store i64 17, ptr %855, align 4 + %856 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %853, align 8 + %857 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %856, i64 25, i64 32, i64 0, i64 10) + %858 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %857) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %858) + store ptr %858, ptr @"*_llgo_main.stringReader", align 8 + %859 = load ptr, ptr @"_llgo_func$06yPPin-fnDnxFKkLLcJ1GEUhIobjPimde7T_Id_hmY", align 8 + %860 = load ptr, ptr @"_llgo_iface$OFO8Us9n8ajWCabGedeuoJ-Za2zAMk4Jh0FunAcUCFE", align 8 + %861 = icmp eq ptr %860, null + br i1 %861, label %_llgo_53, label %_llgo_54 + +_llgo_53: ; preds = %_llgo_52 %862 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %863 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %862, i32 0, i32 0 - store ptr @1, ptr %863, align 8 + store ptr @8, ptr %863, align 8 %864 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %862, i32 0, i32 1 store i64 4, ptr %864, align 4 %865 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %862, align 8 - %866 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) - %867 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %866, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %861, ptr %867, align 8 - %868 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %869 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %868, i32 0, i32 0 - store ptr %866, ptr %869, align 8 - %870 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %868, i32 0, i32 1 - store i64 1, ptr %870, align 4 - %871 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %868, i32 0, i32 2 - store i64 1, ptr %871, align 4 - %872 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %868, align 8 - %873 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %865, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %872) - store ptr %873, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 - %874 = load ptr, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 - %875 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %876 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %875, i32 0, i32 0 - store ptr @0, ptr %876, align 8 - %877 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %875, i32 0, i32 1 - store i64 5, ptr %877, align 4 - %878 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %875, align 8 - %879 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %880 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %881 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %880, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %878, ptr %881, align 8 - %882 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %880, i32 0, i32 1 - store ptr %879, ptr %882, align 8 - %883 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %880, i32 0, i32 2 - store ptr @"main.(*errorString).Error", ptr %883, align 8 - %884 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %880, i32 0, i32 3 - store ptr @"main.(*errorString).Error", ptr %884, align 8 - %885 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %880, align 8 - %886 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %887 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %886, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %885, ptr %887, align 8 - %888 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %889 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %888, i32 0, i32 0 - store ptr %886, ptr %889, align 8 - %890 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %888, i32 0, i32 1 - store i64 1, ptr %890, align 4 - %891 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %888, i32 0, i32 2 - store i64 1, ptr %891, align 4 - %892 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %888, align 8 - %893 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %894 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %893, i32 0, i32 0 - store ptr @1, ptr %894, align 8 - %895 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %893, i32 0, i32 1 - store i64 4, ptr %895, align 4 - %896 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %893, align 8 - %897 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %898 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %897, i32 0, i32 0 - store ptr @34, ptr %898, align 8 - %899 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %897, i32 0, i32 1 - store i64 11, ptr %899, align 4 - %900 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %897, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %851, %"github.com/goplus/llgo/internal/runtime.String" %896, %"github.com/goplus/llgo/internal/runtime.String" %900, ptr %874, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %892) - %901 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %902 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %901, i32 0, i32 0 - store ptr @33, ptr %902, align 8 - %903 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %901, i32 0, i32 1 - store i64 16, ptr %903, align 4 - %904 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %901, align 8 - %905 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %904, i64 25, i64 16, i64 0, i64 1) - %906 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %905) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %906) - store ptr %906, ptr @"*_llgo_main.errorString", align 8 - %907 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %908 = load ptr, ptr @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU", align 8 - %909 = icmp eq ptr %908, null - br i1 %909, label %_llgo_53, label %_llgo_54 - -_llgo_53: ; preds = %_llgo_52 - %910 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %911 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %910, i32 0, i32 0 - store ptr @0, ptr %911, align 8 - %912 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %910, i32 0, i32 1 - store i64 5, ptr %912, align 4 - %913 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %910, align 8 - %914 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %915 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %914, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %913, ptr %915, align 8 - %916 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %914, i32 0, i32 1 - store ptr %907, ptr %916, align 8 - %917 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %914, align 8 - %918 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %919 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %918, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %917, ptr %919, align 8 - %920 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %921 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %920, i32 0, i32 0 - store ptr %918, ptr %921, align 8 - %922 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %920, i32 0, i32 1 - store i64 1, ptr %922, align 4 - %923 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %920, i32 0, i32 2 - store i64 1, ptr %923, align 4 - %924 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %920, align 8 - %925 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %926 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %925, i32 0, i32 0 - store ptr @1, ptr %926, align 8 - %927 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %925, i32 0, i32 1 - store i64 4, ptr %927, align 4 - %928 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %925, align 8 - %929 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %930 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %929, i32 0, i32 0 - store ptr null, ptr %930, align 8 - %931 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %929, i32 0, i32 1 - store i64 0, ptr %931, align 4 - %932 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %929, align 8 - %933 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %928, %"github.com/goplus/llgo/internal/runtime.String" %932, %"github.com/goplus/llgo/internal/runtime.Slice" %924) - store ptr %933, ptr @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU", align 8 + %866 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %867 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %866, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %865, ptr %867, align 8 + %868 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %866, i32 0, i32 1 + store ptr %859, ptr %868, align 8 + %869 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %866, align 8 + %870 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %871 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %870, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %869, ptr %871, align 8 + %872 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %873 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %872, i32 0, i32 0 + store ptr %870, ptr %873, align 8 + %874 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %872, i32 0, i32 1 + store i64 1, ptr %874, align 4 + %875 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %872, i32 0, i32 2 + store i64 1, ptr %875, align 4 + %876 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %872, align 8 + %877 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %878 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %877, i32 0, i32 0 + store ptr @1, ptr %878, align 8 + %879 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %877, i32 0, i32 1 + store i64 4, ptr %879, align 4 + %880 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %877, align 8 + %881 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %882 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %881, i32 0, i32 0 + store ptr null, ptr %882, align 8 + %883 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %881, i32 0, i32 1 + store i64 0, ptr %883, align 4 + %884 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %881, align 8 + %885 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %880, %"github.com/goplus/llgo/internal/runtime.String" %884, %"github.com/goplus/llgo/internal/runtime.Slice" %876) + store ptr %885, ptr @"_llgo_iface$OFO8Us9n8ajWCabGedeuoJ-Za2zAMk4Jh0FunAcUCFE", align 8 br label %_llgo_54 _llgo_54: ; preds = %_llgo_53, %_llgo_52 + %886 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %887 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %886, i32 0, i32 0 + store ptr @33, ptr %887, align 8 + %888 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %886, i32 0, i32 1 + store i64 16, ptr %888, align 4 + %889 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %886, align 8 + %890 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %889, i64 25, i64 16, i64 0, i64 1) + store ptr %890, ptr @_llgo_main.errorString, align 8 + %891 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %892 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %891, i32 0, i32 0 + store ptr @21, ptr %892, align 8 + %893 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %891, i32 0, i32 1 + store i64 1, ptr %893, align 4 + %894 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %891, align 8 + %895 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %896 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %895, i32 0, i32 0 + store ptr null, ptr %896, align 8 + %897 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %895, i32 0, i32 1 + store i64 0, ptr %897, align 4 + %898 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %895, align 8 + %899 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %900 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %894, ptr %899, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %898, i1 false) + %901 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %902 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %901, i32 0, i32 0 + store ptr @1, ptr %902, align 8 + %903 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %901, i32 0, i32 1 + store i64 4, ptr %903, align 4 + %904 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %901, align 8 + %905 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) + %906 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %905, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %900, ptr %906, align 8 + %907 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %908 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %907, i32 0, i32 0 + store ptr %905, ptr %908, align 8 + %909 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %907, i32 0, i32 1 + store i64 1, ptr %909, align 4 + %910 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %907, i32 0, i32 2 + store i64 1, ptr %910, align 4 + %911 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %907, align 8 + %912 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %904, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %911) + store ptr %912, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 + %913 = load ptr, ptr @"main.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ", align 8 + %914 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %915 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %914, i32 0, i32 0 + store ptr @0, ptr %915, align 8 + %916 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %914, i32 0, i32 1 + store i64 5, ptr %916, align 4 + %917 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %914, align 8 + %918 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %919 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %920 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %919, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %917, ptr %920, align 8 + %921 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %919, i32 0, i32 1 + store ptr %918, ptr %921, align 8 + %922 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %919, i32 0, i32 2 + store ptr @"main.(*errorString).Error", ptr %922, align 8 + %923 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %919, i32 0, i32 3 + store ptr @"main.(*errorString).Error", ptr %923, align 8 + %924 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %919, align 8 + %925 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %926 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %925, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %924, ptr %926, align 8 + %927 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %928 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %927, i32 0, i32 0 + store ptr %925, ptr %928, align 8 + %929 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %927, i32 0, i32 1 + store i64 1, ptr %929, align 4 + %930 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %927, i32 0, i32 2 + store i64 1, ptr %930, align 4 + %931 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %927, align 8 + %932 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %933 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %932, i32 0, i32 0 + store ptr @1, ptr %933, align 8 + %934 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %932, i32 0, i32 1 + store i64 4, ptr %934, align 4 + %935 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %932, align 8 + %936 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %937 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %936, i32 0, i32 0 + store ptr @34, ptr %937, align 8 + %938 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %936, i32 0, i32 1 + store i64 11, ptr %938, align 4 + %939 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %936, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %890, %"github.com/goplus/llgo/internal/runtime.String" %935, %"github.com/goplus/llgo/internal/runtime.String" %939, ptr %913, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %931) + %940 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %941 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %940, i32 0, i32 0 + store ptr @33, ptr %941, align 8 + %942 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %940, i32 0, i32 1 + store i64 16, ptr %942, align 4 + %943 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %940, align 8 + %944 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %943, i64 25, i64 16, i64 0, i64 1) + %945 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %944) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %945) + store ptr %945, ptr @"*_llgo_main.errorString", align 8 + %946 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %947 = load ptr, ptr @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU", align 8 + %948 = icmp eq ptr %947, null + br i1 %948, label %_llgo_55, label %_llgo_56 + +_llgo_55: ; preds = %_llgo_54 + %949 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %950 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %949, i32 0, i32 0 + store ptr @0, ptr %950, align 8 + %951 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %949, i32 0, i32 1 + store i64 5, ptr %951, align 4 + %952 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %949, align 8 + %953 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %954 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %953, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %952, ptr %954, align 8 + %955 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %953, i32 0, i32 1 + store ptr %946, ptr %955, align 8 + %956 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %953, align 8 + %957 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %958 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %957, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %956, ptr %958, align 8 + %959 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %960 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %959, i32 0, i32 0 + store ptr %957, ptr %960, align 8 + %961 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %959, i32 0, i32 1 + store i64 1, ptr %961, align 4 + %962 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %959, i32 0, i32 2 + store i64 1, ptr %962, align 4 + %963 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %959, align 8 + %964 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %965 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %964, i32 0, i32 0 + store ptr @1, ptr %965, align 8 + %966 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %964, i32 0, i32 1 + store i64 4, ptr %966, align 4 + %967 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %964, align 8 + %968 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %969 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %968, i32 0, i32 0 + store ptr null, ptr %969, align 8 + %970 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %968, i32 0, i32 1 + store i64 0, ptr %970, align 4 + %971 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %968, align 8 + %972 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %967, %"github.com/goplus/llgo/internal/runtime.String" %971, %"github.com/goplus/llgo/internal/runtime.Slice" %963) + store ptr %972, ptr @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU", align 8 + br label %_llgo_56 + +_llgo_56: ; preds = %_llgo_55, %_llgo_54 ret void } -declare ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr) - declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64) +declare ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(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) diff --git a/cl/_testgo/strucintf/out.ll b/cl/_testgo/strucintf/out.ll index ad785486..69a62edc 100644 --- a/cl/_testgo/strucintf/out.ll +++ b/cl/_testgo/strucintf/out.ll @@ -7,6 +7,7 @@ source_filename = "main" %"github.com/goplus/llgo/internal/runtime.Slice" = type { ptr, i64, i64 } @"main.init$guard" = global i1 false, align 1 +@_llgo_int = linkonce global ptr null, align 8 @"main.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88" = linkonce global ptr null, align 8 @0 = private unnamed_addr constant [1 x i8] c"v", align 1 @1 = private unnamed_addr constant [4 x i8] c"main", align 1 @@ -25,16 +26,17 @@ _llgo_0: %1 = getelementptr inbounds { i64 }, ptr %0, i32 0, i32 0 store i64 1, ptr %1, align 4 %2 = load { i64 }, ptr %0, align 4 - %3 = load ptr, ptr @"main.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88", align 8 - %4 = extractvalue { i64 } %2, 0 - %5 = inttoptr i64 %4 to ptr - %6 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %7 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %6, i32 0, i32 0 - store ptr %3, ptr %7, align 8 - %8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %6, i32 0, i32 1 - store ptr %5, ptr %8, align 8 - %9 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %6, align 8 - ret %"github.com/goplus/llgo/internal/runtime.eface" %9 + %3 = load ptr, ptr @_llgo_int, align 8 + %4 = load ptr, ptr @"main.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88", align 8 + %5 = extractvalue { i64 } %2, 0 + %6 = inttoptr i64 %5 to ptr + %7 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %7, i32 0, i32 0 + store ptr %4, ptr %8, align 8 + %9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %7, i32 0, i32 1 + store ptr %6, ptr %9, align 8 + %10 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %7, align 8 + ret %"github.com/goplus/llgo/internal/runtime.eface" %10 } define void @main.init() { @@ -240,89 +242,99 @@ declare void @llvm.memset(ptr nocapture writeonly, i8, i64, i1 immarg) #0 define void @"main.init$after"() { _llgo_0: - %0 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %0, i32 0, i32 0 - store ptr @0, ptr %1, align 8 - %2 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %0, i32 0, i32 1 - store i64 1, ptr %2, align 4 - %3 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %0, align 8 - %4 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %5 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %4, i32 0, i32 0 - store ptr null, ptr %5, align 8 - %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %4, i32 0, i32 1 - store i64 0, ptr %6, align 4 - %7 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %4, align 8 - %8 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %9 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %3, ptr %8, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %7, i1 false) - %10 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %11 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %10, i32 0, i32 0 - store ptr @1, ptr %11, align 8 - %12 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %10, i32 0, i32 1 - store i64 4, ptr %12, align 4 - %13 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %10, align 8 - %14 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) - %15 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %14, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %9, ptr %15, align 8 - %16 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %17 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %16, i32 0, i32 0 - store ptr %14, ptr %17, align 8 - %18 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %16, i32 0, i32 1 - store i64 1, ptr %18, align 4 - %19 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %16, i32 0, i32 2 - store i64 1, ptr %19, align 4 - %20 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %16, align 8 - %21 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %13, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %20) - store ptr %21, ptr @"main.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88", align 8 - %22 = load ptr, ptr @"_llgo_struct$K-dZ9QotZfVPz2a0YdRa9vmZUuDXPTqZOlMShKEDJtk", align 8 - %23 = icmp eq ptr %22, null - br i1 %23, label %_llgo_1, label %_llgo_2 + %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 - %24 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %25 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %24, i32 0, i32 0 - store ptr @3, ptr %25, align 8 - %26 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %24, i32 0, i32 1 - store i64 1, ptr %26, align 4 - %27 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %24, align 8 - %28 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %29 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %28, i32 0, i32 0 - store ptr null, ptr %29, align 8 - %30 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %28, i32 0, i32 1 - store i64 0, ptr %30, align 4 - %31 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %28, align 8 - %32 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %33 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %27, ptr %32, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %31, i1 false) - %34 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %35 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %34, i32 0, i32 0 - store ptr @1, ptr %35, align 8 - %36 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %34, i32 0, i32 1 - store i64 4, ptr %36, align 4 - %37 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %34, align 8 - %38 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) - %39 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %38, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %33, ptr %39, align 8 - %40 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %41 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %40, i32 0, i32 0 - store ptr %38, ptr %41, align 8 - %42 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %40, i32 0, i32 1 - store i64 1, ptr %42, align 4 - %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %40, i32 0, i32 2 - store i64 1, ptr %43, align 4 - %44 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %40, align 8 - %45 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %37, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %44) - store ptr %45, ptr @"_llgo_struct$K-dZ9QotZfVPz2a0YdRa9vmZUuDXPTqZOlMShKEDJtk", 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 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %4 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3, i32 0, i32 0 + store ptr @0, ptr %4, align 8 + %5 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3, i32 0, i32 1 + store i64 1, ptr %5, align 4 + %6 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3, align 8 + %7 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %7, i32 0, i32 0 + store ptr null, ptr %8, align 8 + %9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %7, i32 0, i32 1 + store i64 0, ptr %9, align 4 + %10 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %7, align 8 + %11 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %12 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %6, ptr %11, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %10, i1 false) + %13 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %14 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %13, i32 0, i32 0 + store ptr @1, ptr %14, align 8 + %15 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %13, i32 0, i32 1 + store i64 4, ptr %15, align 4 + %16 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %13, align 8 + %17 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) + %18 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %17, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %12, ptr %18, align 8 + %19 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %20 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %19, i32 0, i32 0 + store ptr %17, ptr %20, align 8 + %21 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %19, i32 0, i32 1 + store i64 1, ptr %21, align 4 + %22 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %19, i32 0, i32 2 + store i64 1, ptr %22, align 4 + %23 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %19, align 8 + %24 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %16, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %23) + store ptr %24, ptr @"main.struct$MYpsoM99ZwFY087IpUOkIw1zjBA_sgFXVodmn1m-G88", align 8 + %25 = load ptr, ptr @"_llgo_struct$K-dZ9QotZfVPz2a0YdRa9vmZUuDXPTqZOlMShKEDJtk", align 8 + %26 = icmp eq ptr %25, null + br i1 %26, label %_llgo_3, label %_llgo_4 + +_llgo_3: ; preds = %_llgo_2 + %27 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %28 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %27, i32 0, i32 0 + store ptr @3, ptr %28, align 8 + %29 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %27, i32 0, i32 1 + store i64 1, ptr %29, align 4 + %30 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %27, align 8 + %31 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %32 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %31, i32 0, i32 0 + store ptr null, ptr %32, align 8 + %33 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %31, i32 0, i32 1 + store i64 0, ptr %33, align 4 + %34 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %31, align 8 + %35 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %36 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %30, ptr %35, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %34, i1 false) + %37 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %38 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %37, i32 0, i32 0 + store ptr @1, ptr %38, align 8 + %39 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %37, i32 0, i32 1 + store i64 4, ptr %39, align 4 + %40 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %37, align 8 + %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" %36, ptr %42, align 8 + %43 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %44 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %43, i32 0, i32 0 + store ptr %41, ptr %44, align 8 + %45 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %43, i32 0, i32 1 + store i64 1, ptr %45, align 4 + %46 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %43, i32 0, i32 2 + store i64 1, ptr %46, align 4 + %47 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %43, align 8 + %48 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %40, i64 8, %"github.com/goplus/llgo/internal/runtime.Slice" %47) + store ptr %48, ptr @"_llgo_struct$K-dZ9QotZfVPz2a0YdRa9vmZUuDXPTqZOlMShKEDJtk", align 8 + br label %_llgo_4 + +_llgo_4: ; preds = %_llgo_3, %_llgo_2 ret void } +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) -declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64) - declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64) declare void @"github.com/goplus/llgo/cl/internal/foo.init"() diff --git a/cl/_testgo/struczero/out.ll b/cl/_testgo/struczero/out.ll index e2368c17..ddbe22e1 100644 --- a/cl/_testgo/struczero/out.ll +++ b/cl/_testgo/struczero/out.ll @@ -12,14 +12,15 @@ source_filename = "main" @"main.init$guard" = global i1 false, align 1 @"_llgo_github.com/goplus/llgo/cl/internal/foo.Foo" = linkonce global ptr null, align 8 @0 = private unnamed_addr constant [42 x i8] c"github.com/goplus/llgo/cl/internal/foo.Foo", align 1 +@_llgo_byte = linkonce global ptr null, align 8 +@"*_llgo_byte" = linkonce global ptr null, align 8 +@_llgo_float32 = linkonce global ptr null, align 8 @"main.struct$qQwZyFy_4JRalRxVVsVD8R09X5t58tWjTrtJPtHbEjs" = linkonce global ptr null, align 8 @1 = private unnamed_addr constant [2 x i8] c"pb", align 1 @2 = private unnamed_addr constant [1 x i8] c"F", align 1 @3 = private unnamed_addr constant [4 x i8] c"main", align 1 @4 = private unnamed_addr constant [2 x i8] c"Pb", align 1 @"_llgo_func$NfGSLZ1QiKRoFkKeqYSXE5hUU5bpeteSJKrbMNUzYRE" = linkonce global ptr null, align 8 -@_llgo_byte = linkonce global ptr null, align 8 -@"*_llgo_byte" = linkonce global ptr null, align 8 @5 = private unnamed_addr constant [38 x i8] c"github.com/goplus/llgo/cl/internal/foo", align 1 @6 = private unnamed_addr constant [3 x i8] c"Foo", align 1 @_llgo_main.bar = linkonce global ptr null, align 8 @@ -205,270 +206,285 @@ _llgo_1: ; preds = %_llgo_0 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 - %7 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %7, i32 0, i32 0 - store ptr @1, ptr %8, align 8 - %9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %7, i32 0, i32 1 - store i64 2, ptr %9, align 4 - %10 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %7, align 8 - %11 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %12 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %11, i32 0, i32 0 - store ptr null, ptr %12, align 8 - %13 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %11, i32 0, i32 1 - store i64 0, ptr %13, align 4 - %14 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %11, align 8 - %15 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %16 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %15) - %17 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %10, ptr %16, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %14, i1 false) - %18 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %19 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %18, i32 0, i32 0 - store ptr @2, ptr %19, align 8 - %20 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %18, i32 0, i32 1 - store i64 1, ptr %20, align 4 - %21 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %18, align 8 - %22 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %23 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %22, i32 0, i32 0 - store ptr null, ptr %23, align 8 - %24 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %22, i32 0, i32 1 - store i64 0, ptr %24, align 4 - %25 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %22, align 8 - %26 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 45) - %27 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %21, ptr %26, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %25, i1 false) - %28 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %29 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %28, i32 0, i32 0 - store ptr @3, ptr %29, align 8 - %30 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %28, i32 0, i32 1 - store i64 4, ptr %30, align 4 - %31 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %28, align 8 - %32 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %33 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %32, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %17, ptr %33, align 8 - %34 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %32, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %27, ptr %34, align 8 - %35 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %36 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %35, i32 0, i32 0 - store ptr %32, ptr %36, align 8 - %37 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %35, i32 0, i32 1 - store i64 2, ptr %37, align 4 - %38 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %35, i32 0, i32 2 - store i64 2, ptr %38, align 4 - %39 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %35, align 8 - %40 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %31, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %39) - store ptr %40, ptr @"main.struct$qQwZyFy_4JRalRxVVsVD8R09X5t58tWjTrtJPtHbEjs", align 8 - %41 = load ptr, ptr @"main.struct$qQwZyFy_4JRalRxVVsVD8R09X5t58tWjTrtJPtHbEjs", align 8 - br i1 %6, label %_llgo_3, label %_llgo_4 + %7 = load ptr, ptr @_llgo_byte, align 8 + %8 = icmp eq ptr %7, null + br i1 %8, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 - %42 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %42, i32 0, i32 0 - store ptr @4, ptr %43, align 8 - %44 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %42, i32 0, i32 1 - store i64 2, ptr %44, align 4 - %45 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %42, align 8 - %46 = load ptr, ptr @_llgo_byte, align 8 - %47 = icmp eq ptr %46, null - br i1 %47, label %_llgo_5, label %_llgo_6 + %9 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + store ptr %9, ptr @_llgo_byte, align 8 + br label %_llgo_4 -_llgo_4: ; preds = %_llgo_10, %_llgo_2 - %48 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %49 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %48, i32 0, i32 0 - store ptr @7, ptr %49, align 8 - %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %48, i32 0, i32 1 - store i64 8, ptr %50, align 4 - %51 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %48, align 8 - %52 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %51, i64 25, i64 16, i64 0, i64 0) - store ptr %52, ptr @_llgo_main.bar, align 8 - %53 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %54 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %53, i32 0, i32 0 - store ptr @1, ptr %54, align 8 - %55 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %53, i32 0, i32 1 - store i64 2, ptr %55, align 4 - %56 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %53, align 8 - %57 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %58 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %57, i32 0, i32 0 - store ptr null, ptr %58, align 8 - %59 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %57, i32 0, i32 1 - store i64 0, ptr %59, align 4 - %60 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %57, align 8 - %61 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %62 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %61) - %63 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %56, ptr %62, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %60, i1 false) - %64 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %65 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %64, i32 0, i32 0 - store ptr @8, ptr %65, align 8 - %66 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %64, i32 0, i32 1 - store i64 1, ptr %66, align 4 - %67 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %64, align 8 - %68 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %69 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %68, i32 0, i32 0 - store ptr null, ptr %69, align 8 - %70 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %68, i32 0, i32 1 - store i64 0, ptr %70, align 4 - %71 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %68, align 8 - %72 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 45) - %73 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %67, ptr %72, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %71, i1 false) - %74 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %75 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %74, i32 0, i32 0 - store ptr @3, ptr %75, align 8 - %76 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %74, i32 0, i32 1 - store i64 4, ptr %76, align 4 - %77 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %74, align 8 - %78 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %79 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %78, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %63, ptr %79, align 8 - %80 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %78, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %73, ptr %80, align 8 - %81 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %82 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %81, i32 0, i32 0 - store ptr %78, ptr %82, align 8 - %83 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %81, i32 0, i32 1 - store i64 2, ptr %83, align 4 - %84 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %81, i32 0, i32 2 - store i64 2, ptr %84, align 4 - %85 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %81, align 8 - %86 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %77, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %85) - store ptr %86, ptr @"main.struct$Ci43nzKYkRLddRL_N4mkykxLXfJlqJGS5n04LKThPNo", align 8 - %87 = load ptr, ptr @"main.struct$Ci43nzKYkRLddRL_N4mkykxLXfJlqJGS5n04LKThPNo", align 8 - %88 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %89 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %88, i32 0, i32 0 - store ptr @3, ptr %89, align 8 - %90 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %88, i32 0, i32 1 - store i64 4, ptr %90, align 4 - %91 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %88, align 8 - %92 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %93 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %92, i32 0, i32 0 - store ptr @9, ptr %93, align 8 - %94 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %92, i32 0, i32 1 - store i64 3, ptr %94, align 4 - %95 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %92, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %52, %"github.com/goplus/llgo/internal/runtime.String" %91, %"github.com/goplus/llgo/internal/runtime.String" %95, ptr %87, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) - ret void +_llgo_4: ; preds = %_llgo_3, %_llgo_2 + %10 = load ptr, ptr @_llgo_byte, align 8 + %11 = load ptr, ptr @"*_llgo_byte", align 8 + %12 = icmp eq ptr %11, null + br i1 %12, label %_llgo_5, label %_llgo_6 -_llgo_5: ; preds = %_llgo_3 - %96 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - store ptr %96, ptr @_llgo_byte, align 8 +_llgo_5: ; preds = %_llgo_4 + %13 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %14 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %13) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %14) + store ptr %14, ptr @"*_llgo_byte", align 8 br label %_llgo_6 -_llgo_6: ; preds = %_llgo_5, %_llgo_3 - %97 = load ptr, ptr @"*_llgo_byte", align 8 - %98 = icmp eq ptr %97, null - br i1 %98, label %_llgo_7, label %_llgo_8 +_llgo_6: ; preds = %_llgo_5, %_llgo_4 + %15 = load ptr, ptr @"*_llgo_byte", align 8 + %16 = load ptr, ptr @_llgo_float32, align 8 + %17 = icmp eq ptr %16, null + br i1 %17, label %_llgo_7, label %_llgo_8 _llgo_7: ; preds = %_llgo_6 - %99 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %100 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %99) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %100) - store ptr %100, ptr @"*_llgo_byte", align 8 + %18 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 45) + store ptr %18, ptr @_llgo_float32, align 8 br label %_llgo_8 _llgo_8: ; preds = %_llgo_7, %_llgo_6 - %101 = load ptr, ptr @"*_llgo_byte", align 8 - %102 = load ptr, ptr @"_llgo_func$NfGSLZ1QiKRoFkKeqYSXE5hUU5bpeteSJKrbMNUzYRE", align 8 - %103 = icmp eq ptr %102, null - br i1 %103, label %_llgo_9, label %_llgo_10 + %19 = load ptr, ptr @_llgo_float32, align 8 + %20 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %21 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %20, i32 0, i32 0 + store ptr @1, ptr %21, align 8 + %22 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %20, i32 0, i32 1 + store i64 2, ptr %22, align 4 + %23 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %20, align 8 + %24 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %25 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %24, i32 0, i32 0 + store ptr null, ptr %25, align 8 + %26 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %24, i32 0, i32 1 + store i64 0, ptr %26, align 4 + %27 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %24, align 8 + %28 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %29 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %28) + %30 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %23, ptr %29, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %27, i1 false) + %31 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %32 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %31, i32 0, i32 0 + store ptr @2, ptr %32, align 8 + %33 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %31, i32 0, i32 1 + store i64 1, ptr %33, align 4 + %34 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %31, align 8 + %35 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %36 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %35, i32 0, i32 0 + store ptr null, ptr %36, align 8 + %37 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %35, i32 0, i32 1 + store i64 0, ptr %37, align 4 + %38 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %35, align 8 + %39 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 45) + %40 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %34, ptr %39, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %38, i1 false) + %41 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %42 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %41, i32 0, i32 0 + store ptr @3, ptr %42, align 8 + %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %41, i32 0, i32 1 + store i64 4, ptr %43, align 4 + %44 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %41, align 8 + %45 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %46 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %45, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %30, ptr %46, align 8 + %47 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %45, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %40, ptr %47, align 8 + %48 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %49 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %48, i32 0, i32 0 + store ptr %45, ptr %49, align 8 + %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %48, i32 0, i32 1 + store i64 2, ptr %50, align 4 + %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %48, i32 0, i32 2 + store i64 2, ptr %51, align 4 + %52 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %48, align 8 + %53 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %44, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %52) + store ptr %53, ptr @"main.struct$qQwZyFy_4JRalRxVVsVD8R09X5t58tWjTrtJPtHbEjs", align 8 + %54 = load ptr, ptr @"main.struct$qQwZyFy_4JRalRxVVsVD8R09X5t58tWjTrtJPtHbEjs", align 8 + br i1 %6, label %_llgo_9, label %_llgo_10 _llgo_9: ; preds = %_llgo_8 - %104 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %105 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %106 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %105, i32 0, i32 0 - store ptr %104, ptr %106, align 8 - %107 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %105, i32 0, i32 1 - store i64 0, ptr %107, align 4 - %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %105, i32 0, i32 2 - store i64 0, ptr %108, align 4 - %109 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %105, align 8 - %110 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %111 = getelementptr ptr, ptr %110, i64 0 - store ptr %101, ptr %111, align 8 - %112 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %113 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %112, i32 0, i32 0 - store ptr %110, ptr %113, align 8 - %114 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %112, i32 0, i32 1 - store i64 1, ptr %114, align 4 - %115 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %112, i32 0, i32 2 - store i64 1, ptr %115, align 4 - %116 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %112, align 8 - %117 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %109, %"github.com/goplus/llgo/internal/runtime.Slice" %116, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %117) - store ptr %117, ptr @"_llgo_func$NfGSLZ1QiKRoFkKeqYSXE5hUU5bpeteSJKrbMNUzYRE", align 8 - br label %_llgo_10 + %55 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %56 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %55, i32 0, i32 0 + store ptr @4, ptr %56, align 8 + %57 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %55, i32 0, i32 1 + store i64 2, ptr %57, align 4 + %58 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %55, align 8 + %59 = load ptr, ptr @"*_llgo_byte", align 8 + %60 = load ptr, ptr @"*_llgo_byte", align 8 + %61 = load ptr, ptr @"_llgo_func$NfGSLZ1QiKRoFkKeqYSXE5hUU5bpeteSJKrbMNUzYRE", align 8 + %62 = icmp eq ptr %61, null + br i1 %62, label %_llgo_11, label %_llgo_12 -_llgo_10: ; preds = %_llgo_9, %_llgo_8 - %118 = load ptr, ptr @"_llgo_func$NfGSLZ1QiKRoFkKeqYSXE5hUU5bpeteSJKrbMNUzYRE", align 8 - %119 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %120 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %119, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %45, ptr %120, align 8 - %121 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %119, i32 0, i32 1 +_llgo_10: ; preds = %_llgo_12, %_llgo_8 + %63 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %64 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %63, i32 0, i32 0 + store ptr @7, ptr %64, align 8 + %65 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %63, i32 0, i32 1 + store i64 8, ptr %65, align 4 + %66 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %63, align 8 + %67 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %66, i64 25, i64 16, i64 0, i64 0) + store ptr %67, ptr @_llgo_main.bar, align 8 + %68 = load ptr, ptr @"*_llgo_byte", align 8 + %69 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %70 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %69, i32 0, i32 0 + store ptr @1, ptr %70, align 8 + %71 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %69, i32 0, i32 1 + store i64 2, ptr %71, align 4 + %72 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %69, align 8 + %73 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %74 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %73, i32 0, i32 0 + store ptr null, ptr %74, align 8 + %75 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %73, i32 0, i32 1 + store i64 0, ptr %75, align 4 + %76 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %73, align 8 + %77 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %78 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %77) + %79 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %72, ptr %78, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %76, i1 false) + %80 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %81 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %80, i32 0, i32 0 + store ptr @8, ptr %81, align 8 + %82 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %80, i32 0, i32 1 + store i64 1, ptr %82, align 4 + %83 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %80, align 8 + %84 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %85 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %84, i32 0, i32 0 + store ptr null, ptr %85, align 8 + %86 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %84, i32 0, i32 1 + store i64 0, ptr %86, align 4 + %87 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %84, align 8 + %88 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 45) + %89 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %83, ptr %88, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %87, i1 false) + %90 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %90, i32 0, i32 0 + store ptr @3, ptr %91, align 8 + %92 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %90, i32 0, i32 1 + store i64 4, ptr %92, align 4 + %93 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %90, align 8 + %94 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %95 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %94, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %79, ptr %95, align 8 + %96 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %94, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %89, ptr %96, align 8 + %97 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %98 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %97, i32 0, i32 0 + store ptr %94, ptr %98, align 8 + %99 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %97, i32 0, i32 1 + store i64 2, ptr %99, align 4 + %100 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %97, i32 0, i32 2 + store i64 2, ptr %100, align 4 + %101 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %97, align 8 + %102 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %93, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %101) + store ptr %102, ptr @"main.struct$Ci43nzKYkRLddRL_N4mkykxLXfJlqJGS5n04LKThPNo", align 8 + %103 = load ptr, ptr @"main.struct$Ci43nzKYkRLddRL_N4mkykxLXfJlqJGS5n04LKThPNo", align 8 + %104 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %105 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %104, i32 0, i32 0 + store ptr @3, ptr %105, align 8 + %106 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %104, i32 0, i32 1 + store i64 4, ptr %106, align 4 + %107 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %104, align 8 + %108 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %109 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %108, i32 0, i32 0 + store ptr @9, ptr %109, align 8 + %110 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %108, i32 0, i32 1 + store i64 3, ptr %110, align 4 + %111 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %108, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %67, %"github.com/goplus/llgo/internal/runtime.String" %107, %"github.com/goplus/llgo/internal/runtime.String" %111, ptr %103, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + ret void + +_llgo_11: ; preds = %_llgo_9 + %112 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %113 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %114 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %113, i32 0, i32 0 + store ptr %112, ptr %114, align 8 + %115 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %113, i32 0, i32 1 + store i64 0, ptr %115, align 4 + %116 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %113, i32 0, i32 2 + store i64 0, ptr %116, align 4 + %117 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %113, align 8 + %118 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %119 = getelementptr ptr, ptr %118, i64 0 + store ptr %60, ptr %119, align 8 + %120 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %121 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %120, i32 0, i32 0 store ptr %118, ptr %121, align 8 - %122 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %119, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/cl/internal/foo.(*Foo).Pb", ptr %122, align 8 - %123 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %119, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/cl/internal/foo.(*Foo).Pb", ptr %123, align 8 - %124 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %119, align 8 - %125 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %126 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %125, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %45, ptr %126, align 8 - %127 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %125, i32 0, i32 1 - store ptr %118, ptr %127, align 8 - %128 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %125, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/cl/internal/foo.(*Foo).Pb", ptr %128, align 8 - %129 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %125, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/cl/internal/foo.Foo.Pb", ptr %129, align 8 - %130 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %125, align 8 - %131 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %132 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %131, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %130, ptr %132, align 8 - %133 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %134 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %133, i32 0, i32 0 - store ptr %131, ptr %134, align 8 - %135 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %133, i32 0, i32 1 - store i64 1, ptr %135, align 4 - %136 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %133, i32 0, i32 2 - store i64 1, ptr %136, align 4 - %137 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %133, align 8 - %138 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %139 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %138, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %124, ptr %139, align 8 - %140 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %141 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %140, i32 0, i32 0 - store ptr %138, ptr %141, align 8 - %142 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %140, i32 0, i32 1 - store i64 1, ptr %142, align 4 - %143 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %140, i32 0, i32 2 + %122 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %120, i32 0, i32 1 + store i64 1, ptr %122, align 4 + %123 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %120, i32 0, i32 2 + store i64 1, ptr %123, align 4 + %124 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %120, align 8 + %125 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %117, %"github.com/goplus/llgo/internal/runtime.Slice" %124, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %125) + store ptr %125, ptr @"_llgo_func$NfGSLZ1QiKRoFkKeqYSXE5hUU5bpeteSJKrbMNUzYRE", align 8 + br label %_llgo_12 + +_llgo_12: ; preds = %_llgo_11, %_llgo_9 + %126 = load ptr, ptr @"_llgo_func$NfGSLZ1QiKRoFkKeqYSXE5hUU5bpeteSJKrbMNUzYRE", align 8 + %127 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %128 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %127, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %58, ptr %128, align 8 + %129 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %127, i32 0, i32 1 + store ptr %126, ptr %129, align 8 + %130 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %127, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/cl/internal/foo.(*Foo).Pb", ptr %130, align 8 + %131 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %127, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/cl/internal/foo.(*Foo).Pb", ptr %131, align 8 + %132 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %127, align 8 + %133 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %134 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %133, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %58, ptr %134, align 8 + %135 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %133, i32 0, i32 1 + store ptr %126, ptr %135, align 8 + %136 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %133, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/cl/internal/foo.(*Foo).Pb", ptr %136, align 8 + %137 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %133, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/cl/internal/foo.Foo.Pb", ptr %137, align 8 + %138 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %133, align 8 + %139 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %140 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %139, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %138, ptr %140, align 8 + %141 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %142 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %141, i32 0, i32 0 + store ptr %139, ptr %142, align 8 + %143 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %141, i32 0, i32 1 store i64 1, ptr %143, align 4 - %144 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %140, align 8 - %145 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %146 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %145, i32 0, i32 0 - store ptr @5, ptr %146, align 8 - %147 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %145, i32 0, i32 1 - store i64 38, ptr %147, align 4 - %148 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %145, align 8 - %149 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %150 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %149, i32 0, i32 0 - store ptr @6, ptr %150, align 8 - %151 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %149, i32 0, i32 1 - store i64 3, ptr %151, align 4 - %152 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %149, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %4, %"github.com/goplus/llgo/internal/runtime.String" %148, %"github.com/goplus/llgo/internal/runtime.String" %152, ptr %41, %"github.com/goplus/llgo/internal/runtime.Slice" %137, %"github.com/goplus/llgo/internal/runtime.Slice" %144) - br label %_llgo_4 + %144 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %141, i32 0, i32 2 + store i64 1, ptr %144, align 4 + %145 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %141, align 8 + %146 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %147 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %146, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %132, ptr %147, align 8 + %148 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %149 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %148, i32 0, i32 0 + store ptr %146, ptr %149, align 8 + %150 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %148, i32 0, i32 1 + store i64 1, ptr %150, align 4 + %151 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %148, i32 0, i32 2 + store i64 1, ptr %151, align 4 + %152 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %148, align 8 + %153 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %154 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %153, i32 0, i32 0 + store ptr @5, ptr %154, align 8 + %155 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %153, i32 0, i32 1 + store i64 38, ptr %155, align 4 + %156 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %153, align 8 + %157 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %158 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %157, i32 0, i32 0 + store ptr @6, ptr %158, align 8 + %159 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %157, i32 0, i32 1 + store i64 3, ptr %159, align 4 + %160 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %157, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %4, %"github.com/goplus/llgo/internal/runtime.String" %156, %"github.com/goplus/llgo/internal/runtime.String" %160, ptr %54, %"github.com/goplus/llgo/internal/runtime.Slice" %145, %"github.com/goplus/llgo/internal/runtime.Slice" %152) + br label %_llgo_10 } declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, i64) +declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64) + +declare ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr) + +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) -declare ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr) - -declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64) - declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64) declare void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr, %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", ptr, %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice") -declare void @"github.com/goplus/llgo/internal/runtime.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/cl/internal/foo.(*Foo).Pb"(ptr) diff --git a/cl/_testrt/abinamed/out.ll b/cl/_testrt/abinamed/out.ll index 003bad9a..afe5da51 100644 --- a/cl/_testrt/abinamed/out.ll +++ b/cl/_testrt/abinamed/out.ll @@ -16,135 +16,172 @@ source_filename = "main" @__llgo_argv = global ptr null, align 8 @_llgo_main.T = linkonce global ptr null, align 8 @0 = private unnamed_addr constant [6 x i8] c"main.T", align 1 -@"main.struct$FYfyNCnlvkYOztpQWjt-y8D_WY3tpxyt5Qo62CJffTE" = linkonce global ptr null, align 8 -@1 = private unnamed_addr constant [40 x i8] c"github.com/goplus/llgo/internal/abi.Type", align 1 -@2 = private unnamed_addr constant [1 x i8] c"p", align 1 -@3 = private unnamed_addr constant [1 x i8] c"t", align 1 -@4 = private unnamed_addr constant [1 x i8] c"n", align 1 -@5 = private unnamed_addr constant [1 x i8] c"a", align 1 -@6 = private unnamed_addr constant [4 x i8] c"main", align 1 -@7 = private unnamed_addr constant [1 x i8] c"T", align 1 +@"*_llgo_main.T" = linkonce global ptr null, align 8 @"_llgo_github.com/goplus/llgo/internal/abi.Type" = linkonce global ptr null, align 8 -@"main.struct$13P_TvKNXommvK6tKt3eRNnJqTcPEFYrHagFiHeRpb0" = linkonce global ptr null, align 8 -@8 = private unnamed_addr constant [41 x i8] c"github.com/goplus/llgo/internal/abi.TFlag", align 1 +@1 = private unnamed_addr constant [40 x i8] c"github.com/goplus/llgo/internal/abi.Type", align 1 +@_llgo_uintptr = linkonce global ptr null, align 8 +@_llgo_uint32 = linkonce global ptr null, align 8 +@"_llgo_github.com/goplus/llgo/internal/abi.TFlag" = linkonce global ptr null, align 8 +@2 = private unnamed_addr constant [41 x i8] c"github.com/goplus/llgo/internal/abi.TFlag", align 1 +@_llgo_uint8 = linkonce global ptr null, align 8 +@3 = private unnamed_addr constant [35 x i8] c"github.com/goplus/llgo/internal/abi", align 1 +@4 = private unnamed_addr constant [5 x i8] c"TFlag", align 1 @_llgo_Pointer = linkonce global ptr null, align 8 @_llgo_bool = linkonce global ptr null, align 8 -@9 = private unnamed_addr constant [5 x i8] c"Size_", align 1 -@10 = private unnamed_addr constant [8 x i8] c"PtrBytes", align 1 -@11 = private unnamed_addr constant [4 x i8] c"Hash", align 1 -@12 = private unnamed_addr constant [5 x i8] c"TFlag", align 1 -@13 = private unnamed_addr constant [6 x i8] c"Align_", align 1 -@14 = private unnamed_addr constant [11 x i8] c"FieldAlign_", align 1 -@15 = private unnamed_addr constant [5 x i8] c"Kind_", align 1 -@16 = private unnamed_addr constant [5 x i8] c"Equal", align 1 -@17 = private unnamed_addr constant [1 x i8] c"f", align 1 -@18 = private unnamed_addr constant [4 x i8] c"data", align 1 -@19 = private unnamed_addr constant [6 x i8] c"GCData", align 1 -@20 = private unnamed_addr constant [4 x i8] c"Str_", align 1 -@21 = private unnamed_addr constant [10 x i8] c"PtrToThis_", align 1 -@22 = private unnamed_addr constant [5 x i8] c"Align", align 1 -@"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA" = linkonce global ptr null, align 8 -@_llgo_int = linkonce global ptr null, align 8 -@23 = private unnamed_addr constant [9 x i8] c"ArrayType", align 1 -@"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4" = linkonce global ptr null, align 8 -@"_llgo_github.com/goplus/llgo/internal/abi.ArrayType" = linkonce global ptr null, align 8 -@24 = private unnamed_addr constant [45 x i8] c"github.com/goplus/llgo/internal/abi.ArrayType", align 1 -@"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY" = linkonce global ptr null, align 8 -@25 = private unnamed_addr constant [4 x i8] c"Type", align 1 -@26 = private unnamed_addr constant [4 x i8] c"Elem", align 1 -@27 = private unnamed_addr constant [5 x i8] c"Slice", align 1 -@28 = private unnamed_addr constant [3 x i8] c"Len", align 1 -@29 = private unnamed_addr constant [7 x i8] c"ChanDir", align 1 -@"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4" = linkonce global ptr null, align 8 -@"_llgo_github.com/goplus/llgo/internal/abi.ChanDir" = linkonce global ptr null, align 8 -@30 = private unnamed_addr constant [43 x i8] c"github.com/goplus/llgo/internal/abi.ChanDir", align 1 -@31 = private unnamed_addr constant [35 x i8] c"github.com/goplus/llgo/internal/abi", align 1 -@32 = private unnamed_addr constant [6 x i8] c"Common", align 1 -@"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo" = linkonce global ptr null, align 8 -@"*_llgo_github.com/goplus/llgo/internal/abi.Type" = linkonce global ptr null, align 8 -@33 = private unnamed_addr constant [15 x i8] c"ExportedMethods", align 1 -@"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg" = linkonce global ptr null, align 8 -@"[]_llgo_github.com/goplus/llgo/internal/abi.Method" = linkonce global ptr null, align 8 -@34 = private unnamed_addr constant [42 x i8] c"github.com/goplus/llgo/internal/abi.Method", align 1 -@35 = private unnamed_addr constant [10 x i8] c"FieldAlign", align 1 -@36 = private unnamed_addr constant [8 x i8] c"FuncType", align 1 -@"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww" = linkonce global ptr null, align 8 -@"_llgo_github.com/goplus/llgo/internal/abi.FuncType" = linkonce global ptr null, align 8 -@37 = private unnamed_addr constant [44 x i8] c"github.com/goplus/llgo/internal/abi.FuncType", align 1 -@"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw" = linkonce global ptr null, align 8 -@38 = private unnamed_addr constant [2 x i8] c"In", align 1 -@39 = private unnamed_addr constant [3 x i8] c"Out", align 1 -@40 = private unnamed_addr constant [7 x i8] c"HasName", align 1 -@"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk" = linkonce global ptr null, align 8 -@41 = private unnamed_addr constant [10 x i8] c"IfaceIndir", align 1 -@42 = private unnamed_addr constant [13 x i8] c"InterfaceType", align 1 -@"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8" = linkonce global ptr null, align 8 -@"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType" = linkonce global ptr null, align 8 -@43 = private unnamed_addr constant [49 x i8] c"github.com/goplus/llgo/internal/abi.InterfaceType", align 1 -@"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4" = linkonce global ptr null, align 8 -@44 = private unnamed_addr constant [43 x i8] c"github.com/goplus/llgo/internal/abi.Imethod", align 1 -@45 = private unnamed_addr constant [8 x i8] c"PkgPath_", align 1 -@46 = private unnamed_addr constant [7 x i8] c"Methods", align 1 -@47 = private unnamed_addr constant [13 x i8] c"IsDirectIface", align 1 -@48 = private unnamed_addr constant [3 x i8] c"Key", align 1 -@49 = private unnamed_addr constant [4 x i8] c"Kind", align 1 -@"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI" = linkonce global ptr null, align 8 -@"_llgo_github.com/goplus/llgo/internal/abi.Kind" = linkonce global ptr null, align 8 -@50 = private unnamed_addr constant [40 x i8] c"github.com/goplus/llgo/internal/abi.Kind", align 1 -@_llgo_uint = linkonce global ptr null, align 8 -@51 = private unnamed_addr constant [6 x i8] c"String", align 1 -@"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to" = 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 +@5 = private unnamed_addr constant [1 x i8] c"f", align 1 +@6 = private unnamed_addr constant [4 x i8] c"data", align 1 +@7 = private unnamed_addr constant [4 x i8] c"main", align 1 +@_llgo_byte = linkonce global ptr null, align 8 +@"*_llgo_byte" = linkonce global ptr null, align 8 @_llgo_string = linkonce global ptr null, align 8 -@52 = private unnamed_addr constant [7 x i8] c"MapType", align 1 -@"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4" = linkonce global ptr null, align 8 -@"_llgo_github.com/goplus/llgo/internal/abi.MapType" = linkonce global ptr null, align 8 -@53 = private unnamed_addr constant [43 x i8] c"github.com/goplus/llgo/internal/abi.MapType", align 1 -@"main.struct$Yk42tBqeO4BzIoRAwt__cbPj2UwIDCP07Kg_SR7sBZM" = linkonce global ptr null, align 8 -@_llgo_uintptr = linkonce global ptr null, align 8 -@54 = private unnamed_addr constant [6 x i8] c"Bucket", align 1 -@55 = private unnamed_addr constant [6 x i8] c"Hasher", align 1 -@56 = private unnamed_addr constant [7 x i8] c"KeySize", align 1 -@57 = private unnamed_addr constant [9 x i8] c"ValueSize", align 1 -@58 = private unnamed_addr constant [10 x i8] c"BucketSize", align 1 -@59 = private unnamed_addr constant [5 x i8] c"Flags", align 1 -@60 = private unnamed_addr constant [14 x i8] c"HashMightPanic", align 1 -@61 = private unnamed_addr constant [12 x i8] c"IndirectElem", align 1 -@62 = private unnamed_addr constant [11 x i8] c"IndirectKey", align 1 -@63 = private unnamed_addr constant [13 x i8] c"NeedKeyUpdate", align 1 -@64 = private unnamed_addr constant [9 x i8] c"NumMethod", align 1 -@65 = private unnamed_addr constant [8 x i8] c"Pointers", align 1 -@66 = private unnamed_addr constant [12 x i8] c"ReflexiveKey", align 1 -@67 = private unnamed_addr constant [4 x i8] c"Size", align 1 -@"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s" = linkonce global ptr null, align 8 -@68 = private unnamed_addr constant [10 x i8] c"StructType", align 1 -@"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U" = linkonce global ptr null, align 8 -@"_llgo_github.com/goplus/llgo/internal/abi.StructType" = linkonce global ptr null, align 8 -@69 = private unnamed_addr constant [46 x i8] c"github.com/goplus/llgo/internal/abi.StructType", align 1 -@"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0" = linkonce global ptr null, align 8 -@70 = private unnamed_addr constant [47 x i8] c"github.com/goplus/llgo/internal/abi.StructField", align 1 -@71 = private unnamed_addr constant [6 x i8] c"Fields", align 1 -@72 = private unnamed_addr constant [8 x i8] c"Uncommon", align 1 -@"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34" = linkonce global ptr null, align 8 -@"_llgo_github.com/goplus/llgo/internal/abi.UncommonType" = linkonce global ptr null, align 8 -@73 = private unnamed_addr constant [48 x i8] c"github.com/goplus/llgo/internal/abi.UncommonType", align 1 -@"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI" = linkonce global ptr null, align 8 -@74 = private unnamed_addr constant [6 x i8] c"Mcount", align 1 -@75 = private unnamed_addr constant [6 x i8] c"Xcount", align 1 -@76 = private unnamed_addr constant [4 x i8] c"Moff", align 1 -@77 = private unnamed_addr constant [12 x i8] c"UncommonType", align 1 -@"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType" = linkonce global ptr null, align 8 -@"*_llgo_github.com/goplus/llgo/internal/abi.StructType" = linkonce global ptr null, align 8 -@"*_llgo_github.com/goplus/llgo/internal/abi.MapType" = linkonce global ptr null, align 8 -@"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType" = linkonce global ptr null, align 8 -@78 = private unnamed_addr constant [8 x i8] c"Variadic", align 1 -@"*_llgo_github.com/goplus/llgo/internal/abi.FuncType" = 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 +@8 = private unnamed_addr constant [5 x i8] c"Size_", align 1 +@9 = private unnamed_addr constant [8 x i8] c"PtrBytes", align 1 +@10 = private unnamed_addr constant [4 x i8] c"Hash", align 1 +@11 = private unnamed_addr constant [6 x i8] c"Align_", align 1 +@12 = private unnamed_addr constant [11 x i8] c"FieldAlign_", align 1 +@13 = private unnamed_addr constant [5 x i8] c"Kind_", align 1 +@14 = private unnamed_addr constant [5 x i8] c"Equal", align 1 +@15 = private unnamed_addr constant [6 x i8] c"GCData", align 1 +@16 = private unnamed_addr constant [4 x i8] c"Str_", align 1 +@17 = private unnamed_addr constant [10 x i8] c"PtrToThis_", align 1 +@18 = private unnamed_addr constant [5 x i8] c"Align", align 1 +@_llgo_int = linkonce global ptr null, align 8 +@"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA" = linkonce global ptr null, align 8 +@19 = private unnamed_addr constant [9 x i8] c"ArrayType", align 1 +@"_llgo_github.com/goplus/llgo/internal/abi.ArrayType" = linkonce global ptr null, align 8 +@20 = private unnamed_addr constant [45 x i8] c"github.com/goplus/llgo/internal/abi.ArrayType", align 1 +@"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY" = linkonce global ptr null, align 8 +@21 = private unnamed_addr constant [4 x i8] c"Type", align 1 +@22 = private unnamed_addr constant [4 x i8] c"Elem", align 1 +@23 = private unnamed_addr constant [5 x i8] c"Slice", align 1 +@24 = private unnamed_addr constant [3 x i8] c"Len", align 1 @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType" = linkonce global ptr null, align 8 -@79 = private unnamed_addr constant [13 x i8] c"error field 0", align 1 -@80 = private unnamed_addr constant [18 x i8] c"error field 0 elem", align 1 -@81 = private unnamed_addr constant [13 x i8] c"error field 1", align 1 -@82 = private unnamed_addr constant [18 x i8] c"error field 1 elem", align 1 -@83 = private unnamed_addr constant [13 x i8] c"error field 2", align 1 -@84 = private unnamed_addr constant [13 x i8] c"error field 3", align 1 +@"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4" = linkonce global ptr null, align 8 +@25 = private unnamed_addr constant [7 x i8] c"ChanDir", align 1 +@"_llgo_github.com/goplus/llgo/internal/abi.ChanDir" = linkonce global ptr null, align 8 +@26 = private unnamed_addr constant [43 x i8] c"github.com/goplus/llgo/internal/abi.ChanDir", align 1 +@"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4" = linkonce global ptr null, align 8 +@27 = private unnamed_addr constant [6 x i8] c"Common", align 1 +@"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo" = linkonce global ptr null, align 8 +@28 = private unnamed_addr constant [15 x i8] c"ExportedMethods", align 1 +@"_llgo_github.com/goplus/llgo/internal/abi.Method" = linkonce global ptr null, align 8 +@29 = private unnamed_addr constant [42 x i8] c"github.com/goplus/llgo/internal/abi.Method", align 1 +@"_llgo_github.com/goplus/llgo/internal/abi.FuncType" = linkonce global ptr null, align 8 +@30 = private unnamed_addr constant [44 x i8] c"github.com/goplus/llgo/internal/abi.FuncType", align 1 +@"[]*_llgo_github.com/goplus/llgo/internal/abi.Type" = linkonce global ptr null, align 8 +@"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw" = linkonce global ptr null, align 8 +@31 = private unnamed_addr constant [2 x i8] c"In", align 1 +@32 = private unnamed_addr constant [3 x i8] c"Out", align 1 +@"[]_llgo_github.com/goplus/llgo/internal/abi.Method" = linkonce global ptr null, align 8 +@"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg" = linkonce global ptr null, align 8 +@33 = private unnamed_addr constant [10 x i8] c"FieldAlign", align 1 +@34 = private unnamed_addr constant [8 x i8] c"FuncType", align 1 +@"*_llgo_github.com/goplus/llgo/internal/abi.FuncType" = linkonce global ptr null, align 8 +@"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww" = linkonce global ptr null, align 8 +@35 = private unnamed_addr constant [7 x i8] c"HasName", align 1 +@"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk" = linkonce global ptr null, align 8 +@36 = private unnamed_addr constant [10 x i8] c"IfaceIndir", align 1 +@37 = private unnamed_addr constant [13 x i8] c"InterfaceType", align 1 +@"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType" = linkonce global ptr null, align 8 +@38 = private unnamed_addr constant [49 x i8] c"github.com/goplus/llgo/internal/abi.InterfaceType", align 1 +@"_llgo_github.com/goplus/llgo/internal/abi.Imethod" = linkonce global ptr null, align 8 +@39 = private unnamed_addr constant [43 x i8] c"github.com/goplus/llgo/internal/abi.Imethod", align 1 +@"_llgo_struct$-SVMNS9vOT5F9q4yodRiL9MFhdPf0tfZ2Cx2o7KjSDw" = linkonce global ptr null, align 8 +@40 = private unnamed_addr constant [5 x i8] c"Name_", align 1 +@41 = private unnamed_addr constant [4 x i8] c"Typ_", align 1 +@42 = private unnamed_addr constant [8 x i8] c"Exported", align 1 +@43 = private unnamed_addr constant [4 x i8] c"Name", align 1 +@"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to" = linkonce global ptr null, align 8 +@44 = private unnamed_addr constant [7 x i8] c"PkgPath", align 1 +@45 = private unnamed_addr constant [7 x i8] c"Imethod", align 1 +@"[]_llgo_github.com/goplus/llgo/internal/abi.Imethod" = linkonce global ptr null, align 8 +@"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4" = linkonce global ptr null, align 8 +@46 = private unnamed_addr constant [8 x i8] c"PkgPath_", align 1 +@47 = private unnamed_addr constant [7 x i8] c"Methods", align 1 +@"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType" = linkonce global ptr null, align 8 +@"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8" = linkonce global ptr null, align 8 +@48 = private unnamed_addr constant [13 x i8] c"IsDirectIface", align 1 +@49 = private unnamed_addr constant [3 x i8] c"Key", align 1 +@50 = private unnamed_addr constant [4 x i8] c"Kind", align 1 +@"_llgo_github.com/goplus/llgo/internal/abi.Kind" = linkonce global ptr null, align 8 +@51 = private unnamed_addr constant [40 x i8] c"github.com/goplus/llgo/internal/abi.Kind", align 1 +@_llgo_uint = linkonce global ptr null, align 8 +@52 = private unnamed_addr constant [6 x i8] c"String", align 1 +@"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI" = linkonce global ptr null, align 8 +@53 = 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 +@54 = 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_uint16 = linkonce global ptr null, align 8 +@"main.struct$Yk42tBqeO4BzIoRAwt__cbPj2UwIDCP07Kg_SR7sBZM" = linkonce global ptr null, align 8 +@55 = private unnamed_addr constant [6 x i8] c"Bucket", align 1 +@56 = private unnamed_addr constant [6 x i8] c"Hasher", align 1 +@57 = private unnamed_addr constant [7 x i8] c"KeySize", align 1 +@58 = private unnamed_addr constant [9 x i8] c"ValueSize", align 1 +@59 = private unnamed_addr constant [10 x i8] c"BucketSize", align 1 +@60 = private unnamed_addr constant [5 x i8] c"Flags", align 1 +@61 = private unnamed_addr constant [14 x i8] c"HashMightPanic", align 1 +@62 = private unnamed_addr constant [12 x i8] c"IndirectElem", align 1 +@63 = private unnamed_addr constant [11 x i8] c"IndirectKey", align 1 +@"*_llgo_github.com/goplus/llgo/internal/abi.MapType" = linkonce global ptr null, align 8 +@"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4" = linkonce global ptr null, align 8 +@64 = private unnamed_addr constant [13 x i8] c"NeedKeyUpdate", align 1 +@65 = private unnamed_addr constant [9 x i8] c"NumMethod", align 1 +@66 = private unnamed_addr constant [8 x i8] c"Pointers", align 1 +@67 = private unnamed_addr constant [12 x i8] c"ReflexiveKey", align 1 +@68 = private unnamed_addr constant [4 x i8] c"Size", align 1 +@"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s" = linkonce global ptr null, align 8 +@69 = private unnamed_addr constant [10 x i8] c"StructType", align 1 +@"_llgo_github.com/goplus/llgo/internal/abi.StructType" = linkonce global ptr null, align 8 +@70 = private unnamed_addr constant [46 x i8] c"github.com/goplus/llgo/internal/abi.StructType", align 1 +@"_llgo_github.com/goplus/llgo/internal/abi.StructField" = linkonce global ptr null, align 8 +@71 = private unnamed_addr constant [47 x i8] c"github.com/goplus/llgo/internal/abi.StructField", align 1 +@"_llgo_struct$GYlWrg0B_axMyyq9xClGPKuTjurG0iQMRoz8Me1fQig" = linkonce global ptr null, align 8 +@72 = private unnamed_addr constant [3 x i8] c"Typ", align 1 +@73 = private unnamed_addr constant [6 x i8] c"Offset", align 1 +@74 = private unnamed_addr constant [4 x i8] c"Tag_", align 1 +@75 = private unnamed_addr constant [9 x i8] c"Embedded_", align 1 +@76 = private unnamed_addr constant [8 x i8] c"Embedded", align 1 +@77 = private unnamed_addr constant [11 x i8] c"StructField", align 1 +@"[]_llgo_github.com/goplus/llgo/internal/abi.StructField" = linkonce global ptr null, align 8 +@"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0" = linkonce global ptr null, align 8 +@78 = private unnamed_addr constant [6 x i8] c"Fields", align 1 +@"*_llgo_github.com/goplus/llgo/internal/abi.StructType" = linkonce global ptr null, align 8 +@"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U" = linkonce global ptr null, align 8 +@79 = private unnamed_addr constant [8 x i8] c"Uncommon", align 1 +@"_llgo_github.com/goplus/llgo/internal/abi.UncommonType" = linkonce global ptr null, align 8 +@80 = private unnamed_addr constant [48 x i8] c"github.com/goplus/llgo/internal/abi.UncommonType", align 1 +@"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI" = linkonce global ptr null, align 8 +@81 = private unnamed_addr constant [6 x i8] c"Mcount", align 1 +@82 = private unnamed_addr constant [6 x i8] c"Xcount", align 1 +@83 = private unnamed_addr constant [4 x i8] c"Moff", align 1 +@84 = private unnamed_addr constant [12 x i8] c"UncommonType", align 1 +@"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType" = linkonce global ptr null, align 8 +@"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34" = linkonce global ptr null, align 8 +@85 = private unnamed_addr constant [8 x i8] c"Variadic", align 1 +@"_llgo_struct$SDp3TNnYnxb26MhB1v8VMbmY71BX77YOaY7lgS1cFx0" = linkonce global ptr null, align 8 +@86 = private unnamed_addr constant [5 x i8] c"Mtyp_", align 1 +@87 = private unnamed_addr constant [4 x i8] c"Ifn_", align 1 +@88 = private unnamed_addr constant [4 x i8] c"Tfn_", align 1 +@89 = private unnamed_addr constant [6 x i8] c"Method", align 1 +@"[]_llgo_main.T" = linkonce global ptr null, align 8 +@"main.struct$FYfyNCnlvkYOztpQWjt-y8D_WY3tpxyt5Qo62CJffTE" = linkonce global ptr null, align 8 +@90 = private unnamed_addr constant [1 x i8] c"p", align 1 +@91 = private unnamed_addr constant [1 x i8] c"t", align 1 +@92 = private unnamed_addr constant [1 x i8] c"n", align 1 +@93 = private unnamed_addr constant [1 x i8] c"a", align 1 +@94 = private unnamed_addr constant [1 x i8] c"T", align 1 +@95 = private unnamed_addr constant [13 x i8] c"error field 0", align 1 +@96 = private unnamed_addr constant [18 x i8] c"error field 0 elem", align 1 +@97 = private unnamed_addr constant [13 x i8] c"error field 1", align 1 +@98 = private unnamed_addr constant [18 x i8] c"error field 1 elem", align 1 +@99 = private unnamed_addr constant [13 x i8] c"error field 2", align 1 +@100 = private unnamed_addr constant [13 x i8] c"error field 3", align 1 define void @main.init() { _llgo_0: @@ -233,7 +270,7 @@ _llgo_0: _llgo_1: ; preds = %_llgo_0 %46 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %47 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %46, i32 0, i32 0 - store ptr @79, ptr %47, align 8 + store ptr @95, ptr %47, align 8 %48 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %46, i32 0, i32 1 store i64 13, ptr %48, align 4 %49 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %46, align 8 @@ -261,7 +298,7 @@ _llgo_2: ; preds = %_llgo_0 _llgo_3: ; preds = %_llgo_2 %62 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %63 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %62, i32 0, i32 0 - store ptr @80, ptr %63, align 8 + store ptr @96, ptr %63, align 8 %64 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %62, i32 0, i32 1 store i64 18, ptr %64, align 4 %65 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %62, align 8 @@ -304,7 +341,7 @@ _llgo_4: ; preds = %_llgo_2 _llgo_5: ; preds = %_llgo_4 %90 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %90, i32 0, i32 0 - store ptr @81, ptr %91, align 8 + store ptr @97, ptr %91, align 8 %92 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %90, i32 0, i32 1 store i64 13, ptr %92, align 4 %93 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %90, align 8 @@ -332,7 +369,7 @@ _llgo_6: ; preds = %_llgo_4 _llgo_7: ; preds = %_llgo_6 %106 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %107 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %106, i32 0, i32 0 - store ptr @82, ptr %107, align 8 + store ptr @98, ptr %107, align 8 %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %106, i32 0, i32 1 store i64 18, ptr %108, align 4 %109 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %106, align 8 @@ -383,7 +420,7 @@ _llgo_8: ; preds = %_llgo_6 _llgo_9: ; preds = %_llgo_8 %141 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %142 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %141, i32 0, i32 0 - store ptr @83, ptr %142, align 8 + store ptr @99, ptr %142, align 8 %143 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %141, i32 0, i32 1 store i64 13, ptr %143, align 4 %144 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %141, align 8 @@ -425,7 +462,7 @@ _llgo_10: ; preds = %_llgo_8 _llgo_11: ; preds = %_llgo_10 %168 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %169 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %168, i32 0, i32 0 - store ptr @84, ptr %169, align 8 + store ptr @100, ptr %169, align 8 %170 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %168, i32 0, i32 1 store i64 13, ptr %170, align 4 %171 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %168, align 8 @@ -481,181 +518,217 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 store i64 6, ptr %9, align 4 %10 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %7, align 8 %11 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %10, i64 25, i64 48, i64 0, i64 0) - %12 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %13 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %12, i32 0, i32 0 - store ptr @1, ptr %13, align 8 - %14 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %12, i32 0, i32 1 - store i64 40, ptr %14, align 4 - %15 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %12, align 8 - %16 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %15, i64 25, i64 80, i64 0, i64 22) - %17 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %18 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %17, i32 0, i32 0 - store ptr @0, ptr %18, align 8 - %19 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %17, i32 0, i32 1 - store i64 6, ptr %19, align 4 - %20 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %17, align 8 - %21 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %20, i64 25, i64 48, i64 0, i64 0) - %22 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %23 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %22, i32 0, i32 0 - store ptr @2, ptr %23, align 8 - %24 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %22, i32 0, i32 1 - store i64 1, ptr %24, align 4 - %25 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %22, align 8 - %26 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %27 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %26, i32 0, i32 0 - store ptr null, ptr %27, align 8 - %28 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %26, i32 0, i32 1 - store i64 0, ptr %28, align 4 - %29 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %26, align 8 - %30 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %11) - %31 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %25, ptr %30, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %29, i1 false) - %32 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %33 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %32, i32 0, i32 0 - store ptr @3, ptr %33, align 8 - %34 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %32, i32 0, i32 1 - store i64 1, ptr %34, align 4 - %35 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %32, align 8 - %36 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %37 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %36, i32 0, i32 0 - store ptr null, ptr %37, align 8 - %38 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %36, i32 0, i32 1 - store i64 0, ptr %38, align 4 - %39 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %36, align 8 - %40 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %16) - %41 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %35, ptr %40, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %39, i1 false) - %42 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %42, i32 0, i32 0 - store ptr @4, ptr %43, align 8 - %44 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %42, i32 0, i32 1 - store i64 1, ptr %44, align 4 - %45 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %42, align 8 - %46 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %47 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %46, i32 0, i32 0 - store ptr null, ptr %47, align 8 - %48 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %46, i32 0, i32 1 - store i64 0, ptr %48, align 4 - %49 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %46, align 8 - %50 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - %51 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %45, ptr %50, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %49, i1 false) - %52 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %53 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %52, i32 0, i32 0 - store ptr @5, ptr %53, align 8 - %54 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %52, i32 0, i32 1 - store i64 1, ptr %54, align 4 - %55 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %52, align 8 - %56 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %57 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %56, i32 0, i32 0 - store ptr null, ptr %57, align 8 - %58 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %56, i32 0, i32 1 - store i64 0, ptr %58, align 4 - %59 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %56, align 8 - %60 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %21) - %61 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %55, ptr %60, i64 24, %"github.com/goplus/llgo/internal/runtime.String" %59, i1 false) - %62 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %63 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %62, i32 0, i32 0 - store ptr @6, ptr %63, align 8 - %64 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %62, i32 0, i32 1 - store i64 4, ptr %64, align 4 - %65 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %62, align 8 - %66 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) - %67 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %66, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %31, ptr %67, align 8 - %68 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %66, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %41, ptr %68, align 8 - %69 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %66, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %51, ptr %69, align 8 - %70 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %66, i64 3 - store %"github.com/goplus/llgo/internal/abi.StructField" %61, ptr %70, align 8 - %71 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %72 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %71, i32 0, i32 0 - store ptr %66, ptr %72, align 8 - %73 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %71, i32 0, i32 1 - store i64 4, ptr %73, align 4 - %74 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %71, i32 0, i32 2 - store i64 4, ptr %74, align 4 - %75 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %71, align 8 - %76 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %65, i64 48, %"github.com/goplus/llgo/internal/runtime.Slice" %75) - store ptr %76, ptr @"main.struct$FYfyNCnlvkYOztpQWjt-y8D_WY3tpxyt5Qo62CJffTE", align 8 - %77 = load ptr, ptr @"main.struct$FYfyNCnlvkYOztpQWjt-y8D_WY3tpxyt5Qo62CJffTE", align 8 - br i1 %6, label %_llgo_3, label %_llgo_4 + %12 = load ptr, ptr @"*_llgo_main.T", align 8 + %13 = icmp eq ptr %12, null + br i1 %13, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 - %78 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %79 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %78, i32 0, i32 0 - store ptr @6, ptr %79, align 8 - %80 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %78, i32 0, i32 1 - store i64 4, ptr %80, align 4 - %81 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %78, align 8 - %82 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %83 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %82, i32 0, i32 0 - store ptr @7, ptr %83, align 8 - %84 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %82, i32 0, i32 1 - store i64 1, ptr %84, align 4 - %85 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %82, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %4, %"github.com/goplus/llgo/internal/runtime.String" %81, %"github.com/goplus/llgo/internal/runtime.String" %85, ptr %77, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + %14 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %11) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %14) + store ptr %14, ptr @"*_llgo_main.T", align 8 br label %_llgo_4 _llgo_4: ; preds = %_llgo_3, %_llgo_2 - %86 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %87 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %86, i32 0, i32 0 - store ptr @1, ptr %87, align 8 - %88 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %86, i32 0, i32 1 - store i64 40, ptr %88, align 4 - %89 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %86, align 8 - %90 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %89, i64 25, i64 80, i64 0, i64 22) - %91 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %92 = icmp eq ptr %91, null - br i1 %92, label %_llgo_5, label %_llgo_6 + %15 = load ptr, ptr @"*_llgo_main.T", align 8 + %16 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %17 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %16, i32 0, i32 0 + store ptr @1, ptr %17, align 8 + %18 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %16, i32 0, i32 1 + store i64 40, ptr %18, align 4 + %19 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %16, align 8 + %20 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %19, i64 25, i64 80, i64 0, i64 22) + %21 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %22 = icmp eq ptr %21, null + br i1 %22, label %_llgo_5, label %_llgo_6 _llgo_5: ; preds = %_llgo_4 - store ptr %90, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + store ptr %20, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %93 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %94 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %93, i32 0, i32 0 - store ptr @8, ptr %94, align 8 - %95 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %93, i32 0, i32 1 - store i64 41, ptr %95, align 4 - %96 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %93, align 8 - %97 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %96, i64 8, i64 1, i64 0, i64 0) - %98 = load ptr, ptr @_llgo_Pointer, align 8 - %99 = icmp eq ptr %98, null - br i1 %99, label %_llgo_7, label %_llgo_8 + %23 = load ptr, ptr @_llgo_uintptr, align 8 + %24 = icmp eq ptr %23, null + br i1 %24, label %_llgo_7, label %_llgo_8 _llgo_7: ; preds = %_llgo_6 - %100 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %100) - store ptr %100, ptr @_llgo_Pointer, align 8 + %25 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) + store ptr %25, ptr @_llgo_uintptr, align 8 br label %_llgo_8 _llgo_8: ; preds = %_llgo_7, %_llgo_6 - %101 = load ptr, ptr @_llgo_Pointer, align 8 - %102 = load ptr, ptr @_llgo_Pointer, align 8 - %103 = load ptr, ptr @_llgo_Pointer, align 8 - %104 = load ptr, ptr @_llgo_bool, align 8 - %105 = icmp eq ptr %104, null - br i1 %105, label %_llgo_9, label %_llgo_10 + %26 = load ptr, ptr @_llgo_uintptr, align 8 + %27 = load ptr, ptr @_llgo_uint32, align 8 + %28 = icmp eq ptr %27, null + br i1 %28, label %_llgo_9, label %_llgo_10 _llgo_9: ; preds = %_llgo_8 - %106 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 33) - store ptr %106, ptr @_llgo_bool, align 8 + %29 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) + store ptr %29, ptr @_llgo_uint32, align 8 br label %_llgo_10 _llgo_10: ; preds = %_llgo_9, %_llgo_8 - %107 = load ptr, ptr @_llgo_bool, align 8 - %108 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %109 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %108, i32 0, i32 0 - store ptr @1, ptr %109, align 8 - %110 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %108, i32 0, i32 1 - store i64 40, ptr %110, align 4 - %111 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %108, align 8 - %112 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %111, i64 25, i64 80, i64 0, i64 22) + %30 = load ptr, ptr @_llgo_uint32, align 8 + %31 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %32 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %31, i32 0, i32 0 + store ptr @2, ptr %32, align 8 + %33 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %31, i32 0, i32 1 + store i64 41, ptr %33, align 4 + %34 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %31, align 8 + %35 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %34, i64 8, i64 1, i64 0, i64 0) + %36 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.TFlag", align 8 + %37 = icmp eq ptr %36, null + br i1 %37, label %_llgo_11, label %_llgo_12 + +_llgo_11: ; preds = %_llgo_10 + store ptr %35, ptr @"_llgo_github.com/goplus/llgo/internal/abi.TFlag", align 8 + br label %_llgo_12 + +_llgo_12: ; preds = %_llgo_11, %_llgo_10 + %38 = load ptr, ptr @_llgo_uint8, align 8 + %39 = icmp eq ptr %38, null + br i1 %39, label %_llgo_13, label %_llgo_14 + +_llgo_13: ; preds = %_llgo_12 + %40 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + store ptr %40, ptr @_llgo_uint8, align 8 + br label %_llgo_14 + +_llgo_14: ; preds = %_llgo_13, %_llgo_12 + %41 = load ptr, ptr @_llgo_uint8, align 8 + br i1 %37, label %_llgo_15, label %_llgo_16 + +_llgo_15: ; preds = %_llgo_14 + %42 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %42, i32 0, i32 0 + store ptr @3, ptr %43, align 8 + %44 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %42, i32 0, i32 1 + store i64 35, ptr %44, align 4 + %45 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %42, align 8 + %46 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %47 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %46, i32 0, i32 0 + store ptr @4, ptr %47, align 8 + %48 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %46, i32 0, i32 1 + store i64 5, ptr %48, align 4 + %49 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %46, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %35, %"github.com/goplus/llgo/internal/runtime.String" %45, %"github.com/goplus/llgo/internal/runtime.String" %49, ptr %41, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + br label %_llgo_16 + +_llgo_16: ; preds = %_llgo_15, %_llgo_14 + %50 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.TFlag", align 8 + %51 = load ptr, ptr @_llgo_Pointer, align 8 + %52 = icmp eq ptr %51, null + br i1 %52, label %_llgo_17, label %_llgo_18 + +_llgo_17: ; preds = %_llgo_16 + %53 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %53) + store ptr %53, ptr @_llgo_Pointer, align 8 + br label %_llgo_18 + +_llgo_18: ; preds = %_llgo_17, %_llgo_16 + %54 = load ptr, ptr @_llgo_Pointer, align 8 + %55 = load ptr, ptr @_llgo_bool, align 8 + %56 = icmp eq ptr %55, null + br i1 %56, label %_llgo_19, label %_llgo_20 + +_llgo_19: ; preds = %_llgo_18 + %57 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 33) + store ptr %57, ptr @_llgo_bool, align 8 + br label %_llgo_20 + +_llgo_20: ; preds = %_llgo_19, %_llgo_18 + %58 = load ptr, ptr @_llgo_bool, align 8 + %59 = load ptr, ptr @_llgo_Pointer, align 8 + %60 = load ptr, ptr @_llgo_Pointer, align 8 + %61 = load ptr, ptr @_llgo_Pointer, align 8 + %62 = load ptr, ptr @_llgo_bool, align 8 + %63 = load ptr, ptr @"_llgo_func$QUW0mAalenD4Bc6QsairPZ_HOMzGmcNs0GCyMzTNFig", align 8 + %64 = icmp eq ptr %63, null + br i1 %64, label %_llgo_21, label %_llgo_22 + +_llgo_21: ; preds = %_llgo_20 + %65 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %66 = getelementptr ptr, ptr %65, i64 0 + store ptr %59, ptr %66, align 8 + %67 = getelementptr ptr, ptr %65, i64 1 + store ptr %60, ptr %67, align 8 + %68 = getelementptr ptr, ptr %65, i64 2 + store ptr %61, ptr %68, align 8 + %69 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %70 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %69, i32 0, i32 0 + store ptr %65, ptr %70, align 8 + %71 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %69, i32 0, i32 1 + store i64 3, ptr %71, align 4 + %72 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %69, i32 0, i32 2 + store i64 3, ptr %72, align 4 + %73 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %69, align 8 + %74 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %75 = getelementptr ptr, ptr %74, i64 0 + store ptr %62, ptr %75, align 8 + %76 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %77 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %76, i32 0, i32 0 + store ptr %74, ptr %77, align 8 + %78 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %76, i32 0, i32 1 + store i64 1, ptr %78, align 4 + %79 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %76, i32 0, i32 2 + store i64 1, ptr %79, align 4 + %80 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %76, align 8 + %81 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %73, %"github.com/goplus/llgo/internal/runtime.Slice" %80, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %81) + store ptr %81, ptr @"_llgo_func$QUW0mAalenD4Bc6QsairPZ_HOMzGmcNs0GCyMzTNFig", align 8 + br label %_llgo_22 + +_llgo_22: ; preds = %_llgo_21, %_llgo_20 + %82 = load ptr, ptr @"_llgo_func$QUW0mAalenD4Bc6QsairPZ_HOMzGmcNs0GCyMzTNFig", align 8 + %83 = load ptr, ptr @_llgo_Pointer, align 8 + %84 = load ptr, ptr @_llgo_Pointer, align 8 + %85 = load ptr, ptr @_llgo_Pointer, align 8 + %86 = load ptr, ptr @_llgo_bool, align 8 + %87 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %88 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %87, i32 0, i32 0 + store ptr @5, ptr %88, align 8 + %89 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %87, i32 0, i32 1 + store i64 1, ptr %89, align 4 + %90 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %87, align 8 + %91 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %92 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %91, i32 0, i32 0 + store ptr null, ptr %92, align 8 + %93 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %91, i32 0, i32 1 + store i64 0, ptr %93, align 4 + %94 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %91, align 8 + %95 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %96 = getelementptr ptr, ptr %95, i64 0 + store ptr %83, ptr %96, align 8 + %97 = getelementptr ptr, ptr %95, i64 1 + store ptr %84, ptr %97, align 8 + %98 = getelementptr ptr, ptr %95, i64 2 + store ptr %85, ptr %98, align 8 + %99 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %100 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %99, i32 0, i32 0 + store ptr %95, ptr %100, align 8 + %101 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %99, i32 0, i32 1 + store i64 3, ptr %101, align 4 + %102 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %99, i32 0, i32 2 + store i64 3, ptr %102, align 4 + %103 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %99, align 8 + %104 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %105 = getelementptr ptr, ptr %104, i64 0 + store ptr %86, ptr %105, align 8 + %106 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %107 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %106, i32 0, i32 0 + store ptr %104, ptr %107, align 8 + %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %106, i32 0, i32 1 + store i64 1, ptr %108, align 4 + %109 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %106, i32 0, i32 2 + store i64 1, ptr %109, align 4 + %110 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %106, align 8 + %111 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %103, %"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" %90, ptr %111, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %94, i1 false) %113 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %114 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %113, i32 0, i32 0 - store ptr @9, ptr %114, align 8 + store ptr @6, ptr %114, align 8 %115 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %113, i32 0, i32 1 - store i64 5, ptr %115, align 4 + store i64 4, ptr %115, align 4 %116 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %113, align 8 %117 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %118 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %117, i32 0, i32 0 @@ -663,2914 +736,2967 @@ _llgo_10: ; preds = %_llgo_9, %_llgo_8 %119 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %117, i32 0, i32 1 store i64 0, ptr %119, align 4 %120 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %117, align 8 - %121 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - %122 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %116, ptr %121, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %120, i1 false) + %121 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %122 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %116, ptr %121, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %120, i1 false) %123 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %124 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %123, i32 0, i32 0 - store ptr @10, ptr %124, align 8 + store ptr @7, ptr %124, align 8 %125 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %123, i32 0, i32 1 - store i64 8, ptr %125, align 4 + store i64 4, ptr %125, align 4 %126 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %123, align 8 - %127 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %128 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %127, i32 0, i32 0 - store ptr null, ptr %128, align 8 - %129 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %127, i32 0, i32 1 - store i64 0, ptr %129, align 4 - %130 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %127, align 8 - %131 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - %132 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %126, ptr %131, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %130, i1 false) - %133 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %134 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %133, i32 0, i32 0 - store ptr @11, ptr %134, align 8 - %135 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %133, i32 0, i32 1 - store i64 4, ptr %135, align 4 - %136 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %133, align 8 - %137 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %138 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %137, i32 0, i32 0 - store ptr null, ptr %138, align 8 - %139 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %137, i32 0, i32 1 - store i64 0, ptr %139, align 4 - %140 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %137, align 8 - %141 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) - %142 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %136, ptr %141, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %140, i1 false) - %143 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %144 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %143, i32 0, i32 0 - store ptr @12, ptr %144, align 8 - %145 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %143, i32 0, i32 1 - store i64 5, ptr %145, align 4 - %146 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %143, align 8 - %147 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %148 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %147, i32 0, i32 0 - store ptr null, ptr %148, align 8 - %149 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %147, i32 0, i32 1 - store i64 0, ptr %149, align 4 - %150 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %147, align 8 - %151 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %146, ptr %97, i64 20, %"github.com/goplus/llgo/internal/runtime.String" %150, i1 false) - %152 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %153 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %152, i32 0, i32 0 - store ptr @13, ptr %153, align 8 - %154 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %152, i32 0, i32 1 - store i64 6, ptr %154, align 4 - %155 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %152, align 8 - %156 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %157 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %156, i32 0, i32 0 - store ptr null, ptr %157, align 8 - %158 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %156, i32 0, i32 1 - store i64 0, ptr %158, align 4 - %159 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %156, align 8 - %160 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %161 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %155, ptr %160, i64 21, %"github.com/goplus/llgo/internal/runtime.String" %159, i1 false) - %162 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %163 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %162, i32 0, i32 0 - store ptr @14, ptr %163, align 8 - %164 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %162, i32 0, i32 1 - store i64 11, ptr %164, align 4 - %165 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %162, align 8 - %166 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %167 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %166, i32 0, i32 0 - store ptr null, ptr %167, align 8 - %168 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %166, i32 0, i32 1 - store i64 0, ptr %168, align 4 - %169 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %166, align 8 - %170 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %171 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %165, ptr %170, i64 22, %"github.com/goplus/llgo/internal/runtime.String" %169, i1 false) - %172 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %173 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %172, i32 0, i32 0 - store ptr @15, ptr %173, align 8 - %174 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %172, i32 0, i32 1 - store i64 5, ptr %174, align 4 - %175 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %172, align 8 - %176 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %177 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %176, i32 0, i32 0 - store ptr null, ptr %177, align 8 - %178 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %176, i32 0, i32 1 - store i64 0, ptr %178, align 4 - %179 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %176, align 8 - %180 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %181 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %175, ptr %180, i64 23, %"github.com/goplus/llgo/internal/runtime.String" %179, i1 false) - %182 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %183 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %182, i32 0, i32 0 - store ptr @16, ptr %183, align 8 - %184 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %182, i32 0, i32 1 - store i64 5, ptr %184, align 4 - %185 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %182, align 8 - %186 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %187 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %186, i32 0, i32 0 - store ptr null, ptr %187, align 8 - %188 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %186, i32 0, i32 1 - store i64 0, ptr %188, align 4 - %189 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %186, align 8 - %190 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %191 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %190, i32 0, i32 0 - store ptr @17, ptr %191, align 8 - %192 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %190, i32 0, i32 1 - store i64 1, ptr %192, align 4 - %193 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %190, align 8 - %194 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %195 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %194, i32 0, i32 0 - store ptr null, ptr %195, align 8 - %196 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %194, i32 0, i32 1 - store i64 0, ptr %196, align 4 - %197 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %194, align 8 - %198 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %199 = getelementptr ptr, ptr %198, i64 0 - store ptr %101, ptr %199, align 8 - %200 = getelementptr ptr, ptr %198, i64 1 - store ptr %102, ptr %200, align 8 - %201 = getelementptr ptr, ptr %198, i64 2 - store ptr %103, ptr %201, align 8 - %202 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %203 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %202, i32 0, i32 0 - store ptr %198, ptr %203, align 8 - %204 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %202, i32 0, i32 1 - store i64 3, ptr %204, align 4 - %205 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %202, i32 0, i32 2 - store i64 3, ptr %205, align 4 - %206 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %202, align 8 - %207 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %208 = getelementptr ptr, ptr %207, i64 0 - store ptr %107, ptr %208, align 8 - %209 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %210 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %209, i32 0, i32 0 - store ptr %207, ptr %210, align 8 - %211 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %209, i32 0, i32 1 - store i64 1, ptr %211, align 4 - %212 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %209, i32 0, i32 2 - store i64 1, ptr %212, align 4 - %213 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %209, align 8 - %214 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %206, %"github.com/goplus/llgo/internal/runtime.Slice" %213, i1 false) - %215 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %193, ptr %214, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %197, i1 false) - %216 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %217 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %216, i32 0, i32 0 - store ptr @18, ptr %217, align 8 - %218 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %216, i32 0, i32 1 - store i64 4, ptr %218, align 4 - %219 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %216, align 8 - %220 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %221 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %220, i32 0, i32 0 - store ptr null, ptr %221, align 8 - %222 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %220, i32 0, i32 1 - store i64 0, ptr %222, align 4 - %223 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %220, align 8 - %224 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %225 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %219, ptr %224, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %223, i1 false) - %226 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %227 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %226, i32 0, i32 0 - store ptr @6, ptr %227, align 8 - %228 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %226, i32 0, i32 1 - store i64 4, ptr %228, align 4 - %229 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %226, align 8 - %230 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %231 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %230, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %215, ptr %231, align 8 - %232 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %230, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %225, ptr %232, align 8 - %233 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %234 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %233, i32 0, i32 0 - store ptr %230, ptr %234, align 8 - %235 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %233, i32 0, i32 1 - store i64 2, ptr %235, align 4 - %236 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %233, i32 0, i32 2 - store i64 2, ptr %236, align 4 - %237 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %233, align 8 - %238 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %229, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %237) - %239 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %185, ptr %238, i64 24, %"github.com/goplus/llgo/internal/runtime.String" %189, i1 false) - %240 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %241 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %240, i32 0, i32 0 - store ptr @19, ptr %241, align 8 - %242 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %240, i32 0, i32 1 - store i64 6, ptr %242, align 4 - %243 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %240, align 8 - %244 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %245 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %244, i32 0, i32 0 - store ptr null, ptr %245, align 8 - %246 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %244, i32 0, i32 1 - store i64 0, ptr %246, align 4 - %247 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %244, align 8 - %248 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %249 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %248) - %250 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %243, ptr %249, i64 40, %"github.com/goplus/llgo/internal/runtime.String" %247, i1 false) - %251 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %252 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %251, i32 0, i32 0 - store ptr @20, ptr %252, align 8 - %253 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %251, i32 0, i32 1 - store i64 4, ptr %253, align 4 - %254 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %251, align 8 - %255 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %256 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %255, i32 0, i32 0 - store ptr null, ptr %256, align 8 - %257 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %255, i32 0, i32 1 - store i64 0, ptr %257, align 4 - %258 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %255, align 8 - %259 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %260 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %254, ptr %259, i64 48, %"github.com/goplus/llgo/internal/runtime.String" %258, i1 false) - %261 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %262 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %261, i32 0, i32 0 - store ptr @21, ptr %262, align 8 - %263 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %261, i32 0, i32 1 - store i64 10, ptr %263, align 4 - %264 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %261, align 8 - %265 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %266 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %265, i32 0, i32 0 - store ptr null, ptr %266, align 8 - %267 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %265, i32 0, i32 1 - store i64 0, ptr %267, align 4 - %268 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %265, align 8 - %269 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %112) - %270 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %264, ptr %269, i64 64, %"github.com/goplus/llgo/internal/runtime.String" %268, i1 false) - %271 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %272 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %271, i32 0, i32 0 - store ptr @6, ptr %272, align 8 - %273 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %271, i32 0, i32 1 - store i64 4, ptr %273, align 4 - %274 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %271, align 8 - %275 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 616) - %276 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %275, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %122, ptr %276, align 8 - %277 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %275, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %132, ptr %277, align 8 - %278 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %275, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %142, ptr %278, align 8 - %279 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %275, i64 3 - store %"github.com/goplus/llgo/internal/abi.StructField" %151, ptr %279, align 8 - %280 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %275, i64 4 - store %"github.com/goplus/llgo/internal/abi.StructField" %161, ptr %280, align 8 - %281 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %275, i64 5 - store %"github.com/goplus/llgo/internal/abi.StructField" %171, ptr %281, align 8 - %282 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %275, i64 6 - store %"github.com/goplus/llgo/internal/abi.StructField" %181, ptr %282, align 8 - %283 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %275, i64 7 - store %"github.com/goplus/llgo/internal/abi.StructField" %239, ptr %283, align 8 - %284 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %275, i64 8 - store %"github.com/goplus/llgo/internal/abi.StructField" %250, ptr %284, align 8 - %285 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %275, i64 9 - store %"github.com/goplus/llgo/internal/abi.StructField" %260, ptr %285, align 8 - %286 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %275, i64 10 - store %"github.com/goplus/llgo/internal/abi.StructField" %270, ptr %286, align 8 - %287 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %288 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %287, i32 0, i32 0 - store ptr %275, ptr %288, align 8 - %289 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %287, i32 0, i32 1 - store i64 11, ptr %289, align 4 - %290 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %287, i32 0, i32 2 - store i64 11, ptr %290, align 4 - %291 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %287, align 8 - %292 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %274, i64 72, %"github.com/goplus/llgo/internal/runtime.Slice" %291) - store ptr %292, ptr @"main.struct$13P_TvKNXommvK6tKt3eRNnJqTcPEFYrHagFiHeRpb0", align 8 - %293 = load ptr, ptr @"main.struct$13P_TvKNXommvK6tKt3eRNnJqTcPEFYrHagFiHeRpb0", align 8 - br i1 %92, label %_llgo_11, label %_llgo_12 + %127 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %128 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %127, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %112, ptr %128, align 8 + %129 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %127, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %122, ptr %129, align 8 + %130 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %131 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %130, i32 0, i32 0 + store ptr %127, ptr %131, align 8 + %132 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %130, i32 0, i32 1 + store i64 2, ptr %132, align 4 + %133 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %130, i32 0, i32 2 + store i64 2, ptr %133, align 4 + %134 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %130, align 8 + %135 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %126, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %134) + store ptr %135, ptr @"main.struct$p9hq6rduefaRA0UGJ6DazYUtteEOtDFu7UHk5jhDUV4", align 8 + %136 = load ptr, ptr @"main.struct$p9hq6rduefaRA0UGJ6DazYUtteEOtDFu7UHk5jhDUV4", align 8 + %137 = load ptr, ptr @_llgo_byte, align 8 + %138 = icmp eq ptr %137, null + br i1 %138, label %_llgo_23, label %_llgo_24 -_llgo_11: ; preds = %_llgo_10 - %294 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %295 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %294, i32 0, i32 0 - store ptr @22, ptr %295, align 8 - %296 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %294, i32 0, i32 1 - store i64 5, ptr %296, align 4 - %297 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %294, align 8 - %298 = load ptr, ptr @_llgo_int, align 8 - %299 = icmp eq ptr %298, null - br i1 %299, label %_llgo_13, label %_llgo_14 - -_llgo_12: ; preds = %_llgo_106, %_llgo_10 - ret void - -_llgo_13: ; preds = %_llgo_11 - %300 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - store ptr %300, ptr @_llgo_int, align 8 - br label %_llgo_14 - -_llgo_14: ; preds = %_llgo_13, %_llgo_11 - %301 = load ptr, ptr @_llgo_int, align 8 - %302 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %303 = icmp eq ptr %302, null - br i1 %303, label %_llgo_15, label %_llgo_16 - -_llgo_15: ; preds = %_llgo_14 - %304 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %305 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %306 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %305, i32 0, i32 0 - store ptr %304, ptr %306, align 8 - %307 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %305, i32 0, i32 1 - store i64 0, ptr %307, align 4 - %308 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %305, i32 0, i32 2 - store i64 0, ptr %308, align 4 - %309 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %305, align 8 - %310 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %311 = getelementptr ptr, ptr %310, i64 0 - store ptr %301, ptr %311, align 8 - %312 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %313 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %312, i32 0, i32 0 - store ptr %310, ptr %313, align 8 - %314 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %312, i32 0, i32 1 - store i64 1, ptr %314, align 4 - %315 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %312, i32 0, i32 2 - store i64 1, ptr %315, align 4 - %316 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %312, align 8 - %317 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %309, %"github.com/goplus/llgo/internal/runtime.Slice" %316, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %317) - store ptr %317, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - br label %_llgo_16 - -_llgo_16: ; preds = %_llgo_15, %_llgo_14 - %318 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %319 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %320 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %319, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %297, ptr %320, align 8 - %321 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %319, i32 0, i32 1 - store ptr %318, ptr %321, align 8 - %322 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %319, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Align", ptr %322, align 8 - %323 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %319, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Align", ptr %323, align 8 - %324 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %319, align 8 - %325 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %326 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %325, i32 0, i32 0 - store ptr @23, ptr %326, align 8 - %327 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %325, i32 0, i32 1 - store i64 9, ptr %327, align 4 - %328 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %325, align 8 - %329 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %330 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %329, i32 0, i32 0 - store ptr @24, ptr %330, align 8 - %331 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %329, i32 0, i32 1 - store i64 45, ptr %331, align 4 - %332 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %329, align 8 - %333 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %332, i64 25, i64 104, i64 0, i64 20) - %334 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 - %335 = icmp eq ptr %334, null - br i1 %335, label %_llgo_17, label %_llgo_18 - -_llgo_17: ; preds = %_llgo_16 - store ptr %333, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 - br label %_llgo_18 - -_llgo_18: ; preds = %_llgo_17, %_llgo_16 - %336 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %337 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %336, i32 0, i32 0 - store ptr @1, ptr %337, align 8 - %338 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %336, i32 0, i32 1 - store i64 40, ptr %338, align 4 - %339 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %336, align 8 - %340 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %339, i64 25, i64 80, i64 0, i64 22) - %341 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %342 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %341, i32 0, i32 0 - store ptr @1, ptr %342, align 8 - %343 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %341, i32 0, i32 1 - store i64 40, ptr %343, align 4 - %344 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %341, align 8 - %345 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %344, i64 25, i64 80, i64 0, i64 22) - %346 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %347 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %346, i32 0, i32 0 - store ptr @1, ptr %347, align 8 - %348 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %346, i32 0, i32 1 - store i64 40, ptr %348, align 4 - %349 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %346, align 8 - %350 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %349, i64 25, i64 80, i64 0, i64 22) - %351 = load ptr, ptr @"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY", align 8 - %352 = icmp eq ptr %351, null - br i1 %352, label %_llgo_19, label %_llgo_20 - -_llgo_19: ; preds = %_llgo_18 - %353 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %354 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %353, i32 0, i32 0 - store ptr @25, ptr %354, align 8 - %355 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %353, i32 0, i32 1 - store i64 4, ptr %355, align 4 - %356 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %353, align 8 - %357 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %358 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %357, i32 0, i32 0 - store ptr null, ptr %358, align 8 - %359 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %357, i32 0, i32 1 - store i64 0, ptr %359, align 4 - %360 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %357, align 8 - %361 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %356, ptr %340, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %360, i1 true) - %362 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %363 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %362, i32 0, i32 0 - store ptr @26, ptr %363, align 8 - %364 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %362, i32 0, i32 1 - store i64 4, ptr %364, align 4 - %365 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %362, align 8 - %366 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %367 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %366, i32 0, i32 0 - store ptr null, ptr %367, align 8 - %368 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %366, i32 0, i32 1 - store i64 0, ptr %368, align 4 - %369 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %366, align 8 - %370 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %345) - %371 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %365, ptr %370, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %369, i1 false) - %372 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %373 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %372, i32 0, i32 0 - store ptr @27, ptr %373, align 8 - %374 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %372, i32 0, i32 1 - store i64 5, ptr %374, align 4 - %375 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %372, align 8 - %376 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %377 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %376, i32 0, i32 0 - store ptr null, ptr %377, align 8 - %378 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %376, i32 0, i32 1 - store i64 0, ptr %378, align 4 - %379 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %376, align 8 - %380 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %350) - %381 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %375, ptr %380, i64 80, %"github.com/goplus/llgo/internal/runtime.String" %379, i1 false) - %382 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %383 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %382, i32 0, i32 0 - store ptr @28, ptr %383, align 8 - %384 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %382, i32 0, i32 1 - store i64 3, ptr %384, align 4 - %385 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %382, align 8 - %386 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %387 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %386, i32 0, i32 0 - store ptr null, ptr %387, align 8 - %388 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %386, i32 0, i32 1 - store i64 0, ptr %388, align 4 - %389 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %386, align 8 - %390 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - %391 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %385, ptr %390, i64 88, %"github.com/goplus/llgo/internal/runtime.String" %389, i1 false) - %392 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %393 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %392, i32 0, i32 0 - store ptr @6, ptr %393, align 8 - %394 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %392, i32 0, i32 1 - store i64 4, ptr %394, align 4 - %395 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %392, align 8 - %396 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) - %397 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %396, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %361, ptr %397, align 8 - %398 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %396, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %371, ptr %398, align 8 - %399 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %396, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %381, ptr %399, align 8 - %400 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %396, i64 3 - store %"github.com/goplus/llgo/internal/abi.StructField" %391, ptr %400, align 8 - %401 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %402 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %401, i32 0, i32 0 - store ptr %396, ptr %402, align 8 - %403 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %401, i32 0, i32 1 - store i64 4, ptr %403, align 4 - %404 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %401, i32 0, i32 2 - store i64 4, ptr %404, align 4 - %405 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %401, align 8 - %406 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %395, i64 96, %"github.com/goplus/llgo/internal/runtime.Slice" %405) - store ptr %406, ptr @"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY", align 8 - br label %_llgo_20 - -_llgo_20: ; preds = %_llgo_19, %_llgo_18 - %407 = load ptr, ptr @"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY", align 8 - br i1 %335, label %_llgo_21, label %_llgo_22 - -_llgo_21: ; preds = %_llgo_20 - %408 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %409 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %408, i32 0, i32 0 - store ptr @22, ptr %409, align 8 - %410 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %408, i32 0, i32 1 - store i64 5, ptr %410, align 4 - %411 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %408, align 8 - %412 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %413 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %414 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %413, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %411, ptr %414, align 8 - %415 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %413, i32 0, i32 1 - store ptr %412, ptr %415, align 8 - %416 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %413, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Align", ptr %416, align 8 - %417 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %413, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Align", ptr %417, align 8 - %418 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %413, align 8 - %419 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %420 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %419, i32 0, i32 0 - store ptr @23, ptr %420, align 8 - %421 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %419, i32 0, i32 1 - store i64 9, ptr %421, align 4 - %422 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %419, align 8 - %423 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %424 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %425 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %424, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %422, ptr %425, align 8 - %426 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %424, i32 0, i32 1 - store ptr %423, ptr %426, align 8 - %427 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %424, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ArrayType", ptr %427, align 8 - %428 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %424, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ArrayType", ptr %428, align 8 - %429 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %424, align 8 - %430 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %431 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %430, i32 0, i32 0 - store ptr @29, ptr %431, align 8 - %432 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %430, i32 0, i32 1 - store i64 7, ptr %432, align 4 - %433 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %430, align 8 - %434 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %435 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %434, i32 0, i32 0 - store ptr @30, ptr %435, align 8 - %436 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %434, i32 0, i32 1 - store i64 43, ptr %436, align 4 - %437 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %434, align 8 - %438 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %437, i64 2, i64 8, i64 0, i64 0) - %439 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir", align 8 - %440 = icmp eq ptr %439, null - br i1 %440, label %_llgo_23, label %_llgo_24 - -_llgo_22: ; preds = %_llgo_102, %_llgo_20 - %441 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %442 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %441, i32 0, i32 0 - store ptr @24, ptr %442, align 8 - %443 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %441, i32 0, i32 1 - store i64 45, ptr %443, align 4 - %444 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %441, align 8 - %445 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %444, i64 25, i64 104, i64 0, i64 20) - %446 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 - %447 = icmp eq ptr %446, null - br i1 %447, label %_llgo_103, label %_llgo_104 - -_llgo_23: ; preds = %_llgo_21 - store ptr %438, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir", align 8 +_llgo_23: ; preds = %_llgo_22 + %139 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + store ptr %139, ptr @_llgo_byte, align 8 br label %_llgo_24 -_llgo_24: ; preds = %_llgo_23, %_llgo_21 - %448 = load ptr, ptr @_llgo_int, align 8 - br i1 %440, label %_llgo_25, label %_llgo_26 +_llgo_24: ; preds = %_llgo_23, %_llgo_22 + %140 = load ptr, ptr @_llgo_byte, align 8 + %141 = load ptr, ptr @"*_llgo_byte", align 8 + %142 = icmp eq ptr %141, null + br i1 %142, label %_llgo_25, label %_llgo_26 _llgo_25: ; preds = %_llgo_24 - %449 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %450 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %449, i32 0, i32 0 - store ptr @31, ptr %450, align 8 - %451 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %449, i32 0, i32 1 - store i64 35, ptr %451, align 4 - %452 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %449, align 8 - %453 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %454 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %453, i32 0, i32 0 - store ptr @29, ptr %454, align 8 - %455 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %453, i32 0, i32 1 - store i64 7, ptr %455, align 4 - %456 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %453, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %438, %"github.com/goplus/llgo/internal/runtime.String" %452, %"github.com/goplus/llgo/internal/runtime.String" %456, ptr %448, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + %143 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %144 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %143) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %144) + store ptr %144, ptr @"*_llgo_byte", align 8 br label %_llgo_26 _llgo_26: ; preds = %_llgo_25, %_llgo_24 - %457 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir", align 8 - %458 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %459 = icmp eq ptr %458, null - br i1 %459, label %_llgo_27, label %_llgo_28 + %145 = load ptr, ptr @"*_llgo_byte", align 8 + %146 = load ptr, ptr @_llgo_string, align 8 + %147 = icmp eq ptr %146, null + br i1 %147, label %_llgo_27, label %_llgo_28 _llgo_27: ; preds = %_llgo_26 - %460 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %461 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %462 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %461, i32 0, i32 0 - store ptr %460, ptr %462, align 8 - %463 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %461, i32 0, i32 1 - store i64 0, ptr %463, align 4 - %464 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %461, i32 0, i32 2 - store i64 0, ptr %464, align 4 - %465 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %461, align 8 - %466 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %467 = getelementptr ptr, ptr %466, i64 0 - store ptr %457, ptr %467, align 8 - %468 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %469 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %468, i32 0, i32 0 - store ptr %466, ptr %469, align 8 - %470 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %468, i32 0, i32 1 - store i64 1, ptr %470, align 4 - %471 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %468, i32 0, i32 2 - store i64 1, ptr %471, align 4 - %472 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %468, align 8 - %473 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %465, %"github.com/goplus/llgo/internal/runtime.Slice" %472, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %473) - store ptr %473, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 + %148 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + store ptr %148, ptr @_llgo_string, align 8 br label %_llgo_28 _llgo_28: ; preds = %_llgo_27, %_llgo_26 - %474 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %475 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %476 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %475, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %433, ptr %476, align 8 - %477 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %475, i32 0, i32 1 - store ptr %474, ptr %477, align 8 - %478 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %475, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ChanDir", ptr %478, align 8 - %479 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %475, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ChanDir", ptr %479, align 8 - %480 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %475, align 8 - %481 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %482 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %481, i32 0, i32 0 - store ptr @32, ptr %482, align 8 - %483 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %481, i32 0, i32 1 - store i64 6, ptr %483, align 4 - %484 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %481, align 8 - %485 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %486 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %485, i32 0, i32 0 - store ptr @1, ptr %486, align 8 - %487 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %485, i32 0, i32 1 - store i64 40, ptr %487, align 4 - %488 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %485, align 8 - %489 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %488, i64 25, i64 80, i64 0, i64 22) - %490 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %491 = icmp eq ptr %490, null - br i1 %491, label %_llgo_29, label %_llgo_30 + %149 = load ptr, ptr @_llgo_string, align 8 + %150 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %151 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %150, i32 0, i32 0 + store ptr @1, ptr %151, align 8 + %152 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %150, i32 0, i32 1 + store i64 40, ptr %152, align 4 + %153 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %150, align 8 + %154 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %153, i64 25, i64 80, i64 0, i64 22) + %155 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %156 = icmp eq ptr %155, null + br i1 %156, label %_llgo_29, label %_llgo_30 _llgo_29: ; preds = %_llgo_28 - %492 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %489) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %492) - store ptr %492, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %157 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %154) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %157) + store ptr %157, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 br label %_llgo_30 _llgo_30: ; preds = %_llgo_29, %_llgo_28 - %493 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 - %494 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %495 = icmp eq ptr %494, null - br i1 %495, label %_llgo_31, label %_llgo_32 + %158 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %159 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %160 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %159, i32 0, i32 0 + store ptr @2, ptr %160, align 8 + %161 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %159, i32 0, i32 1 + store i64 41, ptr %161, align 4 + %162 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %159, align 8 + %163 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %162, i64 8, i64 1, i64 0, i64 0) + %164 = load ptr, ptr @_llgo_Pointer, align 8 + %165 = load ptr, ptr @_llgo_Pointer, align 8 + %166 = load ptr, ptr @_llgo_Pointer, align 8 + %167 = load ptr, ptr @_llgo_bool, align 8 + %168 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %169 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %168, i32 0, i32 0 + store ptr @1, ptr %169, align 8 + %170 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %168, i32 0, i32 1 + store i64 40, ptr %170, align 4 + %171 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %168, align 8 + %172 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %171, i64 25, i64 80, i64 0, i64 22) + %173 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %174 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %173, i32 0, i32 0 + store ptr @8, ptr %174, align 8 + %175 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %173, i32 0, i32 1 + store i64 5, ptr %175, align 4 + %176 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %173, align 8 + %177 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %178 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %177, i32 0, i32 0 + store ptr null, ptr %178, align 8 + %179 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %177, i32 0, i32 1 + store i64 0, ptr %179, align 4 + %180 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %177, align 8 + %181 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) + %182 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %176, ptr %181, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %180, i1 false) + %183 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %184 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %183, i32 0, i32 0 + store ptr @9, ptr %184, align 8 + %185 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %183, i32 0, i32 1 + store i64 8, ptr %185, align 4 + %186 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %183, align 8 + %187 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %188 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %187, i32 0, i32 0 + store ptr null, ptr %188, align 8 + %189 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %187, i32 0, i32 1 + store i64 0, ptr %189, align 4 + %190 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %187, align 8 + %191 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) + %192 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %186, ptr %191, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %190, i1 false) + %193 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %194 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %193, i32 0, i32 0 + store ptr @10, ptr %194, align 8 + %195 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %193, i32 0, i32 1 + store i64 4, ptr %195, align 4 + %196 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %193, align 8 + %197 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %198 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %197, i32 0, i32 0 + store ptr null, ptr %198, align 8 + %199 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %197, i32 0, i32 1 + store i64 0, ptr %199, align 4 + %200 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %197, align 8 + %201 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) + %202 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %196, ptr %201, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %200, i1 false) + %203 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %204 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %203, i32 0, i32 0 + store ptr @4, ptr %204, align 8 + %205 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %203, i32 0, i32 1 + store i64 5, ptr %205, align 4 + %206 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %203, align 8 + %207 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %208 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %207, i32 0, i32 0 + store ptr null, ptr %208, align 8 + %209 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %207, i32 0, i32 1 + store i64 0, ptr %209, align 4 + %210 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %207, align 8 + %211 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %206, ptr %163, i64 20, %"github.com/goplus/llgo/internal/runtime.String" %210, i1 false) + %212 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %213 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %212, i32 0, i32 0 + store ptr @11, ptr %213, align 8 + %214 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %212, i32 0, i32 1 + store i64 6, ptr %214, align 4 + %215 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %212, align 8 + %216 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %217 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %216, i32 0, i32 0 + store ptr null, ptr %217, align 8 + %218 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %216, i32 0, i32 1 + store i64 0, ptr %218, align 4 + %219 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %216, align 8 + %220 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %221 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %215, ptr %220, i64 21, %"github.com/goplus/llgo/internal/runtime.String" %219, i1 false) + %222 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %223 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %222, i32 0, i32 0 + store ptr @12, ptr %223, align 8 + %224 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %222, i32 0, i32 1 + store i64 11, ptr %224, align 4 + %225 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %222, align 8 + %226 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %227 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %226, i32 0, i32 0 + store ptr null, ptr %227, align 8 + %228 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %226, i32 0, i32 1 + store i64 0, ptr %228, align 4 + %229 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %226, align 8 + %230 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %231 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %225, ptr %230, i64 22, %"github.com/goplus/llgo/internal/runtime.String" %229, i1 false) + %232 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %233 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %232, i32 0, i32 0 + store ptr @13, ptr %233, align 8 + %234 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %232, i32 0, i32 1 + store i64 5, ptr %234, align 4 + %235 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %232, align 8 + %236 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %237 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %236, i32 0, i32 0 + store ptr null, ptr %237, align 8 + %238 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %236, i32 0, i32 1 + store i64 0, ptr %238, align 4 + %239 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %236, align 8 + %240 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %241 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %235, ptr %240, i64 23, %"github.com/goplus/llgo/internal/runtime.String" %239, i1 false) + %242 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %243 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %242, i32 0, i32 0 + store ptr @14, ptr %243, align 8 + %244 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %242, i32 0, i32 1 + store i64 5, ptr %244, align 4 + %245 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %242, align 8 + %246 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %247 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %246, i32 0, i32 0 + store ptr null, ptr %247, align 8 + %248 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %246, i32 0, i32 1 + store i64 0, ptr %248, align 4 + %249 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %246, align 8 + %250 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %251 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %250, i32 0, i32 0 + store ptr @5, ptr %251, align 8 + %252 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %250, i32 0, i32 1 + store i64 1, ptr %252, align 4 + %253 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %250, align 8 + %254 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %255 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %254, i32 0, i32 0 + store ptr null, ptr %255, align 8 + %256 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %254, i32 0, i32 1 + store i64 0, ptr %256, align 4 + %257 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %254, align 8 + %258 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %259 = getelementptr ptr, ptr %258, i64 0 + store ptr %164, ptr %259, align 8 + %260 = getelementptr ptr, ptr %258, i64 1 + store ptr %165, ptr %260, align 8 + %261 = getelementptr ptr, ptr %258, i64 2 + store ptr %166, ptr %261, align 8 + %262 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %263 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %262, i32 0, i32 0 + store ptr %258, ptr %263, align 8 + %264 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %262, i32 0, i32 1 + store i64 3, ptr %264, align 4 + %265 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %262, i32 0, i32 2 + store i64 3, ptr %265, align 4 + %266 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %262, align 8 + %267 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %268 = getelementptr ptr, ptr %267, i64 0 + store ptr %167, ptr %268, align 8 + %269 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %270 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %269, i32 0, i32 0 + store ptr %267, ptr %270, align 8 + %271 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %269, i32 0, i32 1 + store i64 1, ptr %271, align 4 + %272 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %269, i32 0, i32 2 + store i64 1, ptr %272, align 4 + %273 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %269, align 8 + %274 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %266, %"github.com/goplus/llgo/internal/runtime.Slice" %273, i1 false) + %275 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %253, ptr %274, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %257, i1 false) + %276 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %277 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %276, i32 0, i32 0 + store ptr @6, ptr %277, align 8 + %278 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %276, i32 0, i32 1 + store i64 4, ptr %278, align 4 + %279 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %276, align 8 + %280 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %281 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %280, i32 0, i32 0 + store ptr null, ptr %281, align 8 + %282 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %280, i32 0, i32 1 + store i64 0, ptr %282, align 4 + %283 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %280, align 8 + %284 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %285 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %279, ptr %284, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %283, i1 false) + %286 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %287 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %286, i32 0, i32 0 + store ptr @7, ptr %287, align 8 + %288 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %286, i32 0, i32 1 + store i64 4, ptr %288, align 4 + %289 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %286, align 8 + %290 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %291 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %290, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %275, ptr %291, align 8 + %292 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %290, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %285, ptr %292, align 8 + %293 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %294 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %293, i32 0, i32 0 + store ptr %290, ptr %294, align 8 + %295 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %293, i32 0, i32 1 + store i64 2, ptr %295, align 4 + %296 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %293, i32 0, i32 2 + store i64 2, ptr %296, align 4 + %297 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %293, align 8 + %298 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %289, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %297) + %299 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %245, ptr %298, i64 24, %"github.com/goplus/llgo/internal/runtime.String" %249, i1 false) + %300 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %301 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %300, i32 0, i32 0 + store ptr @15, ptr %301, align 8 + %302 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %300, i32 0, i32 1 + store i64 6, ptr %302, align 4 + %303 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %300, align 8 + %304 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %305 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %304, i32 0, i32 0 + store ptr null, ptr %305, align 8 + %306 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %304, i32 0, i32 1 + store i64 0, ptr %306, align 4 + %307 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %304, align 8 + %308 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %309 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %308) + %310 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %303, ptr %309, i64 40, %"github.com/goplus/llgo/internal/runtime.String" %307, i1 false) + %311 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %312 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %311, i32 0, i32 0 + store ptr @16, ptr %312, align 8 + %313 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %311, i32 0, i32 1 + store i64 4, ptr %313, align 4 + %314 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %311, align 8 + %315 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %316 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %315, i32 0, i32 0 + store ptr null, ptr %316, align 8 + %317 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %315, i32 0, i32 1 + store i64 0, ptr %317, align 4 + %318 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %315, align 8 + %319 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %320 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %314, ptr %319, i64 48, %"github.com/goplus/llgo/internal/runtime.String" %318, i1 false) + %321 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %322 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %321, i32 0, i32 0 + store ptr @17, ptr %322, align 8 + %323 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %321, i32 0, i32 1 + store i64 10, ptr %323, align 4 + %324 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %321, align 8 + %325 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %326 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %325, i32 0, i32 0 + store ptr null, ptr %326, align 8 + %327 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %325, i32 0, i32 1 + store i64 0, ptr %327, align 4 + %328 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %325, align 8 + %329 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %172) + %330 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %324, ptr %329, i64 64, %"github.com/goplus/llgo/internal/runtime.String" %328, i1 false) + %331 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %332 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %331, i32 0, i32 0 + store ptr @7, ptr %332, align 8 + %333 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %331, i32 0, i32 1 + store i64 4, ptr %333, align 4 + %334 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %331, align 8 + %335 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 616) + %336 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %335, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %182, ptr %336, align 8 + %337 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %335, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %192, ptr %337, align 8 + %338 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %335, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %202, ptr %338, align 8 + %339 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %335, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %211, ptr %339, align 8 + %340 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %335, i64 4 + store %"github.com/goplus/llgo/internal/abi.StructField" %221, ptr %340, align 8 + %341 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %335, i64 5 + store %"github.com/goplus/llgo/internal/abi.StructField" %231, ptr %341, align 8 + %342 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %335, i64 6 + store %"github.com/goplus/llgo/internal/abi.StructField" %241, ptr %342, align 8 + %343 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %335, i64 7 + store %"github.com/goplus/llgo/internal/abi.StructField" %299, ptr %343, align 8 + %344 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %335, i64 8 + store %"github.com/goplus/llgo/internal/abi.StructField" %310, ptr %344, align 8 + %345 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %335, i64 9 + store %"github.com/goplus/llgo/internal/abi.StructField" %320, ptr %345, align 8 + %346 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %335, i64 10 + store %"github.com/goplus/llgo/internal/abi.StructField" %330, ptr %346, align 8 + %347 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %348 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %347, i32 0, i32 0 + store ptr %335, ptr %348, align 8 + %349 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %347, i32 0, i32 1 + store i64 11, ptr %349, align 4 + %350 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %347, i32 0, i32 2 + store i64 11, ptr %350, align 4 + %351 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %347, align 8 + %352 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %334, i64 72, %"github.com/goplus/llgo/internal/runtime.Slice" %351) + store ptr %352, ptr @"main.struct$13P_TvKNXommvK6tKt3eRNnJqTcPEFYrHagFiHeRpb0", align 8 + %353 = load ptr, ptr @"main.struct$13P_TvKNXommvK6tKt3eRNnJqTcPEFYrHagFiHeRpb0", align 8 + br i1 %22, label %_llgo_31, label %_llgo_32 _llgo_31: ; preds = %_llgo_30 - %496 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %497 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %498 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %497, i32 0, i32 0 - store ptr %496, ptr %498, align 8 - %499 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %497, i32 0, i32 1 - store i64 0, ptr %499, align 4 - %500 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %497, i32 0, i32 2 - store i64 0, ptr %500, align 4 - %501 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %497, align 8 - %502 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %503 = getelementptr ptr, ptr %502, i64 0 - store ptr %493, ptr %503, align 8 - %504 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %505 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %504, i32 0, i32 0 - store ptr %502, ptr %505, align 8 - %506 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %504, i32 0, i32 1 - store i64 1, ptr %506, align 4 - %507 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %504, i32 0, i32 2 - store i64 1, ptr %507, align 4 - %508 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %504, align 8 - %509 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %501, %"github.com/goplus/llgo/internal/runtime.Slice" %508, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %509) - store ptr %509, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - br label %_llgo_32 + %354 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %355 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %354, i32 0, i32 0 + store ptr @18, ptr %355, align 8 + %356 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %354, i32 0, i32 1 + store i64 5, ptr %356, align 4 + %357 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %354, align 8 + %358 = load ptr, ptr @_llgo_int, align 8 + %359 = icmp eq ptr %358, null + br i1 %359, label %_llgo_33, label %_llgo_34 -_llgo_32: ; preds = %_llgo_31, %_llgo_30 - %510 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %511 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %512 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %511, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %484, ptr %512, align 8 - %513 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %511, i32 0, i32 1 - store ptr %510, ptr %513, align 8 - %514 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %511, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Common", ptr %514, align 8 - %515 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %511, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Common", ptr %515, align 8 - %516 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %511, align 8 - %517 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %518 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %517, i32 0, i32 0 - store ptr @33, ptr %518, align 8 - %519 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %517, i32 0, i32 1 - store i64 15, ptr %519, align 4 - %520 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %517, align 8 - %521 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %522 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %521, i32 0, i32 0 - store ptr @34, ptr %522, align 8 - %523 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %521, i32 0, i32 1 - store i64 42, ptr %523, align 4 - %524 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %521, align 8 - %525 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %524, i64 25, i64 40, i64 0, i64 3) - %526 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 - %527 = icmp eq ptr %526, null - br i1 %527, label %_llgo_33, label %_llgo_34 +_llgo_32: ; preds = %_llgo_42, %_llgo_30 + %360 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %361 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %362 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %363 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %362, i32 0, i32 0 + store ptr @0, ptr %363, align 8 + %364 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %362, i32 0, i32 1 + store i64 6, ptr %364, align 4 + %365 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %362, align 8 + %366 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %365, i64 25, i64 48, i64 0, i64 0) + %367 = load ptr, ptr @"[]_llgo_main.T", align 8 + %368 = icmp eq ptr %367, null + br i1 %368, label %_llgo_149, label %_llgo_150 -_llgo_33: ; preds = %_llgo_32 - %528 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %525) - store ptr %528, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 +_llgo_33: ; preds = %_llgo_31 + %369 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + store ptr %369, ptr @_llgo_int, align 8 br label %_llgo_34 -_llgo_34: ; preds = %_llgo_33, %_llgo_32 - %529 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 - %530 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %531 = icmp eq ptr %530, null - br i1 %531, label %_llgo_35, label %_llgo_36 +_llgo_34: ; preds = %_llgo_33, %_llgo_31 + %370 = load ptr, ptr @_llgo_int, align 8 + %371 = load ptr, ptr @_llgo_int, align 8 + %372 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %373 = icmp eq ptr %372, null + br i1 %373, label %_llgo_35, label %_llgo_36 _llgo_35: ; preds = %_llgo_34 - %532 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %533 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %534 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %533, i32 0, i32 0 - store ptr %532, ptr %534, align 8 - %535 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %533, i32 0, i32 1 - store i64 0, ptr %535, align 4 - %536 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %533, i32 0, i32 2 - store i64 0, ptr %536, align 4 - %537 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %533, align 8 - %538 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %539 = getelementptr ptr, ptr %538, i64 0 - store ptr %529, ptr %539, align 8 - %540 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %541 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %540, i32 0, i32 0 - store ptr %538, ptr %541, align 8 - %542 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %540, i32 0, i32 1 - store i64 1, ptr %542, align 4 - %543 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %540, i32 0, i32 2 - store i64 1, ptr %543, align 4 - %544 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %540, align 8 - %545 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %537, %"github.com/goplus/llgo/internal/runtime.Slice" %544, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %545) - store ptr %545, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %374 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %375 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %376 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %375, i32 0, i32 0 + store ptr %374, ptr %376, align 8 + %377 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %375, i32 0, i32 1 + store i64 0, ptr %377, align 4 + %378 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %375, i32 0, i32 2 + store i64 0, ptr %378, align 4 + %379 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %375, align 8 + %380 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %381 = getelementptr ptr, ptr %380, i64 0 + store ptr %371, ptr %381, align 8 + %382 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %383 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %382, i32 0, i32 0 + store ptr %380, ptr %383, align 8 + %384 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %382, i32 0, i32 1 + store i64 1, ptr %384, align 4 + %385 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %382, i32 0, i32 2 + store i64 1, ptr %385, align 4 + %386 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %382, align 8 + %387 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %379, %"github.com/goplus/llgo/internal/runtime.Slice" %386, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %387) + store ptr %387, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 br label %_llgo_36 _llgo_36: ; preds = %_llgo_35, %_llgo_34 - %546 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %547 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %548 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %547, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %520, ptr %548, align 8 - %549 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %547, i32 0, i32 1 - store ptr %546, ptr %549, align 8 - %550 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %547, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ExportedMethods", ptr %550, align 8 - %551 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %547, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ExportedMethods", ptr %551, align 8 - %552 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %547, align 8 - %553 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %554 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %553, i32 0, i32 0 - store ptr @35, ptr %554, align 8 - %555 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %553, i32 0, i32 1 - store i64 10, ptr %555, align 4 - %556 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %553, align 8 - %557 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %558 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %559 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %558, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %556, ptr %559, align 8 - %560 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %558, i32 0, i32 1 - store ptr %557, ptr %560, align 8 - %561 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %558, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FieldAlign", ptr %561, align 8 - %562 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %558, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FieldAlign", ptr %562, align 8 - %563 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %558, align 8 - %564 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %565 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %564, i32 0, i32 0 - store ptr @36, ptr %565, align 8 - %566 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %564, i32 0, i32 1 - store i64 8, ptr %566, align 4 - %567 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %564, align 8 - %568 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %569 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %568, i32 0, i32 0 - store ptr @37, ptr %569, align 8 - %570 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %568, i32 0, i32 1 - store i64 44, ptr %570, align 4 - %571 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %568, align 8 - %572 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %571, i64 25, i64 128, i64 0, i64 23) - %573 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %574 = icmp eq ptr %573, null - br i1 %574, label %_llgo_37, label %_llgo_38 + %388 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %389 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %390 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %389, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %357, ptr %390, align 8 + %391 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %389, i32 0, i32 1 + store ptr %388, ptr %391, align 8 + %392 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %389, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Align", ptr %392, align 8 + %393 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %389, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Align", ptr %393, align 8 + %394 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %389, align 8 + %395 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %396 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %395, i32 0, i32 0 + store ptr @19, ptr %396, align 8 + %397 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %395, i32 0, i32 1 + store i64 9, ptr %397, align 4 + %398 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %395, align 8 + %399 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %400 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %399, i32 0, i32 0 + store ptr @20, ptr %400, align 8 + %401 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %399, i32 0, i32 1 + store i64 45, ptr %401, align 4 + %402 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %399, align 8 + %403 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %402, i64 25, i64 104, i64 0, i64 20) + %404 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %405 = icmp eq ptr %404, null + br i1 %405, label %_llgo_37, label %_llgo_38 _llgo_37: ; preds = %_llgo_36 - store ptr %572, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + store ptr %403, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 br label %_llgo_38 _llgo_38: ; preds = %_llgo_37, %_llgo_36 - %575 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %576 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %575, i32 0, i32 0 - store ptr @1, ptr %576, align 8 - %577 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %575, i32 0, i32 1 - store i64 40, ptr %577, align 4 - %578 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %575, align 8 - %579 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %578, i64 25, i64 80, i64 0, i64 22) - %580 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %581 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %580, i32 0, i32 0 - store ptr @1, ptr %581, align 8 - %582 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %580, i32 0, i32 1 - store i64 40, ptr %582, align 4 - %583 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %580, align 8 - %584 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %583, i64 25, i64 80, i64 0, i64 22) - %585 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %586 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %585, i32 0, i32 0 - store ptr @1, ptr %586, align 8 - %587 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %585, i32 0, i32 1 - store i64 40, ptr %587, align 4 - %588 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %585, align 8 - %589 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %588, i64 25, i64 80, i64 0, i64 22) - %590 = load ptr, ptr @"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw", align 8 - %591 = icmp eq ptr %590, null - br i1 %591, label %_llgo_39, label %_llgo_40 + %406 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %407 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %408 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %409 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %408, i32 0, i32 0 + store ptr @1, ptr %409, align 8 + %410 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %408, i32 0, i32 1 + store i64 40, ptr %410, align 4 + %411 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %408, align 8 + %412 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %411, i64 25, i64 80, i64 0, i64 22) + %413 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %414 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %413, i32 0, i32 0 + store ptr @1, ptr %414, align 8 + %415 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %413, i32 0, i32 1 + store i64 40, ptr %415, align 4 + %416 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %413, align 8 + %417 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %416, i64 25, i64 80, i64 0, i64 22) + %418 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %419 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %418, i32 0, i32 0 + store ptr @1, ptr %419, align 8 + %420 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %418, i32 0, i32 1 + store i64 40, ptr %420, align 4 + %421 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %418, align 8 + %422 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %421, i64 25, i64 80, i64 0, i64 22) + %423 = load ptr, ptr @"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY", align 8 + %424 = icmp eq ptr %423, null + br i1 %424, label %_llgo_39, label %_llgo_40 _llgo_39: ; preds = %_llgo_38 - %592 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %593 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %592, i32 0, i32 0 - store ptr @25, ptr %593, align 8 - %594 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %592, i32 0, i32 1 - store i64 4, ptr %594, align 4 - %595 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %592, align 8 - %596 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %597 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %596, i32 0, i32 0 - store ptr null, ptr %597, align 8 - %598 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %596, i32 0, i32 1 - store i64 0, ptr %598, align 4 - %599 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %596, align 8 - %600 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %595, ptr %579, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %599, i1 true) - %601 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %602 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %601, i32 0, i32 0 - store ptr @38, ptr %602, align 8 - %603 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %601, i32 0, i32 1 - store i64 2, ptr %603, align 4 - %604 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %601, align 8 - %605 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %606 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %605, i32 0, i32 0 - store ptr null, ptr %606, align 8 - %607 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %605, i32 0, i32 1 - store i64 0, ptr %607, align 4 - %608 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %605, align 8 - %609 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %584) - %610 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %609) - %611 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %604, ptr %610, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %608, i1 false) - %612 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %613 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %612, i32 0, i32 0 - store ptr @39, ptr %613, align 8 - %614 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %612, i32 0, i32 1 - store i64 3, ptr %614, align 4 - %615 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %612, align 8 - %616 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %617 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %616, i32 0, i32 0 - store ptr null, ptr %617, align 8 - %618 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %616, i32 0, i32 1 - store i64 0, ptr %618, align 4 - %619 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %616, align 8 - %620 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %589) - %621 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %620) - %622 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %615, ptr %621, i64 96, %"github.com/goplus/llgo/internal/runtime.String" %619, i1 false) - %623 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %624 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %623, i32 0, i32 0 - store ptr @6, ptr %624, align 8 - %625 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %623, i32 0, i32 1 - store i64 4, ptr %625, align 4 - %626 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %623, align 8 - %627 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) - %628 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %627, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %600, ptr %628, align 8 - %629 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %627, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %611, ptr %629, align 8 - %630 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %627, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %622, ptr %630, align 8 - %631 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %632 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %631, i32 0, i32 0 - store ptr %627, ptr %632, align 8 - %633 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %631, i32 0, i32 1 - store i64 3, ptr %633, align 4 - %634 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %631, i32 0, i32 2 - store i64 3, ptr %634, align 4 - %635 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %631, align 8 - %636 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %626, i64 120, %"github.com/goplus/llgo/internal/runtime.Slice" %635) - store ptr %636, ptr @"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw", align 8 + %425 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %426 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %425, i32 0, i32 0 + store ptr @21, ptr %426, align 8 + %427 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %425, i32 0, i32 1 + store i64 4, ptr %427, align 4 + %428 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %425, align 8 + %429 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %430 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %429, i32 0, i32 0 + store ptr null, ptr %430, align 8 + %431 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %429, i32 0, i32 1 + store i64 0, ptr %431, align 4 + %432 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %429, align 8 + %433 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %428, ptr %412, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %432, i1 true) + %434 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %435 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %434, i32 0, i32 0 + store ptr @22, ptr %435, align 8 + %436 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %434, i32 0, i32 1 + store i64 4, ptr %436, align 4 + %437 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %434, align 8 + %438 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %439 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %438, i32 0, i32 0 + store ptr null, ptr %439, align 8 + %440 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %438, i32 0, i32 1 + store i64 0, ptr %440, align 4 + %441 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %438, align 8 + %442 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %417) + %443 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %437, ptr %442, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %441, i1 false) + %444 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %445 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %444, i32 0, i32 0 + store ptr @23, ptr %445, align 8 + %446 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %444, i32 0, i32 1 + store i64 5, ptr %446, align 4 + %447 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %444, align 8 + %448 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %449 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %448, i32 0, i32 0 + store ptr null, ptr %449, align 8 + %450 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %448, i32 0, i32 1 + store i64 0, ptr %450, align 4 + %451 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %448, align 8 + %452 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %422) + %453 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %447, ptr %452, i64 80, %"github.com/goplus/llgo/internal/runtime.String" %451, i1 false) + %454 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %455 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %454, i32 0, i32 0 + store ptr @24, ptr %455, align 8 + %456 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %454, i32 0, i32 1 + store i64 3, ptr %456, align 4 + %457 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %454, align 8 + %458 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %459 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %458, i32 0, i32 0 + store ptr null, ptr %459, align 8 + %460 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %458, i32 0, i32 1 + store i64 0, ptr %460, align 4 + %461 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %458, align 8 + %462 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) + %463 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %457, ptr %462, i64 88, %"github.com/goplus/llgo/internal/runtime.String" %461, i1 false) + %464 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %465 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %464, i32 0, i32 0 + store ptr @7, ptr %465, align 8 + %466 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %464, i32 0, i32 1 + store i64 4, ptr %466, align 4 + %467 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %464, align 8 + %468 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) + %469 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %468, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %433, ptr %469, align 8 + %470 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %468, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %443, ptr %470, align 8 + %471 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %468, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %453, ptr %471, align 8 + %472 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %468, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %463, ptr %472, align 8 + %473 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %474 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %473, i32 0, i32 0 + store ptr %468, ptr %474, align 8 + %475 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %473, i32 0, i32 1 + store i64 4, ptr %475, align 4 + %476 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %473, i32 0, i32 2 + store i64 4, ptr %476, align 4 + %477 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %473, align 8 + %478 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %467, i64 96, %"github.com/goplus/llgo/internal/runtime.Slice" %477) + store ptr %478, ptr @"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY", align 8 br label %_llgo_40 _llgo_40: ; preds = %_llgo_39, %_llgo_38 - %637 = load ptr, ptr @"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw", align 8 - br i1 %574, label %_llgo_41, label %_llgo_42 + %479 = load ptr, ptr @"_llgo_struct$eLreYy_0Tx9Ip-rgTmC6_uCvf27HVl_zBUTfLS0WYaY", align 8 + br i1 %405, label %_llgo_41, label %_llgo_42 _llgo_41: ; preds = %_llgo_40 + %480 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %481 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %480, i32 0, i32 0 + store ptr @18, ptr %481, align 8 + %482 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %480, i32 0, i32 1 + store i64 5, ptr %482, align 4 + %483 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %480, align 8 + %484 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %485 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %486 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %485, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %483, ptr %486, align 8 + %487 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %485, i32 0, i32 1 + store ptr %484, ptr %487, align 8 + %488 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %485, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Align", ptr %488, align 8 + %489 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %485, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Align", ptr %489, align 8 + %490 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %485, align 8 + %491 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %492 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %491, i32 0, i32 0 + store ptr @19, ptr %492, align 8 + %493 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %491, i32 0, i32 1 + store i64 9, ptr %493, align 4 + %494 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %491, align 8 + %495 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %496 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %495, i32 0, i32 0 + store ptr @20, ptr %496, align 8 + %497 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %495, i32 0, i32 1 + store i64 45, ptr %497, align 4 + %498 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %495, align 8 + %499 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %498, i64 25, i64 104, i64 0, i64 20) + %500 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %501 = icmp eq ptr %500, null + br i1 %501, label %_llgo_43, label %_llgo_44 + +_llgo_42: ; preds = %_llgo_148, %_llgo_40 + %502 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %503 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %504 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 + %505 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %506 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %505, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %398, ptr %506, align 8 + %507 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %505, i32 0, i32 1 + store ptr %504, ptr %507, align 8 + %508 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %505, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).ArrayType", ptr %508, align 8 + %509 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %505, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).ArrayType", ptr %509, align 8 + %510 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %505, align 8 + %511 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %512 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %511, i32 0, i32 0 + store ptr @25, ptr %512, align 8 + %513 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %511, i32 0, i32 1 + store i64 7, ptr %513, align 4 + %514 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %511, align 8 + %515 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 + %516 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %517 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %516, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %514, ptr %517, align 8 + %518 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %516, i32 0, i32 1 + store ptr %515, ptr %518, align 8 + %519 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %516, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).ChanDir", ptr %519, align 8 + %520 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %516, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).ChanDir", ptr %520, align 8 + %521 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %516, align 8 + %522 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %523 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %522, i32 0, i32 0 + store ptr @27, ptr %523, align 8 + %524 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %522, i32 0, i32 1 + store i64 6, ptr %524, align 4 + %525 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %522, align 8 + %526 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %527 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %528 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %529 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %528, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %525, ptr %529, align 8 + %530 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %528, i32 0, i32 1 + store ptr %527, ptr %530, align 8 + %531 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %528, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Common", ptr %531, align 8 + %532 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %528, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Common", ptr %532, align 8 + %533 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %528, align 8 + %534 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %535 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %534, i32 0, i32 0 + store ptr @22, ptr %535, align 8 + %536 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %534, i32 0, i32 1 + store i64 4, ptr %536, align 4 + %537 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %534, align 8 + %538 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %539 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %540 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %541 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %540, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %537, ptr %541, align 8 + %542 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %540, i32 0, i32 1 + store ptr %539, ptr %542, align 8 + %543 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %540, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Elem", ptr %543, align 8 + %544 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %540, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Elem", ptr %544, align 8 + %545 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %540, align 8 + %546 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %547 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %546, i32 0, i32 0 + store ptr @28, ptr %547, align 8 + %548 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %546, i32 0, i32 1 + store i64 15, ptr %548, align 4 + %549 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %546, align 8 + %550 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %551 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %552 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %553 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %552, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %549, ptr %553, align 8 + %554 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %552, i32 0, i32 1 + store ptr %551, ptr %554, align 8 + %555 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %552, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).ExportedMethods", ptr %555, align 8 + %556 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %552, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).ExportedMethods", ptr %556, align 8 + %557 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %552, align 8 + %558 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %559 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %558, i32 0, i32 0 + store ptr @33, ptr %559, align 8 + %560 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %558, i32 0, i32 1 + store i64 10, ptr %560, align 4 + %561 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %558, align 8 + %562 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %563 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %564 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %563, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %561, ptr %564, align 8 + %565 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %563, i32 0, i32 1 + store ptr %562, ptr %565, align 8 + %566 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %563, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).FieldAlign", ptr %566, align 8 + %567 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %563, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).FieldAlign", ptr %567, align 8 + %568 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %563, align 8 + %569 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %570 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %569, i32 0, i32 0 + store ptr @34, ptr %570, align 8 + %571 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %569, i32 0, i32 1 + store i64 8, ptr %571, align 4 + %572 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %569, align 8 + %573 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %574 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 + %575 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %576 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %575, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %572, ptr %576, align 8 + %577 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %575, i32 0, i32 1 + store ptr %574, ptr %577, align 8 + %578 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %575, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).FuncType", ptr %578, align 8 + %579 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %575, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).FuncType", ptr %579, align 8 + %580 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %575, align 8 + %581 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %582 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %581, i32 0, i32 0 + store ptr @35, ptr %582, align 8 + %583 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %581, i32 0, i32 1 + store i64 7, ptr %583, align 4 + %584 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %581, align 8 + %585 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %586 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %587 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %586, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %584, ptr %587, align 8 + %588 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %586, i32 0, i32 1 + store ptr %585, ptr %588, align 8 + %589 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %586, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).HasName", ptr %589, align 8 + %590 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %586, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).HasName", ptr %590, align 8 + %591 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %586, align 8 + %592 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %593 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %592, i32 0, i32 0 + store ptr @36, ptr %593, align 8 + %594 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %592, i32 0, i32 1 + store i64 10, ptr %594, align 4 + %595 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %592, align 8 + %596 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %597 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %598 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %597, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %595, ptr %598, align 8 + %599 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %597, i32 0, i32 1 + store ptr %596, ptr %599, align 8 + %600 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %597, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).IfaceIndir", ptr %600, align 8 + %601 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %597, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).IfaceIndir", ptr %601, align 8 + %602 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %597, align 8 + %603 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %604 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %603, i32 0, i32 0 + store ptr @37, ptr %604, align 8 + %605 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %603, i32 0, i32 1 + store i64 13, ptr %605, align 4 + %606 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %603, align 8 + %607 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %608 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 + %609 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %610 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %609, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %606, ptr %610, align 8 + %611 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %609, i32 0, i32 1 + store ptr %608, ptr %611, align 8 + %612 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %609, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).InterfaceType", ptr %612, align 8 + %613 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %609, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).InterfaceType", ptr %613, align 8 + %614 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %609, align 8 + %615 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %616 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %615, i32 0, i32 0 + store ptr @48, ptr %616, align 8 + %617 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %615, i32 0, i32 1 + store i64 13, ptr %617, align 4 + %618 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %615, align 8 + %619 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %620 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %621 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %620, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %618, ptr %621, align 8 + %622 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %620, i32 0, i32 1 + store ptr %619, ptr %622, align 8 + %623 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %620, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).IsDirectIface", ptr %623, align 8 + %624 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %620, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).IsDirectIface", ptr %624, align 8 + %625 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %620, align 8 + %626 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %627 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %626, i32 0, i32 0 + store ptr @49, ptr %627, align 8 + %628 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %626, i32 0, i32 1 + store i64 3, ptr %628, align 4 + %629 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %626, align 8 + %630 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %631 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %632 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %633 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %632, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %629, ptr %633, align 8 + %634 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %632, i32 0, i32 1 + store ptr %631, ptr %634, align 8 + %635 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %632, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Key", ptr %635, align 8 + %636 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %632, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Key", ptr %636, align 8 + %637 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %632, align 8 %638 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %639 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %638, i32 0, i32 0 - store ptr @22, ptr %639, align 8 + store ptr @50, ptr %639, align 8 %640 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %638, i32 0, i32 1 - store i64 5, ptr %640, align 4 + store i64 4, ptr %640, align 4 %641 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %638, align 8 - %642 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %642 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 %643 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 %644 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %643, i32 0, i32 0 store %"github.com/goplus/llgo/internal/runtime.String" %641, ptr %644, align 8 %645 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %643, i32 0, i32 1 store ptr %642, ptr %645, align 8 %646 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %643, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Align", ptr %646, align 8 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Kind", ptr %646, align 8 %647 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %643, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Align", ptr %647, align 8 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Kind", ptr %647, align 8 %648 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %643, align 8 %649 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %650 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %649, i32 0, i32 0 - store ptr @23, ptr %650, align 8 + store ptr @24, ptr %650, align 8 %651 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %649, i32 0, i32 1 - store i64 9, ptr %651, align 4 + store i64 3, ptr %651, align 4 %652 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %649, align 8 - %653 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 + %653 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 %654 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 %655 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %654, i32 0, i32 0 store %"github.com/goplus/llgo/internal/runtime.String" %652, ptr %655, align 8 %656 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %654, i32 0, i32 1 store ptr %653, ptr %656, align 8 %657 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %654, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ArrayType", ptr %657, align 8 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Len", ptr %657, align 8 %658 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %654, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ArrayType", ptr %658, align 8 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Len", ptr %658, align 8 %659 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %654, align 8 %660 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %661 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %660, i32 0, i32 0 - store ptr @29, ptr %661, align 8 + store ptr @53, ptr %661, align 8 %662 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %660, i32 0, i32 1 store i64 7, ptr %662, align 4 %663 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %660, align 8 - %664 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %665 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %666 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %665, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %663, ptr %666, align 8 - %667 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %665, i32 0, i32 1 - store ptr %664, ptr %667, align 8 - %668 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %665, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ChanDir", ptr %668, align 8 - %669 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %665, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ChanDir", ptr %669, align 8 - %670 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %665, align 8 - %671 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %672 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %671, i32 0, i32 0 - store ptr @32, ptr %672, align 8 - %673 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %671, i32 0, i32 1 - store i64 6, ptr %673, align 4 - %674 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %671, align 8 - %675 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %676 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %677 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %676, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %674, ptr %677, align 8 - %678 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %676, i32 0, i32 1 - store ptr %675, ptr %678, align 8 - %679 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %676, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Common", ptr %679, align 8 - %680 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %676, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Common", ptr %680, align 8 - %681 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %676, align 8 - %682 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %683 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %682, i32 0, i32 0 - store ptr @26, ptr %683, align 8 - %684 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %682, i32 0, i32 1 - store i64 4, ptr %684, align 4 - %685 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %682, align 8 - %686 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %687 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %688 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %687, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %685, ptr %688, align 8 - %689 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %687, i32 0, i32 1 - store ptr %686, ptr %689, align 8 - %690 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %687, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Elem", ptr %690, align 8 - %691 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %687, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Elem", ptr %691, align 8 - %692 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %687, align 8 - %693 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %694 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %693, i32 0, i32 0 - store ptr @33, ptr %694, align 8 - %695 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %693, i32 0, i32 1 - store i64 15, ptr %695, align 4 - %696 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %693, align 8 - %697 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %698 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %699 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %698, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %696, ptr %699, align 8 - %700 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %698, i32 0, i32 1 - store ptr %697, ptr %700, align 8 - %701 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %698, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ExportedMethods", ptr %701, align 8 - %702 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %698, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ExportedMethods", ptr %702, align 8 - %703 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %698, align 8 - %704 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %705 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %704, i32 0, i32 0 - store ptr @35, ptr %705, align 8 - %706 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %704, i32 0, i32 1 - store i64 10, ptr %706, align 4 - %707 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %704, align 8 - %708 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %709 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %710 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %709, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %707, ptr %710, align 8 - %711 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %709, i32 0, i32 1 - store ptr %708, ptr %711, align 8 - %712 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %709, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FieldAlign", ptr %712, align 8 - %713 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %709, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FieldAlign", ptr %713, align 8 - %714 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %709, align 8 - %715 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %716 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %715, i32 0, i32 0 - store ptr @36, ptr %716, align 8 - %717 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %715, i32 0, i32 1 - store i64 8, ptr %717, align 4 - %718 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %715, align 8 - %719 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %720 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %721 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %720, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %718, ptr %721, align 8 - %722 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %720, i32 0, i32 1 - store ptr %719, ptr %722, align 8 - %723 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %720, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FuncType", ptr %723, align 8 - %724 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %720, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FuncType", ptr %724, align 8 - %725 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %720, align 8 - %726 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %727 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %726, i32 0, i32 0 - store ptr @40, ptr %727, align 8 - %728 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %726, i32 0, i32 1 - store i64 7, ptr %728, align 4 - %729 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %726, align 8 - %730 = load ptr, ptr @_llgo_bool, align 8 - %731 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %732 = icmp eq ptr %731, null - br i1 %732, label %_llgo_43, label %_llgo_44 - -_llgo_42: ; preds = %_llgo_98, %_llgo_40 - %733 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %734 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %733, i32 0, i32 0 - store ptr @37, ptr %734, align 8 - %735 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %733, i32 0, i32 1 - store i64 44, ptr %735, align 4 - %736 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %733, align 8 - %737 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %736, i64 25, i64 128, i64 0, i64 23) - %738 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %739 = icmp eq ptr %738, null - br i1 %739, label %_llgo_99, label %_llgo_100 + %664 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %665 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 + %666 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %667 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %666, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %663, ptr %667, align 8 + %668 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %666, i32 0, i32 1 + store ptr %665, ptr %668, align 8 + %669 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %666, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).MapType", ptr %669, align 8 + %670 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %666, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).MapType", ptr %670, align 8 + %671 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %666, align 8 + %672 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %673 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %672, i32 0, i32 0 + store ptr @65, ptr %673, align 8 + %674 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %672, i32 0, i32 1 + store i64 9, ptr %674, align 4 + %675 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %672, align 8 + %676 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %677 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %678 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %677, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %675, ptr %678, align 8 + %679 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %677, i32 0, i32 1 + store ptr %676, ptr %679, align 8 + %680 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %677, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).NumMethod", ptr %680, align 8 + %681 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %677, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).NumMethod", ptr %681, align 8 + %682 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %677, align 8 + %683 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %684 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %683, i32 0, i32 0 + store ptr @66, ptr %684, align 8 + %685 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %683, i32 0, i32 1 + store i64 8, ptr %685, align 4 + %686 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %683, align 8 + %687 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %688 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %689 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %688, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %686, ptr %689, align 8 + %690 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %688, i32 0, i32 1 + store ptr %687, ptr %690, align 8 + %691 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %688, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Pointers", ptr %691, align 8 + %692 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %688, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Pointers", ptr %692, align 8 + %693 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %688, align 8 + %694 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %695 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %694, i32 0, i32 0 + store ptr @68, ptr %695, align 8 + %696 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %694, i32 0, i32 1 + store i64 4, ptr %696, align 4 + %697 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %694, align 8 + %698 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 + %699 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %700 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %699, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %697, ptr %700, align 8 + %701 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %699, i32 0, i32 1 + store ptr %698, ptr %701, align 8 + %702 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %699, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Size", ptr %702, align 8 + %703 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %699, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Size", ptr %703, align 8 + %704 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %699, align 8 + %705 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %706 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %705, i32 0, i32 0 + store ptr @52, ptr %706, align 8 + %707 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %705, i32 0, i32 1 + store i64 6, ptr %707, align 4 + %708 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %705, align 8 + %709 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %710 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %711 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %710, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %708, ptr %711, align 8 + %712 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %710, i32 0, i32 1 + store ptr %709, ptr %712, align 8 + %713 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %710, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).String", ptr %713, align 8 + %714 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %710, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).String", ptr %714, align 8 + %715 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %710, align 8 + %716 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %717 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %716, i32 0, i32 0 + store ptr @69, ptr %717, align 8 + %718 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %716, i32 0, i32 1 + store i64 10, ptr %718, align 4 + %719 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %716, align 8 + %720 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %721 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 + %722 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %723 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %722, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %719, ptr %723, align 8 + %724 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %722, i32 0, i32 1 + store ptr %721, ptr %724, align 8 + %725 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %722, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).StructType", ptr %725, align 8 + %726 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %722, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).StructType", ptr %726, align 8 + %727 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %722, align 8 + %728 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %729 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %728, i32 0, i32 0 + store ptr @79, ptr %729, align 8 + %730 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %728, i32 0, i32 1 + store i64 8, ptr %730, align 4 + %731 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %728, align 8 + %732 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 + %733 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %734 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %733, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %731, ptr %734, align 8 + %735 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %733, i32 0, i32 1 + store ptr %732, ptr %735, align 8 + %736 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %733, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Uncommon", ptr %736, align 8 + %737 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %733, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Uncommon", ptr %737, align 8 + %738 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %733, align 8 + %739 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 880) + %740 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %394, ptr %740, align 8 + %741 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %510, ptr %741, align 8 + %742 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %521, ptr %742, align 8 + %743 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 3 + store %"github.com/goplus/llgo/internal/abi.Method" %533, ptr %743, align 8 + %744 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 4 + store %"github.com/goplus/llgo/internal/abi.Method" %545, ptr %744, align 8 + %745 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 5 + store %"github.com/goplus/llgo/internal/abi.Method" %557, ptr %745, align 8 + %746 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 6 + store %"github.com/goplus/llgo/internal/abi.Method" %568, ptr %746, align 8 + %747 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 7 + store %"github.com/goplus/llgo/internal/abi.Method" %580, ptr %747, align 8 + %748 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 8 + store %"github.com/goplus/llgo/internal/abi.Method" %591, ptr %748, align 8 + %749 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 9 + store %"github.com/goplus/llgo/internal/abi.Method" %602, ptr %749, align 8 + %750 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 10 + store %"github.com/goplus/llgo/internal/abi.Method" %614, ptr %750, align 8 + %751 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 11 + store %"github.com/goplus/llgo/internal/abi.Method" %625, ptr %751, align 8 + %752 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 12 + store %"github.com/goplus/llgo/internal/abi.Method" %637, ptr %752, align 8 + %753 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 13 + store %"github.com/goplus/llgo/internal/abi.Method" %648, ptr %753, align 8 + %754 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 14 + store %"github.com/goplus/llgo/internal/abi.Method" %659, ptr %754, align 8 + %755 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 15 + store %"github.com/goplus/llgo/internal/abi.Method" %671, ptr %755, align 8 + %756 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 16 + store %"github.com/goplus/llgo/internal/abi.Method" %682, ptr %756, align 8 + %757 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 17 + store %"github.com/goplus/llgo/internal/abi.Method" %693, ptr %757, align 8 + %758 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 18 + store %"github.com/goplus/llgo/internal/abi.Method" %704, ptr %758, align 8 + %759 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 19 + store %"github.com/goplus/llgo/internal/abi.Method" %715, ptr %759, align 8 + %760 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 20 + store %"github.com/goplus/llgo/internal/abi.Method" %727, ptr %760, align 8 + %761 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %739, i64 21 + store %"github.com/goplus/llgo/internal/abi.Method" %738, ptr %761, align 8 + %762 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %763 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %762, i32 0, i32 0 + store ptr %739, ptr %763, align 8 + %764 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %762, i32 0, i32 1 + store i64 22, ptr %764, align 4 + %765 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %762, i32 0, i32 2 + store i64 22, ptr %765, align 4 + %766 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %762, align 8 + %767 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %768 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %767, i32 0, i32 0 + store ptr @3, ptr %768, align 8 + %769 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %767, i32 0, i32 1 + store i64 35, ptr %769, align 4 + %770 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %767, align 8 + %771 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %772 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %771, i32 0, i32 0 + store ptr @21, ptr %772, align 8 + %773 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %771, i32 0, i32 1 + store i64 4, ptr %773, align 4 + %774 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %771, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %20, %"github.com/goplus/llgo/internal/runtime.String" %770, %"github.com/goplus/llgo/internal/runtime.String" %774, ptr %353, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %766) + br label %_llgo_32 _llgo_43: ; preds = %_llgo_41 - %740 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %741 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %742 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %741, i32 0, i32 0 - store ptr %740, ptr %742, align 8 - %743 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %741, i32 0, i32 1 - store i64 0, ptr %743, align 4 - %744 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %741, i32 0, i32 2 - store i64 0, ptr %744, align 4 - %745 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %741, align 8 - %746 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %747 = getelementptr ptr, ptr %746, i64 0 - store ptr %730, ptr %747, align 8 - %748 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %749 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %748, i32 0, i32 0 - store ptr %746, ptr %749, align 8 - %750 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %748, i32 0, i32 1 - store i64 1, ptr %750, align 4 - %751 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %748, i32 0, i32 2 - store i64 1, ptr %751, align 4 - %752 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %748, align 8 - %753 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %745, %"github.com/goplus/llgo/internal/runtime.Slice" %752, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %753) - store ptr %753, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %775 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %499) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %775) + store ptr %775, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 br label %_llgo_44 _llgo_44: ; preds = %_llgo_43, %_llgo_41 - %754 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %755 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %756 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %755, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %729, ptr %756, align 8 - %757 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %755, i32 0, i32 1 - store ptr %754, ptr %757, align 8 - %758 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %755, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).HasName", ptr %758, align 8 - %759 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %755, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).HasName", ptr %759, align 8 - %760 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %755, align 8 - %761 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %762 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %761, i32 0, i32 0 - store ptr @41, ptr %762, align 8 - %763 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %761, i32 0, i32 1 - store i64 10, ptr %763, align 4 - %764 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %761, align 8 - %765 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %766 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %767 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %766, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %764, ptr %767, align 8 - %768 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %766, i32 0, i32 1 - store ptr %765, ptr %768, align 8 - %769 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %766, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IfaceIndir", ptr %769, align 8 - %770 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %766, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IfaceIndir", ptr %770, align 8 - %771 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %766, align 8 - %772 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %773 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %772, i32 0, i32 0 - store ptr @42, ptr %773, align 8 - %774 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %772, i32 0, i32 1 - store i64 13, ptr %774, align 4 - %775 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %772, align 8 - %776 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %777 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %776, i32 0, i32 0 - store ptr @43, ptr %777, align 8 - %778 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %776, i32 0, i32 1 - store i64 49, ptr %778, align 4 - %779 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %776, align 8 - %780 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %779, i64 25, i64 120, i64 0, i64 22) - %781 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 - %782 = icmp eq ptr %781, null - br i1 %782, label %_llgo_45, label %_llgo_46 + %776 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %777 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %778 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 + %779 = icmp eq ptr %778, null + br i1 %779, label %_llgo_45, label %_llgo_46 _llgo_45: ; preds = %_llgo_44 - store ptr %780, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %780 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %781 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %782 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %781, i32 0, i32 0 + store ptr %780, ptr %782, align 8 + %783 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %781, i32 0, i32 1 + store i64 0, ptr %783, align 4 + %784 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %781, i32 0, i32 2 + store i64 0, ptr %784, align 4 + %785 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %781, align 8 + %786 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %787 = getelementptr ptr, ptr %786, i64 0 + store ptr %777, ptr %787, align 8 + %788 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %789 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %788, i32 0, i32 0 + store ptr %786, ptr %789, align 8 + %790 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %788, i32 0, i32 1 + store i64 1, ptr %790, align 4 + %791 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %788, i32 0, i32 2 + store i64 1, ptr %791, align 4 + %792 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %788, align 8 + %793 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %785, %"github.com/goplus/llgo/internal/runtime.Slice" %792, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %793) + store ptr %793, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 br label %_llgo_46 _llgo_46: ; preds = %_llgo_45, %_llgo_44 - %783 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %784 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %783, i32 0, i32 0 - store ptr @1, ptr %784, align 8 - %785 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %783, i32 0, i32 1 - store i64 40, ptr %785, align 4 - %786 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %783, align 8 - %787 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %786, i64 25, i64 80, i64 0, i64 22) - %788 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %789 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %788, i32 0, i32 0 - store ptr @44, ptr %789, align 8 - %790 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %788, i32 0, i32 1 - store i64 43, ptr %790, align 4 - %791 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %788, align 8 - %792 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %791, i64 25, i64 24, i64 0, i64 3) - %793 = load ptr, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", align 8 - %794 = icmp eq ptr %793, null - br i1 %794, label %_llgo_47, label %_llgo_48 + %794 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 + %795 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %796 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %795, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %494, ptr %796, align 8 + %797 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %795, i32 0, i32 1 + store ptr %794, ptr %797, align 8 + %798 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %795, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ArrayType", ptr %798, align 8 + %799 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %795, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ArrayType", ptr %799, align 8 + %800 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %795, align 8 + %801 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %802 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %801, i32 0, i32 0 + store ptr @25, ptr %802, align 8 + %803 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %801, i32 0, i32 1 + store i64 7, ptr %803, align 4 + %804 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %801, align 8 + %805 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %806 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %805, i32 0, i32 0 + store ptr @26, ptr %806, align 8 + %807 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %805, i32 0, i32 1 + store i64 43, ptr %807, align 4 + %808 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %805, align 8 + %809 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %808, i64 2, i64 8, i64 0, i64 0) + %810 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir", align 8 + %811 = icmp eq ptr %810, null + br i1 %811, label %_llgo_47, label %_llgo_48 _llgo_47: ; preds = %_llgo_46 - %795 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %796 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %795, i32 0, i32 0 - store ptr @25, ptr %796, align 8 - %797 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %795, i32 0, i32 1 - store i64 4, ptr %797, align 4 - %798 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %795, align 8 - %799 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %800 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %799, i32 0, i32 0 - store ptr null, ptr %800, align 8 - %801 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %799, i32 0, i32 1 - store i64 0, ptr %801, align 4 - %802 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %799, align 8 - %803 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %798, ptr %787, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %802, i1 true) - %804 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %805 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %804, i32 0, i32 0 - store ptr @45, ptr %805, align 8 - %806 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %804, i32 0, i32 1 - store i64 8, ptr %806, align 4 - %807 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %804, align 8 - %808 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %809 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %808, i32 0, i32 0 - store ptr null, ptr %809, align 8 - %810 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %808, i32 0, i32 1 - store i64 0, ptr %810, align 4 - %811 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %808, align 8 - %812 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %813 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %807, ptr %812, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %811, i1 false) - %814 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %815 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %814, i32 0, i32 0 - store ptr @46, ptr %815, align 8 - %816 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %814, i32 0, i32 1 - store i64 7, ptr %816, align 4 - %817 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %814, align 8 - %818 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %819 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %818, i32 0, i32 0 - store ptr null, ptr %819, align 8 - %820 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %818, i32 0, i32 1 - store i64 0, ptr %820, align 4 - %821 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %818, align 8 - %822 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %792) - %823 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %817, ptr %822, i64 88, %"github.com/goplus/llgo/internal/runtime.String" %821, i1 false) - %824 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %825 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %824, i32 0, i32 0 - store ptr @6, ptr %825, align 8 - %826 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %824, i32 0, i32 1 - store i64 4, ptr %826, align 4 - %827 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %824, align 8 - %828 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) - %829 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %828, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %803, ptr %829, align 8 - %830 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %828, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %813, ptr %830, align 8 - %831 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %828, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %823, ptr %831, align 8 - %832 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %833 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %832, i32 0, i32 0 - store ptr %828, ptr %833, align 8 - %834 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %832, i32 0, i32 1 - store i64 3, ptr %834, align 4 - %835 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %832, i32 0, i32 2 - store i64 3, ptr %835, align 4 - %836 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %832, align 8 - %837 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %827, i64 112, %"github.com/goplus/llgo/internal/runtime.Slice" %836) - store ptr %837, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", align 8 + store ptr %809, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir", align 8 br label %_llgo_48 _llgo_48: ; preds = %_llgo_47, %_llgo_46 - %838 = load ptr, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", align 8 - br i1 %782, label %_llgo_49, label %_llgo_50 + %812 = load ptr, ptr @_llgo_int, align 8 + br i1 %811, label %_llgo_49, label %_llgo_50 _llgo_49: ; preds = %_llgo_48 - %839 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %840 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %839, i32 0, i32 0 - store ptr @22, ptr %840, align 8 - %841 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %839, i32 0, i32 1 - store i64 5, ptr %841, align 4 - %842 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %839, align 8 - %843 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %844 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %845 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %844, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %842, ptr %845, align 8 - %846 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %844, i32 0, i32 1 - store ptr %843, ptr %846, align 8 - %847 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %844, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Align", ptr %847, align 8 - %848 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %844, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Align", ptr %848, align 8 - %849 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %844, align 8 - %850 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %851 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %850, i32 0, i32 0 - store ptr @23, ptr %851, align 8 - %852 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %850, i32 0, i32 1 - store i64 9, ptr %852, align 4 - %853 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %850, align 8 - %854 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %855 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %856 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %855, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %853, ptr %856, align 8 - %857 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %855, i32 0, i32 1 - store ptr %854, ptr %857, align 8 - %858 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %855, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ArrayType", ptr %858, align 8 - %859 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %855, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ArrayType", ptr %859, align 8 - %860 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %855, align 8 - %861 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %862 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %861, i32 0, i32 0 - store ptr @29, ptr %862, align 8 - %863 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %861, i32 0, i32 1 - store i64 7, ptr %863, align 4 - %864 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %861, align 8 - %865 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %866 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %867 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %866, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %864, ptr %867, align 8 - %868 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %866, i32 0, i32 1 - store ptr %865, ptr %868, align 8 - %869 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %866, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ChanDir", ptr %869, align 8 - %870 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %866, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ChanDir", ptr %870, align 8 - %871 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %866, align 8 - %872 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %873 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %872, i32 0, i32 0 - store ptr @32, ptr %873, align 8 - %874 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %872, i32 0, i32 1 - store i64 6, ptr %874, align 4 - %875 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %872, align 8 - %876 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %877 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %878 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %877, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %875, ptr %878, align 8 - %879 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %877, i32 0, i32 1 - store ptr %876, ptr %879, align 8 - %880 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %877, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Common", ptr %880, align 8 - %881 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %877, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Common", ptr %881, align 8 - %882 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %877, align 8 - %883 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %884 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %883, i32 0, i32 0 - store ptr @26, ptr %884, align 8 - %885 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %883, i32 0, i32 1 - store i64 4, ptr %885, align 4 - %886 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %883, align 8 - %887 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %888 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %889 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %888, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %886, ptr %889, align 8 - %890 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %888, i32 0, i32 1 - store ptr %887, ptr %890, align 8 - %891 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %888, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Elem", ptr %891, align 8 - %892 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %888, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Elem", ptr %892, align 8 - %893 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %888, align 8 - %894 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %895 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %894, i32 0, i32 0 - store ptr @33, ptr %895, align 8 - %896 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %894, i32 0, i32 1 - store i64 15, ptr %896, align 4 - %897 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %894, align 8 - %898 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %899 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %900 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %899, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %897, ptr %900, align 8 - %901 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %899, i32 0, i32 1 - store ptr %898, ptr %901, align 8 - %902 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %899, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ExportedMethods", ptr %902, align 8 - %903 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %899, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ExportedMethods", ptr %903, align 8 - %904 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %899, align 8 - %905 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %906 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %905, i32 0, i32 0 - store ptr @35, ptr %906, align 8 - %907 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %905, i32 0, i32 1 - store i64 10, ptr %907, align 4 - %908 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %905, align 8 - %909 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %910 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %911 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %910, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %908, ptr %911, align 8 - %912 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %910, i32 0, i32 1 - store ptr %909, ptr %912, align 8 - %913 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %910, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FieldAlign", ptr %913, align 8 - %914 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %910, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FieldAlign", ptr %914, align 8 - %915 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %910, align 8 - %916 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %917 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %916, i32 0, i32 0 - store ptr @36, ptr %917, align 8 - %918 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %916, i32 0, i32 1 - store i64 8, ptr %918, align 4 - %919 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %916, align 8 - %920 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %921 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %922 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %921, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %919, ptr %922, align 8 - %923 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %921, i32 0, i32 1 - store ptr %920, ptr %923, align 8 - %924 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %921, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FuncType", ptr %924, align 8 - %925 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %921, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FuncType", ptr %925, align 8 - %926 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %921, align 8 - %927 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %928 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %927, i32 0, i32 0 - store ptr @40, ptr %928, align 8 - %929 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %927, i32 0, i32 1 - store i64 7, ptr %929, align 4 - %930 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %927, align 8 - %931 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %932 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %933 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %932, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %930, ptr %933, align 8 - %934 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %932, i32 0, i32 1 - store ptr %931, ptr %934, align 8 - %935 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %932, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).HasName", ptr %935, align 8 - %936 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %932, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).HasName", ptr %936, align 8 - %937 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %932, align 8 - %938 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %939 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %938, i32 0, i32 0 - store ptr @41, ptr %939, align 8 - %940 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %938, i32 0, i32 1 - store i64 10, ptr %940, align 4 - %941 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %938, align 8 - %942 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %943 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %944 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %943, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %941, ptr %944, align 8 - %945 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %943, i32 0, i32 1 - store ptr %942, ptr %945, align 8 - %946 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %943, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IfaceIndir", ptr %946, align 8 - %947 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %943, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IfaceIndir", ptr %947, align 8 - %948 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %943, align 8 - %949 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %950 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %949, i32 0, i32 0 - store ptr @42, ptr %950, align 8 - %951 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %949, i32 0, i32 1 - store i64 13, ptr %951, align 4 - %952 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %949, align 8 - %953 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %954 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %955 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %954, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %952, ptr %955, align 8 - %956 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %954, i32 0, i32 1 - store ptr %953, ptr %956, align 8 - %957 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %954, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).InterfaceType", ptr %957, align 8 - %958 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %954, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).InterfaceType", ptr %958, align 8 - %959 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %954, align 8 - %960 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %961 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %960, i32 0, i32 0 - store ptr @47, ptr %961, align 8 - %962 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %960, i32 0, i32 1 - store i64 13, ptr %962, align 4 - %963 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %960, align 8 - %964 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %965 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %966 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %965, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %963, ptr %966, align 8 - %967 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %965, i32 0, i32 1 - store ptr %964, ptr %967, align 8 - %968 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %965, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IsDirectIface", ptr %968, align 8 - %969 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %965, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IsDirectIface", ptr %969, align 8 - %970 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %965, align 8 - %971 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %972 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %971, i32 0, i32 0 - store ptr @48, ptr %972, align 8 - %973 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %971, i32 0, i32 1 - store i64 3, ptr %973, align 4 - %974 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %971, align 8 - %975 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %976 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %977 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %976, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %974, ptr %977, align 8 - %978 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %976, i32 0, i32 1 - store ptr %975, ptr %978, align 8 - %979 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %976, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Key", ptr %979, align 8 - %980 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %976, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Key", ptr %980, align 8 - %981 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %976, align 8 - %982 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %983 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %982, i32 0, i32 0 - store ptr @49, ptr %983, align 8 - %984 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %982, i32 0, i32 1 - store i64 4, ptr %984, align 4 - %985 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %982, align 8 - %986 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %987 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %986, i32 0, i32 0 - store ptr @50, ptr %987, align 8 - %988 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %986, i32 0, i32 1 - store i64 40, ptr %988, align 4 - %989 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %986, align 8 - %990 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %989, i64 7, i64 8, i64 1, i64 1) - %991 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 - %992 = icmp eq ptr %991, null - br i1 %992, label %_llgo_51, label %_llgo_52 + %813 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %814 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %813, i32 0, i32 0 + store ptr @3, ptr %814, align 8 + %815 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %813, i32 0, i32 1 + store i64 35, ptr %815, align 4 + %816 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %813, align 8 + %817 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %818 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %817, i32 0, i32 0 + store ptr @25, ptr %818, align 8 + %819 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %817, i32 0, i32 1 + store i64 7, ptr %819, align 4 + %820 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %817, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %809, %"github.com/goplus/llgo/internal/runtime.String" %816, %"github.com/goplus/llgo/internal/runtime.String" %820, ptr %812, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + br label %_llgo_50 -_llgo_50: ; preds = %_llgo_94, %_llgo_48 - %993 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %994 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %993, i32 0, i32 0 - store ptr @43, ptr %994, align 8 - %995 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %993, i32 0, i32 1 - store i64 49, ptr %995, align 4 - %996 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %993, align 8 - %997 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %996, i64 25, i64 120, i64 0, i64 22) - %998 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 - %999 = icmp eq ptr %998, null - br i1 %999, label %_llgo_95, label %_llgo_96 +_llgo_50: ; preds = %_llgo_49, %_llgo_48 + %821 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir", align 8 + %822 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.ChanDir", align 8 + %823 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 + %824 = icmp eq ptr %823, null + br i1 %824, label %_llgo_51, label %_llgo_52 -_llgo_51: ; preds = %_llgo_49 - store ptr %990, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 +_llgo_51: ; preds = %_llgo_50 + %825 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %826 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %827 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %826, i32 0, i32 0 + store ptr %825, ptr %827, align 8 + %828 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %826, i32 0, i32 1 + store i64 0, ptr %828, align 4 + %829 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %826, i32 0, i32 2 + store i64 0, ptr %829, align 4 + %830 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %826, align 8 + %831 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %832 = getelementptr ptr, ptr %831, i64 0 + store ptr %822, ptr %832, align 8 + %833 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %834 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %833, i32 0, i32 0 + store ptr %831, ptr %834, align 8 + %835 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %833, i32 0, i32 1 + store i64 1, ptr %835, align 4 + %836 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %833, i32 0, i32 2 + store i64 1, ptr %836, align 4 + %837 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %833, align 8 + %838 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %830, %"github.com/goplus/llgo/internal/runtime.Slice" %837, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %838) + store ptr %838, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 br label %_llgo_52 -_llgo_52: ; preds = %_llgo_51, %_llgo_49 - %1000 = load ptr, ptr @_llgo_uint, align 8 - %1001 = icmp eq ptr %1000, null - br i1 %1001, label %_llgo_53, label %_llgo_54 +_llgo_52: ; preds = %_llgo_51, %_llgo_50 + %839 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 + %840 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %841 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %840, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %804, ptr %841, align 8 + %842 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %840, i32 0, i32 1 + store ptr %839, ptr %842, align 8 + %843 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %840, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ChanDir", ptr %843, align 8 + %844 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %840, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ChanDir", ptr %844, align 8 + %845 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %840, align 8 + %846 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %847 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %846, i32 0, i32 0 + store ptr @27, ptr %847, align 8 + %848 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %846, i32 0, i32 1 + store i64 6, ptr %848, align 4 + %849 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %846, align 8 + %850 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %851 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %852 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %853 = icmp eq ptr %852, null + br i1 %853, label %_llgo_53, label %_llgo_54 _llgo_53: ; preds = %_llgo_52 - %1002 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 39) - store ptr %1002, ptr @_llgo_uint, align 8 + %854 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %855 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %856 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %855, i32 0, i32 0 + store ptr %854, ptr %856, align 8 + %857 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %855, i32 0, i32 1 + store i64 0, ptr %857, align 4 + %858 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %855, i32 0, i32 2 + store i64 0, ptr %858, align 4 + %859 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %855, align 8 + %860 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %861 = getelementptr ptr, ptr %860, i64 0 + store ptr %851, ptr %861, align 8 + %862 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %863 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %862, i32 0, i32 0 + store ptr %860, ptr %863, align 8 + %864 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %862, i32 0, i32 1 + store i64 1, ptr %864, align 4 + %865 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %862, i32 0, i32 2 + store i64 1, ptr %865, align 4 + %866 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %862, align 8 + %867 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %859, %"github.com/goplus/llgo/internal/runtime.Slice" %866, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %867) + store ptr %867, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 br label %_llgo_54 _llgo_54: ; preds = %_llgo_53, %_llgo_52 - %1003 = load ptr, ptr @_llgo_uint, align 8 - br i1 %992, label %_llgo_55, label %_llgo_56 + %868 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %869 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %870 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %869, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %849, ptr %870, align 8 + %871 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %869, i32 0, i32 1 + store ptr %868, ptr %871, align 8 + %872 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %869, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Common", ptr %872, align 8 + %873 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %869, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Common", ptr %873, align 8 + %874 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %869, align 8 + %875 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %876 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %875, i32 0, i32 0 + store ptr @28, ptr %876, align 8 + %877 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %875, i32 0, i32 1 + store i64 15, ptr %877, align 4 + %878 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %875, align 8 + %879 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %880 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %879, i32 0, i32 0 + store ptr @29, ptr %880, align 8 + %881 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %879, i32 0, i32 1 + store i64 42, ptr %881, align 4 + %882 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %879, align 8 + %883 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %882, i64 25, i64 40, i64 0, i64 3) + %884 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %885 = icmp eq ptr %884, null + br i1 %885, label %_llgo_55, label %_llgo_56 _llgo_55: ; preds = %_llgo_54 - %1004 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1005 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1004, i32 0, i32 0 - store ptr @51, ptr %1005, align 8 - %1006 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1004, i32 0, i32 1 - store i64 6, ptr %1006, align 4 - %1007 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1004, align 8 - %1008 = load ptr, ptr @_llgo_string, align 8 - %1009 = icmp eq ptr %1008, null - br i1 %1009, label %_llgo_57, label %_llgo_58 + store ptr %883, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + br label %_llgo_56 -_llgo_56: ; preds = %_llgo_60, %_llgo_54 - %1010 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 - %1011 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %1012 = icmp eq ptr %1011, null - br i1 %1012, label %_llgo_61, label %_llgo_62 +_llgo_56: ; preds = %_llgo_55, %_llgo_54 + %886 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %887 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %886, i32 0, i32 0 + store ptr @30, ptr %887, align 8 + %888 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %886, i32 0, i32 1 + store i64 44, ptr %888, align 4 + %889 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %886, align 8 + %890 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %889, i64 25, i64 128, i64 0, i64 23) + %891 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %892 = icmp eq ptr %891, null + br i1 %892, label %_llgo_57, label %_llgo_58 -_llgo_57: ; preds = %_llgo_55 - %1013 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - store ptr %1013, ptr @_llgo_string, align 8 +_llgo_57: ; preds = %_llgo_56 + store ptr %890, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 br label %_llgo_58 -_llgo_58: ; preds = %_llgo_57, %_llgo_55 - %1014 = load ptr, ptr @_llgo_string, align 8 - %1015 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %1016 = icmp eq ptr %1015, null - br i1 %1016, label %_llgo_59, label %_llgo_60 +_llgo_58: ; preds = %_llgo_57, %_llgo_56 + %893 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %894 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %895 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %894, i32 0, i32 0 + store ptr @1, ptr %895, align 8 + %896 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %894, i32 0, i32 1 + store i64 40, ptr %896, align 4 + %897 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %894, align 8 + %898 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %897, i64 25, i64 80, i64 0, i64 22) + %899 = load ptr, ptr @"[]*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %900 = icmp eq ptr %899, null + br i1 %900, label %_llgo_59, label %_llgo_60 _llgo_59: ; preds = %_llgo_58 - %1017 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %1018 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %1019 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1018, i32 0, i32 0 - store ptr %1017, ptr %1019, align 8 - %1020 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1018, i32 0, i32 1 - store i64 0, ptr %1020, align 4 - %1021 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1018, i32 0, i32 2 - store i64 0, ptr %1021, align 4 - %1022 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1018, align 8 - %1023 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %1024 = getelementptr ptr, ptr %1023, i64 0 - store ptr %1014, ptr %1024, align 8 - %1025 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %1026 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1025, i32 0, i32 0 - store ptr %1023, ptr %1026, align 8 - %1027 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1025, i32 0, i32 1 - store i64 1, ptr %1027, align 4 - %1028 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1025, i32 0, i32 2 - store i64 1, ptr %1028, align 4 - %1029 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1025, align 8 - %1030 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1022, %"github.com/goplus/llgo/internal/runtime.Slice" %1029, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1030) - store ptr %1030, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %901 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %898) + %902 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %901) + store ptr %902, ptr @"[]*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 br label %_llgo_60 _llgo_60: ; preds = %_llgo_59, %_llgo_58 - %1031 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %1032 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1033 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1032, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1007, ptr %1033, align 8 - %1034 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1032, i32 0, i32 1 - store ptr %1031, ptr %1034, align 8 - %1035 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1032, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Kind).String", ptr %1035, align 8 - %1036 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1032, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Kind).String", ptr %1036, align 8 - %1037 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1032, align 8 - %1038 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1039 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1038, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1007, ptr %1039, align 8 - %1040 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1038, i32 0, i32 1 - store ptr %1031, ptr %1040, align 8 - %1041 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1038, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Kind).String", ptr %1041, align 8 - %1042 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1038, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.Kind.String", ptr %1042, align 8 - %1043 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1038, align 8 - %1044 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %1045 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1044, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %1043, ptr %1045, align 8 - %1046 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %1047 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1046, i32 0, i32 0 - store ptr %1044, ptr %1047, align 8 - %1048 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1046, i32 0, i32 1 - store i64 1, ptr %1048, align 4 - %1049 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1046, i32 0, i32 2 - store i64 1, ptr %1049, align 4 - %1050 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1046, align 8 - %1051 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %1052 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1051, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %1037, ptr %1052, align 8 - %1053 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %1054 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1053, i32 0, i32 0 - store ptr %1051, ptr %1054, align 8 - %1055 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1053, i32 0, i32 1 - store i64 1, ptr %1055, align 4 - %1056 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1053, i32 0, i32 2 - store i64 1, ptr %1056, align 4 - %1057 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1053, align 8 - %1058 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1059 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1058, i32 0, i32 0 - store ptr @31, ptr %1059, align 8 - %1060 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1058, i32 0, i32 1 - store i64 35, ptr %1060, align 4 - %1061 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1058, align 8 - %1062 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1063 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1062, i32 0, i32 0 - store ptr @49, ptr %1063, align 8 - %1064 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1062, i32 0, i32 1 - store i64 4, ptr %1064, align 4 - %1065 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1062, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %990, %"github.com/goplus/llgo/internal/runtime.String" %1061, %"github.com/goplus/llgo/internal/runtime.String" %1065, ptr %1003, %"github.com/goplus/llgo/internal/runtime.Slice" %1050, %"github.com/goplus/llgo/internal/runtime.Slice" %1057) - br label %_llgo_56 + %903 = load ptr, ptr @"[]*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %904 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %905 = load ptr, ptr @"[]*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %906 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %907 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %906, i32 0, i32 0 + store ptr @1, ptr %907, align 8 + %908 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %906, i32 0, i32 1 + store i64 40, ptr %908, align 4 + %909 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %906, align 8 + %910 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %909, i64 25, i64 80, i64 0, i64 22) + %911 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %912 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %911, i32 0, i32 0 + store ptr @1, ptr %912, align 8 + %913 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %911, i32 0, i32 1 + store i64 40, ptr %913, align 4 + %914 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %911, align 8 + %915 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %914, i64 25, i64 80, i64 0, i64 22) + %916 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %917 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %916, i32 0, i32 0 + store ptr @1, ptr %917, align 8 + %918 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %916, i32 0, i32 1 + store i64 40, ptr %918, align 4 + %919 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %916, align 8 + %920 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %919, i64 25, i64 80, i64 0, i64 22) + %921 = load ptr, ptr @"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw", align 8 + %922 = icmp eq ptr %921, null + br i1 %922, label %_llgo_61, label %_llgo_62 -_llgo_61: ; preds = %_llgo_56 - %1066 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %1067 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %1068 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1067, i32 0, i32 0 - store ptr %1066, ptr %1068, align 8 - %1069 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1067, i32 0, i32 1 - store i64 0, ptr %1069, align 4 - %1070 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1067, i32 0, i32 2 - store i64 0, ptr %1070, align 4 - %1071 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1067, align 8 - %1072 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %1073 = getelementptr ptr, ptr %1072, i64 0 - store ptr %1010, ptr %1073, align 8 - %1074 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %1075 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1074, i32 0, i32 0 - store ptr %1072, ptr %1075, align 8 - %1076 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1074, i32 0, i32 1 - store i64 1, ptr %1076, align 4 - %1077 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1074, i32 0, i32 2 - store i64 1, ptr %1077, align 4 - %1078 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1074, align 8 - %1079 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1071, %"github.com/goplus/llgo/internal/runtime.Slice" %1078, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1079) - store ptr %1079, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 +_llgo_61: ; preds = %_llgo_60 + %923 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %924 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %923, i32 0, i32 0 + store ptr @21, ptr %924, align 8 + %925 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %923, i32 0, i32 1 + store i64 4, ptr %925, align 4 + %926 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %923, align 8 + %927 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %928 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %927, i32 0, i32 0 + store ptr null, ptr %928, align 8 + %929 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %927, i32 0, i32 1 + store i64 0, ptr %929, align 4 + %930 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %927, align 8 + %931 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %926, ptr %910, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %930, i1 true) + %932 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %933 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %932, i32 0, i32 0 + store ptr @31, ptr %933, align 8 + %934 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %932, i32 0, i32 1 + store i64 2, ptr %934, align 4 + %935 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %932, align 8 + %936 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %937 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %936, i32 0, i32 0 + store ptr null, ptr %937, align 8 + %938 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %936, i32 0, i32 1 + store i64 0, ptr %938, align 4 + %939 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %936, align 8 + %940 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %915) + %941 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %940) + %942 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %935, ptr %941, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %939, i1 false) + %943 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %944 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %943, i32 0, i32 0 + store ptr @32, ptr %944, align 8 + %945 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %943, i32 0, i32 1 + store i64 3, ptr %945, align 4 + %946 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %943, align 8 + %947 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %948 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %947, i32 0, i32 0 + store ptr null, ptr %948, align 8 + %949 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %947, i32 0, i32 1 + store i64 0, ptr %949, align 4 + %950 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %947, align 8 + %951 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %920) + %952 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %951) + %953 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %946, ptr %952, i64 96, %"github.com/goplus/llgo/internal/runtime.String" %950, i1 false) + %954 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %955 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %954, i32 0, i32 0 + store ptr @7, ptr %955, align 8 + %956 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %954, i32 0, i32 1 + store i64 4, ptr %956, align 4 + %957 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %954, align 8 + %958 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) + %959 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %958, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %931, ptr %959, align 8 + %960 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %958, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %942, ptr %960, align 8 + %961 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %958, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %953, ptr %961, align 8 + %962 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %963 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %962, i32 0, i32 0 + store ptr %958, ptr %963, align 8 + %964 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %962, i32 0, i32 1 + store i64 3, ptr %964, align 4 + %965 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %962, i32 0, i32 2 + store i64 3, ptr %965, align 4 + %966 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %962, align 8 + %967 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %957, i64 120, %"github.com/goplus/llgo/internal/runtime.Slice" %966) + store ptr %967, ptr @"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw", align 8 br label %_llgo_62 -_llgo_62: ; preds = %_llgo_61, %_llgo_56 - %1080 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %1081 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1082 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1081, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %985, ptr %1082, align 8 - %1083 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1081, i32 0, i32 1 - store ptr %1080, ptr %1083, align 8 - %1084 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1081, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Kind", ptr %1084, align 8 - %1085 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1081, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Kind", ptr %1085, align 8 - %1086 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1081, align 8 - %1087 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1088 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1087, i32 0, i32 0 - store ptr @28, ptr %1088, align 8 - %1089 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1087, i32 0, i32 1 - store i64 3, ptr %1089, align 4 - %1090 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1087, align 8 - %1091 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1092 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1093 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1092, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1090, ptr %1093, align 8 - %1094 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1092, i32 0, i32 1 - store ptr %1091, ptr %1094, align 8 - %1095 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1092, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Len", ptr %1095, align 8 - %1096 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1092, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Len", ptr %1096, align 8 - %1097 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1092, align 8 - %1098 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1099 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1098, i32 0, i32 0 - store ptr @52, ptr %1099, align 8 - %1100 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1098, i32 0, i32 1 - store i64 7, ptr %1100, align 4 - %1101 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1098, align 8 - %1102 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1103 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1102, i32 0, i32 0 - store ptr @53, ptr %1103, align 8 - %1104 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1102, i32 0, i32 1 - store i64 43, ptr %1104, align 4 - %1105 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1102, align 8 - %1106 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1105, i64 25, i64 136, i64 0, i64 25) - %1107 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 - %1108 = icmp eq ptr %1107, null - br i1 %1108, label %_llgo_63, label %_llgo_64 +_llgo_62: ; preds = %_llgo_61, %_llgo_60 + %968 = load ptr, ptr @"_llgo_struct$wRu7InfmQeSkq7akLN3soDNninnS1dQajawdYvmHbzw", align 8 + br i1 %892, label %_llgo_63, label %_llgo_64 _llgo_63: ; preds = %_llgo_62 - store ptr %1106, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 - br label %_llgo_64 + %969 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %970 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %969, i32 0, i32 0 + store ptr @18, ptr %970, align 8 + %971 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %969, i32 0, i32 1 + store i64 5, ptr %971, align 4 + %972 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %969, align 8 + %973 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %974 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %975 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %974, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %972, ptr %975, align 8 + %976 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %974, i32 0, i32 1 + store ptr %973, ptr %976, align 8 + %977 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %974, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Align", ptr %977, align 8 + %978 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %974, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Align", ptr %978, align 8 + %979 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %974, align 8 + %980 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %981 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %980, i32 0, i32 0 + store ptr @19, ptr %981, align 8 + %982 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %980, i32 0, i32 1 + store i64 9, ptr %982, align 4 + %983 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %980, align 8 + %984 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %985 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 + %986 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %987 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %986, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %983, ptr %987, align 8 + %988 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %986, i32 0, i32 1 + store ptr %985, ptr %988, align 8 + %989 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %986, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ArrayType", ptr %989, align 8 + %990 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %986, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ArrayType", ptr %990, align 8 + %991 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %986, align 8 + %992 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %993 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %992, i32 0, i32 0 + store ptr @25, ptr %993, align 8 + %994 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %992, i32 0, i32 1 + store i64 7, ptr %994, align 4 + %995 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %992, align 8 + %996 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 + %997 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %998 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %997, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %995, ptr %998, align 8 + %999 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %997, i32 0, i32 1 + store ptr %996, ptr %999, align 8 + %1000 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %997, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ChanDir", ptr %1000, align 8 + %1001 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %997, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ChanDir", ptr %1001, align 8 + %1002 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %997, align 8 + %1003 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1004 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1003, i32 0, i32 0 + store ptr @27, ptr %1004, align 8 + %1005 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1003, i32 0, i32 1 + store i64 6, ptr %1005, align 4 + %1006 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1003, align 8 + %1007 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %1008 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %1009 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1010 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1009, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1006, ptr %1010, align 8 + %1011 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1009, i32 0, i32 1 + store ptr %1008, ptr %1011, align 8 + %1012 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1009, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Common", ptr %1012, align 8 + %1013 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1009, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Common", ptr %1013, align 8 + %1014 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1009, align 8 + %1015 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1016 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1015, i32 0, i32 0 + store ptr @22, ptr %1016, align 8 + %1017 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1015, i32 0, i32 1 + store i64 4, ptr %1017, align 4 + %1018 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1015, align 8 + %1019 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %1020 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %1021 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1022 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1021, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1018, ptr %1022, align 8 + %1023 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1021, i32 0, i32 1 + store ptr %1020, ptr %1023, align 8 + %1024 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1021, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Elem", ptr %1024, align 8 + %1025 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1021, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Elem", ptr %1025, align 8 + %1026 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1021, align 8 + %1027 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1028 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1027, i32 0, i32 0 + store ptr @28, ptr %1028, align 8 + %1029 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1027, i32 0, i32 1 + store i64 15, ptr %1029, align 4 + %1030 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1027, align 8 + %1031 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1032 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1031, i32 0, i32 0 + store ptr @29, ptr %1032, align 8 + %1033 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1031, i32 0, i32 1 + store i64 42, ptr %1033, align 4 + %1034 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1031, align 8 + %1035 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1034, i64 25, i64 40, i64 0, i64 3) + %1036 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %1037 = icmp eq ptr %1036, null + br i1 %1037, label %_llgo_65, label %_llgo_66 -_llgo_64: ; preds = %_llgo_63, %_llgo_62 - %1109 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1110 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1109, i32 0, i32 0 - store ptr @1, ptr %1110, align 8 - %1111 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1109, i32 0, i32 1 - store i64 40, ptr %1111, align 4 - %1112 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1109, align 8 - %1113 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1112, i64 25, i64 80, i64 0, i64 22) - %1114 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1115 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1114, i32 0, i32 0 - store ptr @1, ptr %1115, align 8 - %1116 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1114, i32 0, i32 1 - store i64 40, ptr %1116, align 4 - %1117 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1114, align 8 - %1118 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1117, i64 25, i64 80, i64 0, i64 22) - %1119 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1120 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1119, i32 0, i32 0 - store ptr @1, ptr %1120, align 8 - %1121 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1119, i32 0, i32 1 - store i64 40, ptr %1121, align 4 - %1122 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1119, align 8 - %1123 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1122, i64 25, i64 80, i64 0, i64 22) - %1124 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1125 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1124, i32 0, i32 0 - store ptr @1, ptr %1125, align 8 - %1126 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1124, i32 0, i32 1 - store i64 40, ptr %1126, align 4 - %1127 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1124, align 8 - %1128 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1127, i64 25, i64 80, i64 0, i64 22) - %1129 = load ptr, ptr @_llgo_Pointer, align 8 - %1130 = load ptr, ptr @_llgo_Pointer, align 8 - %1131 = load ptr, ptr @_llgo_uintptr, align 8 - %1132 = icmp eq ptr %1131, null - br i1 %1132, label %_llgo_65, label %_llgo_66 +_llgo_64: ; preds = %_llgo_90, %_llgo_62 + %1038 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %1039 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %1040 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1041 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1040, i32 0, i32 0 + store ptr @30, ptr %1041, align 8 + %1042 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1040, i32 0, i32 1 + store i64 44, ptr %1042, align 4 + %1043 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1040, align 8 + %1044 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1043, i64 25, i64 128, i64 0, i64 23) + %1045 = load ptr, ptr @"_llgo_struct$SDp3TNnYnxb26MhB1v8VMbmY71BX77YOaY7lgS1cFx0", align 8 + %1046 = icmp eq ptr %1045, null + br i1 %1046, label %_llgo_145, label %_llgo_146 -_llgo_65: ; preds = %_llgo_64 - %1133 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) - store ptr %1133, ptr @_llgo_uintptr, align 8 +_llgo_65: ; preds = %_llgo_63 + %1047 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %1035) + store ptr %1047, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 br label %_llgo_66 -_llgo_66: ; preds = %_llgo_65, %_llgo_64 - %1134 = load ptr, ptr @_llgo_uintptr, align 8 - %1135 = load ptr, ptr @_llgo_uintptr, align 8 - %1136 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1137 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1136, i32 0, i32 0 - store ptr @25, ptr %1137, align 8 - %1138 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1136, i32 0, i32 1 - store i64 4, ptr %1138, align 4 - %1139 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1136, align 8 - %1140 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1141 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1140, i32 0, i32 0 - store ptr null, ptr %1141, align 8 - %1142 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1140, i32 0, i32 1 - store i64 0, ptr %1142, align 4 - %1143 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1140, align 8 - %1144 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1139, ptr %1113, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %1143, i1 true) - %1145 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1146 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1145, i32 0, i32 0 - store ptr @48, ptr %1146, align 8 - %1147 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1145, i32 0, i32 1 - store i64 3, ptr %1147, align 4 - %1148 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1145, align 8 - %1149 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1150 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1149, i32 0, i32 0 - store ptr null, ptr %1150, align 8 - %1151 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1149, i32 0, i32 1 - store i64 0, ptr %1151, align 4 - %1152 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1149, align 8 - %1153 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1118) - %1154 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1148, ptr %1153, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %1152, i1 false) - %1155 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1156 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1155, i32 0, i32 0 - store ptr @26, ptr %1156, align 8 - %1157 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1155, i32 0, i32 1 - store i64 4, ptr %1157, align 4 - %1158 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1155, align 8 - %1159 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1160 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1159, i32 0, i32 0 - store ptr null, ptr %1160, align 8 - %1161 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1159, i32 0, i32 1 - store i64 0, ptr %1161, align 4 - %1162 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1159, align 8 - %1163 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1123) - %1164 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1158, ptr %1163, i64 80, %"github.com/goplus/llgo/internal/runtime.String" %1162, i1 false) - %1165 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1166 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1165, i32 0, i32 0 - store ptr @54, ptr %1166, align 8 - %1167 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1165, i32 0, i32 1 - store i64 6, ptr %1167, align 4 - %1168 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1165, align 8 - %1169 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1170 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1169, i32 0, i32 0 - store ptr null, ptr %1170, align 8 - %1171 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1169, i32 0, i32 1 - store i64 0, ptr %1171, align 4 - %1172 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1169, align 8 - %1173 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1128) - %1174 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1168, ptr %1173, i64 88, %"github.com/goplus/llgo/internal/runtime.String" %1172, i1 false) - %1175 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1176 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1175, i32 0, i32 0 - store ptr @55, ptr %1176, align 8 - %1177 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1175, i32 0, i32 1 - store i64 6, ptr %1177, align 4 - %1178 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1175, align 8 - %1179 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1180 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1179, i32 0, i32 0 - store ptr null, ptr %1180, align 8 - %1181 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1179, i32 0, i32 1 - store i64 0, ptr %1181, align 4 - %1182 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1179, align 8 - %1183 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1184 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1183, i32 0, i32 0 - store ptr @17, ptr %1184, align 8 - %1185 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1183, i32 0, i32 1 - store i64 1, ptr %1185, align 4 - %1186 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1183, align 8 - %1187 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1188 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1187, i32 0, i32 0 - store ptr null, ptr %1188, align 8 - %1189 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1187, i32 0, i32 1 - store i64 0, ptr %1189, align 4 - %1190 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1187, align 8 - %1191 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %1192 = getelementptr ptr, ptr %1191, i64 0 - store ptr %1129, ptr %1192, align 8 - %1193 = getelementptr ptr, ptr %1191, i64 1 - store ptr %1130, ptr %1193, align 8 - %1194 = getelementptr ptr, ptr %1191, i64 2 - store ptr %1134, ptr %1194, align 8 - %1195 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %1196 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1195, i32 0, i32 0 - store ptr %1191, ptr %1196, align 8 - %1197 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1195, i32 0, i32 1 - store i64 3, ptr %1197, align 4 - %1198 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1195, i32 0, i32 2 - store i64 3, ptr %1198, align 4 - %1199 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1195, align 8 - %1200 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %1201 = getelementptr ptr, ptr %1200, i64 0 - store ptr %1135, ptr %1201, align 8 - %1202 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %1203 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1202, i32 0, i32 0 - store ptr %1200, ptr %1203, align 8 - %1204 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1202, i32 0, i32 1 - store i64 1, ptr %1204, align 4 - %1205 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1202, i32 0, i32 2 - store i64 1, ptr %1205, align 4 - %1206 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1202, align 8 - %1207 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1199, %"github.com/goplus/llgo/internal/runtime.Slice" %1206, i1 false) - %1208 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1186, ptr %1207, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %1190, i1 false) - %1209 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1210 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1209, i32 0, i32 0 - store ptr @18, ptr %1210, align 8 - %1211 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1209, i32 0, i32 1 - store i64 4, ptr %1211, align 4 - %1212 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1209, align 8 - %1213 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1214 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1213, i32 0, i32 0 - store ptr null, ptr %1214, align 8 - %1215 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1213, i32 0, i32 1 - store i64 0, ptr %1215, align 4 - %1216 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1213, align 8 - %1217 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %1218 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1212, ptr %1217, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %1216, i1 false) - %1219 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1220 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1219, i32 0, i32 0 - store ptr @6, ptr %1220, align 8 - %1221 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1219, i32 0, i32 1 - store i64 4, ptr %1221, align 4 - %1222 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1219, align 8 - %1223 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %1224 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1223, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %1208, ptr %1224, align 8 - %1225 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1223, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %1218, ptr %1225, align 8 - %1226 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %1227 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1226, i32 0, i32 0 - store ptr %1223, ptr %1227, align 8 - %1228 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1226, i32 0, i32 1 - store i64 2, ptr %1228, align 4 - %1229 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1226, i32 0, i32 2 - store i64 2, ptr %1229, align 4 - %1230 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1226, align 8 - %1231 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %1222, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %1230) - %1232 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1178, ptr %1231, i64 96, %"github.com/goplus/llgo/internal/runtime.String" %1182, i1 false) - %1233 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1234 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1233, i32 0, i32 0 - store ptr @56, ptr %1234, align 8 - %1235 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1233, i32 0, i32 1 - store i64 7, ptr %1235, align 4 - %1236 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1233, align 8 - %1237 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1238 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1237, i32 0, i32 0 - store ptr null, ptr %1238, align 8 - %1239 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1237, i32 0, i32 1 - store i64 0, ptr %1239, align 4 - %1240 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1237, align 8 - %1241 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %1242 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1236, ptr %1241, i64 112, %"github.com/goplus/llgo/internal/runtime.String" %1240, i1 false) - %1243 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1244 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1243, i32 0, i32 0 - store ptr @57, ptr %1244, align 8 - %1245 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1243, i32 0, i32 1 - store i64 9, ptr %1245, align 4 - %1246 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1243, align 8 - %1247 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1248 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1247, i32 0, i32 0 - store ptr null, ptr %1248, align 8 - %1249 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1247, i32 0, i32 1 - store i64 0, ptr %1249, align 4 - %1250 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1247, align 8 - %1251 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %1252 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1246, ptr %1251, i64 113, %"github.com/goplus/llgo/internal/runtime.String" %1250, i1 false) - %1253 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1254 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1253, i32 0, i32 0 - store ptr @58, ptr %1254, align 8 - %1255 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1253, i32 0, i32 1 - store i64 10, ptr %1255, align 4 - %1256 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1253, align 8 - %1257 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1258 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1257, i32 0, i32 0 - store ptr null, ptr %1258, align 8 - %1259 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1257, i32 0, i32 1 - store i64 0, ptr %1259, align 4 - %1260 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1257, align 8 - %1261 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) - %1262 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1256, ptr %1261, i64 114, %"github.com/goplus/llgo/internal/runtime.String" %1260, i1 false) - %1263 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1264 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1263, i32 0, i32 0 - store ptr @59, ptr %1264, align 8 - %1265 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1263, i32 0, i32 1 - store i64 5, ptr %1265, align 4 - %1266 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1263, align 8 - %1267 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1268 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1267, i32 0, i32 0 - store ptr null, ptr %1268, align 8 - %1269 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1267, i32 0, i32 1 - store i64 0, ptr %1269, align 4 - %1270 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1267, align 8 - %1271 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) - %1272 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1266, ptr %1271, i64 116, %"github.com/goplus/llgo/internal/runtime.String" %1270, i1 false) - %1273 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1274 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1273, i32 0, i32 0 - store ptr @6, ptr %1274, align 8 - %1275 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1273, i32 0, i32 1 - store i64 4, ptr %1275, align 4 - %1276 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1273, align 8 - %1277 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 504) - %1278 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1277, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %1144, ptr %1278, align 8 - %1279 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1277, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %1154, ptr %1279, align 8 - %1280 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1277, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %1164, ptr %1280, align 8 - %1281 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1277, i64 3 - store %"github.com/goplus/llgo/internal/abi.StructField" %1174, ptr %1281, align 8 - %1282 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1277, i64 4 - store %"github.com/goplus/llgo/internal/abi.StructField" %1232, ptr %1282, align 8 - %1283 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1277, i64 5 - store %"github.com/goplus/llgo/internal/abi.StructField" %1242, ptr %1283, align 8 - %1284 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1277, i64 6 - store %"github.com/goplus/llgo/internal/abi.StructField" %1252, ptr %1284, align 8 - %1285 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1277, i64 7 - store %"github.com/goplus/llgo/internal/abi.StructField" %1262, ptr %1285, align 8 - %1286 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1277, i64 8 - store %"github.com/goplus/llgo/internal/abi.StructField" %1272, ptr %1286, align 8 - %1287 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %1288 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1287, i32 0, i32 0 - store ptr %1277, ptr %1288, align 8 - %1289 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1287, i32 0, i32 1 - store i64 9, ptr %1289, align 4 - %1290 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1287, i32 0, i32 2 - store i64 9, ptr %1290, align 4 - %1291 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1287, align 8 - %1292 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %1276, i64 120, %"github.com/goplus/llgo/internal/runtime.Slice" %1291) - store ptr %1292, ptr @"main.struct$Yk42tBqeO4BzIoRAwt__cbPj2UwIDCP07Kg_SR7sBZM", align 8 - %1293 = load ptr, ptr @"main.struct$Yk42tBqeO4BzIoRAwt__cbPj2UwIDCP07Kg_SR7sBZM", align 8 - br i1 %1108, label %_llgo_67, label %_llgo_68 +_llgo_66: ; preds = %_llgo_65, %_llgo_63 + %1048 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %1049 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %1050 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %1051 = icmp eq ptr %1050, null + br i1 %1051, label %_llgo_67, label %_llgo_68 _llgo_67: ; preds = %_llgo_66 - %1294 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1295 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1294, i32 0, i32 0 - store ptr @22, ptr %1295, align 8 - %1296 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1294, i32 0, i32 1 - store i64 5, ptr %1296, align 4 - %1297 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1294, align 8 - %1298 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1299 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1300 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1299, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1297, ptr %1300, align 8 - %1301 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1299, i32 0, i32 1 - store ptr %1298, ptr %1301, align 8 - %1302 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1299, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Align", ptr %1302, align 8 - %1303 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1299, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Align", ptr %1303, align 8 - %1304 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1299, align 8 - %1305 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1306 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1305, i32 0, i32 0 - store ptr @23, ptr %1306, align 8 - %1307 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1305, i32 0, i32 1 - store i64 9, ptr %1307, align 4 - %1308 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1305, align 8 - %1309 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %1310 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1311 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1310, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1308, ptr %1311, align 8 - %1312 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1310, i32 0, i32 1 - store ptr %1309, ptr %1312, align 8 - %1313 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1310, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ArrayType", ptr %1313, align 8 - %1314 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1310, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ArrayType", ptr %1314, align 8 - %1315 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1310, align 8 - %1316 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1317 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1316, i32 0, i32 0 - store ptr @29, ptr %1317, align 8 - %1318 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1316, i32 0, i32 1 - store i64 7, ptr %1318, align 4 - %1319 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1316, align 8 - %1320 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %1321 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1322 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1321, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1319, ptr %1322, align 8 - %1323 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1321, i32 0, i32 1 - store ptr %1320, ptr %1323, align 8 - %1324 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1321, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ChanDir", ptr %1324, align 8 - %1325 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1321, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ChanDir", ptr %1325, align 8 - %1326 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1321, align 8 - %1327 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1328 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1327, i32 0, i32 0 - store ptr @32, ptr %1328, align 8 - %1329 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1327, i32 0, i32 1 - store i64 6, ptr %1329, align 4 - %1330 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1327, align 8 - %1331 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %1332 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1333 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1332, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1330, ptr %1333, align 8 - %1334 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1332, i32 0, i32 1 - store ptr %1331, ptr %1334, align 8 - %1335 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1332, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Common", ptr %1335, align 8 - %1336 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1332, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Common", ptr %1336, align 8 - %1337 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1332, align 8 - %1338 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1339 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1338, i32 0, i32 0 - store ptr @33, ptr %1339, align 8 - %1340 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1338, i32 0, i32 1 - store i64 15, ptr %1340, align 4 - %1341 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1338, align 8 - %1342 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %1343 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1344 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1343, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1341, ptr %1344, align 8 - %1345 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1343, i32 0, i32 1 - store ptr %1342, ptr %1345, align 8 - %1346 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1343, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ExportedMethods", ptr %1346, align 8 - %1347 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1343, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ExportedMethods", ptr %1347, align 8 - %1348 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1343, align 8 - %1349 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1350 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1349, i32 0, i32 0 - store ptr @35, ptr %1350, align 8 - %1351 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1349, i32 0, i32 1 - store i64 10, ptr %1351, align 4 - %1352 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1349, align 8 - %1353 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1354 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1355 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1354, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1352, ptr %1355, align 8 - %1356 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1354, i32 0, i32 1 - store ptr %1353, ptr %1356, align 8 - %1357 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1354, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FieldAlign", ptr %1357, align 8 - %1358 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1354, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FieldAlign", ptr %1358, align 8 - %1359 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1354, align 8 - %1360 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1361 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1360, i32 0, i32 0 - store ptr @36, ptr %1361, align 8 - %1362 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1360, i32 0, i32 1 - store i64 8, ptr %1362, align 4 - %1363 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1360, align 8 - %1364 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %1365 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1366 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1365, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1363, ptr %1366, align 8 - %1367 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1365, i32 0, i32 1 - store ptr %1364, ptr %1367, align 8 - %1368 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1365, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FuncType", ptr %1368, align 8 - %1369 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1365, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FuncType", ptr %1369, align 8 - %1370 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1365, align 8 - %1371 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1372 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1371, i32 0, i32 0 - store ptr @40, ptr %1372, align 8 - %1373 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1371, i32 0, i32 1 - store i64 7, ptr %1373, align 4 - %1374 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1371, align 8 - %1375 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1376 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1377 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1376, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1374, ptr %1377, align 8 - %1378 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1376, i32 0, i32 1 - store ptr %1375, ptr %1378, align 8 - %1379 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1376, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HasName", ptr %1379, align 8 - %1380 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1376, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HasName", ptr %1380, align 8 - %1381 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1376, align 8 - %1382 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1383 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1382, i32 0, i32 0 - store ptr @60, ptr %1383, align 8 - %1384 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1382, i32 0, i32 1 - store i64 14, ptr %1384, align 4 - %1385 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1382, align 8 - %1386 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1387 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1388 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1387, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1385, ptr %1388, align 8 - %1389 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1387, i32 0, i32 1 - store ptr %1386, ptr %1389, align 8 - %1390 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1387, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HashMightPanic", ptr %1390, align 8 - %1391 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1387, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HashMightPanic", ptr %1391, align 8 - %1392 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1387, align 8 - %1393 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1394 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1393, i32 0, i32 0 - store ptr @41, ptr %1394, align 8 - %1395 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1393, i32 0, i32 1 - store i64 10, ptr %1395, align 4 - %1396 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1393, align 8 - %1397 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1398 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1399 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1398, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1396, ptr %1399, align 8 - %1400 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1398, i32 0, i32 1 - store ptr %1397, ptr %1400, align 8 - %1401 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1398, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IfaceIndir", ptr %1401, align 8 - %1402 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1398, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IfaceIndir", ptr %1402, align 8 - %1403 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1398, align 8 - %1404 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1405 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1404, i32 0, i32 0 - store ptr @61, ptr %1405, align 8 - %1406 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1404, i32 0, i32 1 - store i64 12, ptr %1406, align 4 - %1407 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1404, align 8 - %1408 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1409 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1410 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1409, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1407, ptr %1410, align 8 - %1411 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1409, i32 0, i32 1 - store ptr %1408, ptr %1411, align 8 - %1412 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1409, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectElem", ptr %1412, align 8 - %1413 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1409, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectElem", ptr %1413, align 8 - %1414 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1409, align 8 - %1415 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1416 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1415, i32 0, i32 0 - store ptr @62, ptr %1416, align 8 - %1417 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1415, i32 0, i32 1 - store i64 11, ptr %1417, align 4 - %1418 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1415, align 8 - %1419 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1420 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1421 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1420, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1418, ptr %1421, align 8 - %1422 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1420, i32 0, i32 1 - store ptr %1419, ptr %1422, align 8 - %1423 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1420, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectKey", ptr %1423, align 8 - %1424 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1420, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectKey", ptr %1424, align 8 - %1425 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1420, align 8 - %1426 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1427 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1426, i32 0, i32 0 - store ptr @42, ptr %1427, align 8 - %1428 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1426, i32 0, i32 1 - store i64 13, ptr %1428, align 4 - %1429 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1426, align 8 - %1430 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %1431 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1432 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1431, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1429, ptr %1432, align 8 - %1433 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1431, i32 0, i32 1 - store ptr %1430, ptr %1433, align 8 - %1434 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1431, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).InterfaceType", ptr %1434, align 8 - %1435 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1431, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).InterfaceType", ptr %1435, align 8 - %1436 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1431, align 8 - %1437 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1438 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1437, i32 0, i32 0 - store ptr @47, ptr %1438, align 8 - %1439 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1437, i32 0, i32 1 - store i64 13, ptr %1439, align 4 - %1440 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1437, align 8 - %1441 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1442 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1443 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1442, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1440, ptr %1443, align 8 - %1444 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1442, i32 0, i32 1 - store ptr %1441, ptr %1444, align 8 - %1445 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1442, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IsDirectIface", ptr %1445, align 8 - %1446 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1442, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IsDirectIface", ptr %1446, align 8 - %1447 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1442, align 8 - %1448 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1449 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1448, i32 0, i32 0 - store ptr @49, ptr %1449, align 8 - %1450 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1448, i32 0, i32 1 - store i64 4, ptr %1450, align 4 - %1451 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1448, align 8 - %1452 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %1453 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1454 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1453, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1451, ptr %1454, align 8 - %1455 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1453, i32 0, i32 1 - store ptr %1452, ptr %1455, align 8 - %1456 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1453, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Kind", ptr %1456, align 8 - %1457 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1453, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Kind", ptr %1457, align 8 - %1458 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1453, align 8 - %1459 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1460 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1459, i32 0, i32 0 - store ptr @28, ptr %1460, align 8 - %1461 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1459, i32 0, i32 1 - store i64 3, ptr %1461, align 4 - %1462 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1459, align 8 - %1463 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1464 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1465 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1464, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1462, ptr %1465, align 8 - %1466 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1464, i32 0, i32 1 - store ptr %1463, ptr %1466, align 8 - %1467 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1464, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Len", ptr %1467, align 8 - %1468 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1464, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Len", ptr %1468, align 8 - %1469 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1464, align 8 - %1470 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1471 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1470, i32 0, i32 0 - store ptr @52, ptr %1471, align 8 - %1472 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1470, i32 0, i32 1 - store i64 7, ptr %1472, align 4 - %1473 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1470, align 8 - %1474 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %1475 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1476 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1475, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1473, ptr %1476, align 8 - %1477 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1475, i32 0, i32 1 - store ptr %1474, ptr %1477, align 8 - %1478 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1475, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).MapType", ptr %1478, align 8 - %1479 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1475, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).MapType", ptr %1479, align 8 - %1480 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1475, align 8 - %1481 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1482 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1481, i32 0, i32 0 - store ptr @63, ptr %1482, align 8 - %1483 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1481, i32 0, i32 1 - store i64 13, ptr %1483, align 4 - %1484 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1481, align 8 - %1485 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1486 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1487 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1486, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1484, ptr %1487, align 8 - %1488 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1486, i32 0, i32 1 - store ptr %1485, ptr %1488, align 8 - %1489 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1486, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NeedKeyUpdate", ptr %1489, align 8 - %1490 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1486, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NeedKeyUpdate", ptr %1490, align 8 - %1491 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1486, align 8 - %1492 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1493 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1492, i32 0, i32 0 - store ptr @64, ptr %1493, align 8 - %1494 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1492, i32 0, i32 1 - store i64 9, ptr %1494, align 4 - %1495 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1492, align 8 - %1496 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1497 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1498 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1497, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1495, ptr %1498, align 8 - %1499 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1497, i32 0, i32 1 - store ptr %1496, ptr %1499, align 8 - %1500 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1497, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NumMethod", ptr %1500, align 8 - %1501 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1497, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NumMethod", ptr %1501, align 8 - %1502 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1497, align 8 - %1503 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1504 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1503, i32 0, i32 0 - store ptr @65, ptr %1504, align 8 - %1505 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1503, i32 0, i32 1 - store i64 8, ptr %1505, align 4 - %1506 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1503, align 8 - %1507 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1508 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1509 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1508, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1506, ptr %1509, align 8 - %1510 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1508, i32 0, i32 1 - store ptr %1507, ptr %1510, align 8 - %1511 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1508, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Pointers", ptr %1511, align 8 - %1512 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1508, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Pointers", ptr %1512, align 8 - %1513 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1508, align 8 - %1514 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1515 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1514, i32 0, i32 0 - store ptr @66, ptr %1515, align 8 - %1516 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1514, i32 0, i32 1 - store i64 12, ptr %1516, align 4 - %1517 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1514, align 8 - %1518 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1519 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1520 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1519, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1517, ptr %1520, align 8 - %1521 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1519, i32 0, i32 1 - store ptr %1518, ptr %1521, align 8 - %1522 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1519, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ReflexiveKey", ptr %1522, align 8 - %1523 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1519, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ReflexiveKey", ptr %1523, align 8 - %1524 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1519, align 8 - %1525 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1526 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1525, i32 0, i32 0 - store ptr @67, ptr %1526, align 8 - %1527 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1525, i32 0, i32 1 - store i64 4, ptr %1527, align 4 - %1528 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1525, align 8 - %1529 = load ptr, ptr @_llgo_uintptr, align 8 - %1530 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %1531 = icmp eq ptr %1530, null - br i1 %1531, label %_llgo_69, label %_llgo_70 + %1052 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %1053 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1054 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1053, i32 0, i32 0 + store ptr %1052, ptr %1054, align 8 + %1055 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1053, i32 0, i32 1 + store i64 0, ptr %1055, align 4 + %1056 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1053, i32 0, i32 2 + store i64 0, ptr %1056, align 4 + %1057 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1053, align 8 + %1058 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %1059 = getelementptr ptr, ptr %1058, i64 0 + store ptr %1049, ptr %1059, align 8 + %1060 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1061 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1060, i32 0, i32 0 + store ptr %1058, ptr %1061, align 8 + %1062 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1060, i32 0, i32 1 + store i64 1, ptr %1062, align 4 + %1063 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1060, i32 0, i32 2 + store i64 1, ptr %1063, align 4 + %1064 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1060, align 8 + %1065 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1057, %"github.com/goplus/llgo/internal/runtime.Slice" %1064, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1065) + store ptr %1065, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + br label %_llgo_68 -_llgo_68: ; preds = %_llgo_90, %_llgo_66 - %1532 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1533 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1532, i32 0, i32 0 - store ptr @53, ptr %1533, align 8 - %1534 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1532, i32 0, i32 1 - store i64 43, ptr %1534, align 4 - %1535 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1532, align 8 - %1536 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1535, i64 25, i64 136, i64 0, i64 25) - %1537 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 - %1538 = icmp eq ptr %1537, null - br i1 %1538, label %_llgo_91, label %_llgo_92 +_llgo_68: ; preds = %_llgo_67, %_llgo_66 + %1066 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %1067 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1068 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1030, ptr %1068, align 8 + %1069 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i32 0, i32 1 + store ptr %1066, ptr %1069, align 8 + %1070 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ExportedMethods", ptr %1070, align 8 + %1071 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).ExportedMethods", ptr %1071, align 8 + %1072 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1067, align 8 + %1073 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1074 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1073, i32 0, i32 0 + store ptr @33, ptr %1074, align 8 + %1075 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1073, i32 0, i32 1 + store i64 10, ptr %1075, align 4 + %1076 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1073, align 8 + %1077 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %1078 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1079 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1078, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1076, ptr %1079, align 8 + %1080 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1078, i32 0, i32 1 + store ptr %1077, ptr %1080, align 8 + %1081 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1078, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FieldAlign", ptr %1081, align 8 + %1082 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1078, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FieldAlign", ptr %1082, align 8 + %1083 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1078, align 8 + %1084 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1085 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1084, i32 0, i32 0 + store ptr @34, ptr %1085, align 8 + %1086 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1084, i32 0, i32 1 + store i64 8, ptr %1086, align 4 + %1087 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1084, align 8 + %1088 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1089 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1088, i32 0, i32 0 + store ptr @30, ptr %1089, align 8 + %1090 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1088, i32 0, i32 1 + store i64 44, ptr %1090, align 4 + %1091 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1088, align 8 + %1092 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1091, i64 25, i64 128, i64 0, i64 23) + %1093 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %1094 = icmp eq ptr %1093, null + br i1 %1094, label %_llgo_69, label %_llgo_70 -_llgo_69: ; preds = %_llgo_67 - %1539 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %1540 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %1541 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1540, i32 0, i32 0 - store ptr %1539, ptr %1541, align 8 - %1542 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1540, i32 0, i32 1 - store i64 0, ptr %1542, align 4 - %1543 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1540, i32 0, i32 2 - store i64 0, ptr %1543, align 4 - %1544 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1540, align 8 - %1545 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %1546 = getelementptr ptr, ptr %1545, i64 0 - store ptr %1529, ptr %1546, align 8 - %1547 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %1548 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1547, i32 0, i32 0 - store ptr %1545, ptr %1548, align 8 - %1549 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1547, i32 0, i32 1 - store i64 1, ptr %1549, align 4 - %1550 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1547, i32 0, i32 2 - store i64 1, ptr %1550, align 4 - %1551 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1547, align 8 - %1552 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1544, %"github.com/goplus/llgo/internal/runtime.Slice" %1551, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1552) - store ptr %1552, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 +_llgo_69: ; preds = %_llgo_68 + %1095 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1092) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1095) + store ptr %1095, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 br label %_llgo_70 -_llgo_70: ; preds = %_llgo_69, %_llgo_67 - %1553 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %1554 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1555 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1554, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1528, ptr %1555, align 8 - %1556 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1554, i32 0, i32 1 - store ptr %1553, ptr %1556, align 8 - %1557 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1554, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Size", ptr %1557, align 8 - %1558 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1554, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Size", ptr %1558, align 8 - %1559 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1554, align 8 - %1560 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1561 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1560, i32 0, i32 0 - store ptr @51, ptr %1561, align 8 - %1562 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1560, i32 0, i32 1 - store i64 6, ptr %1562, align 4 - %1563 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1560, align 8 - %1564 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %1565 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1566 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1565, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1563, ptr %1566, align 8 - %1567 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1565, i32 0, i32 1 - store ptr %1564, ptr %1567, align 8 - %1568 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1565, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).String", ptr %1568, align 8 - %1569 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1565, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).String", ptr %1569, align 8 - %1570 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1565, align 8 - %1571 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1572 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1571, i32 0, i32 0 - store ptr @68, ptr %1572, align 8 - %1573 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1571, i32 0, i32 1 - store i64 10, ptr %1573, align 4 - %1574 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1571, align 8 - %1575 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1576 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1575, i32 0, i32 0 - store ptr @69, ptr %1576, align 8 - %1577 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1575, i32 0, i32 1 - store i64 46, ptr %1577, align 4 - %1578 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1575, align 8 - %1579 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1578, i64 25, i64 120, i64 0, i64 22) - %1580 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 - %1581 = icmp eq ptr %1580, null - br i1 %1581, label %_llgo_71, label %_llgo_72 +_llgo_70: ; preds = %_llgo_69, %_llgo_68 + %1096 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %1097 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %1098 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 + %1099 = icmp eq ptr %1098, null + br i1 %1099, label %_llgo_71, label %_llgo_72 _llgo_71: ; preds = %_llgo_70 - store ptr %1579, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %1100 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %1101 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1102 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1101, i32 0, i32 0 + store ptr %1100, ptr %1102, align 8 + %1103 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1101, i32 0, i32 1 + store i64 0, ptr %1103, align 4 + %1104 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1101, i32 0, i32 2 + store i64 0, ptr %1104, align 4 + %1105 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1101, align 8 + %1106 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %1107 = getelementptr ptr, ptr %1106, i64 0 + store ptr %1097, ptr %1107, align 8 + %1108 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1109 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1108, i32 0, i32 0 + store ptr %1106, ptr %1109, align 8 + %1110 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1108, i32 0, i32 1 + store i64 1, ptr %1110, align 4 + %1111 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1108, i32 0, i32 2 + store i64 1, ptr %1111, align 4 + %1112 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1108, align 8 + %1113 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1105, %"github.com/goplus/llgo/internal/runtime.Slice" %1112, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1113) + store ptr %1113, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 br label %_llgo_72 _llgo_72: ; preds = %_llgo_71, %_llgo_70 - %1582 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1583 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1582, i32 0, i32 0 - store ptr @1, ptr %1583, align 8 - %1584 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1582, i32 0, i32 1 - store i64 40, ptr %1584, align 4 - %1585 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1582, align 8 - %1586 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1585, i64 25, i64 80, i64 0, i64 22) - %1587 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1588 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1587, i32 0, i32 0 - store ptr @70, ptr %1588, align 8 - %1589 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1587, i32 0, i32 1 - store i64 47, ptr %1589, align 4 - %1590 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1587, align 8 - %1591 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1590, i64 25, i64 56, i64 0, i64 2) - %1592 = load ptr, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 - %1593 = icmp eq ptr %1592, null - br i1 %1593, label %_llgo_73, label %_llgo_74 + %1114 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 + %1115 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1116 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1115, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1087, ptr %1116, align 8 + %1117 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1115, i32 0, i32 1 + store ptr %1114, ptr %1117, align 8 + %1118 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1115, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FuncType", ptr %1118, align 8 + %1119 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1115, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).FuncType", ptr %1119, align 8 + %1120 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1115, align 8 + %1121 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1122 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1121, i32 0, i32 0 + store ptr @35, ptr %1122, align 8 + %1123 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1121, i32 0, i32 1 + store i64 7, ptr %1123, align 4 + %1124 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1121, align 8 + %1125 = load ptr, ptr @_llgo_bool, align 8 + %1126 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1127 = icmp eq ptr %1126, null + br i1 %1127, label %_llgo_73, label %_llgo_74 _llgo_73: ; preds = %_llgo_72 - %1594 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1595 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1594, i32 0, i32 0 - store ptr @25, ptr %1595, align 8 - %1596 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1594, i32 0, i32 1 - store i64 4, ptr %1596, align 4 - %1597 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1594, align 8 - %1598 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1599 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1598, i32 0, i32 0 - store ptr null, ptr %1599, align 8 - %1600 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1598, i32 0, i32 1 - store i64 0, ptr %1600, align 4 - %1601 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1598, align 8 - %1602 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1597, ptr %1586, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %1601, i1 true) - %1603 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1604 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1603, i32 0, i32 0 - store ptr @45, ptr %1604, align 8 - %1605 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1603, i32 0, i32 1 - store i64 8, ptr %1605, align 4 - %1606 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1603, align 8 - %1607 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1608 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1607, i32 0, i32 0 - store ptr null, ptr %1608, align 8 - %1609 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1607, i32 0, i32 1 - store i64 0, ptr %1609, align 4 - %1610 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1607, align 8 - %1611 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %1612 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1606, ptr %1611, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %1610, i1 false) - %1613 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1614 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1613, i32 0, i32 0 - store ptr @71, ptr %1614, align 8 - %1615 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1613, i32 0, i32 1 - store i64 6, ptr %1615, align 4 - %1616 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1613, align 8 - %1617 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1618 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1617, i32 0, i32 0 - store ptr null, ptr %1618, align 8 - %1619 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1617, i32 0, i32 1 - store i64 0, ptr %1619, align 4 - %1620 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1617, align 8 - %1621 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %1591) - %1622 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1616, ptr %1621, i64 88, %"github.com/goplus/llgo/internal/runtime.String" %1620, i1 false) - %1623 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1624 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1623, i32 0, i32 0 - store ptr @6, ptr %1624, align 8 - %1625 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1623, i32 0, i32 1 - store i64 4, ptr %1625, align 4 - %1626 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1623, align 8 - %1627 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) - %1628 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1627, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %1602, ptr %1628, align 8 - %1629 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1627, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %1612, ptr %1629, align 8 - %1630 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1627, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %1622, ptr %1630, align 8 - %1631 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %1632 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1631, i32 0, i32 0 - store ptr %1627, ptr %1632, align 8 - %1633 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1631, i32 0, i32 1 - store i64 3, ptr %1633, align 4 - %1634 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1631, i32 0, i32 2 - store i64 3, ptr %1634, align 4 - %1635 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1631, align 8 - %1636 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %1626, i64 112, %"github.com/goplus/llgo/internal/runtime.Slice" %1635) - store ptr %1636, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 + %1128 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %1129 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1130 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1129, i32 0, i32 0 + store ptr %1128, ptr %1130, align 8 + %1131 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1129, i32 0, i32 1 + store i64 0, ptr %1131, align 4 + %1132 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1129, i32 0, i32 2 + store i64 0, ptr %1132, align 4 + %1133 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1129, align 8 + %1134 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %1135 = getelementptr ptr, ptr %1134, i64 0 + store ptr %1125, ptr %1135, align 8 + %1136 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1137 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1136, i32 0, i32 0 + store ptr %1134, ptr %1137, align 8 + %1138 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1136, i32 0, i32 1 + store i64 1, ptr %1138, align 4 + %1139 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1136, i32 0, i32 2 + store i64 1, ptr %1139, align 4 + %1140 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1136, align 8 + %1141 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1133, %"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$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 br label %_llgo_74 _llgo_74: ; preds = %_llgo_73, %_llgo_72 - %1637 = load ptr, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 - br i1 %1581, label %_llgo_75, label %_llgo_76 + %1142 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1143 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1144 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1143, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1124, ptr %1144, align 8 + %1145 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1143, i32 0, i32 1 + store ptr %1142, ptr %1145, align 8 + %1146 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1143, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).HasName", ptr %1146, align 8 + %1147 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1143, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).HasName", ptr %1147, align 8 + %1148 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1143, align 8 + %1149 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1150 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1149, i32 0, i32 0 + store ptr @36, ptr %1150, align 8 + %1151 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1149, i32 0, i32 1 + store i64 10, ptr %1151, align 4 + %1152 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1149, align 8 + %1153 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1154 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1155 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1154, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1152, ptr %1155, align 8 + %1156 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1154, i32 0, i32 1 + store ptr %1153, ptr %1156, align 8 + %1157 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1154, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IfaceIndir", ptr %1157, align 8 + %1158 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1154, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IfaceIndir", ptr %1158, align 8 + %1159 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1154, align 8 + %1160 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1161 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1160, i32 0, i32 0 + store ptr @37, ptr %1161, align 8 + %1162 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1160, i32 0, i32 1 + store i64 13, ptr %1162, align 4 + %1163 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1160, align 8 + %1164 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1165 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1164, i32 0, i32 0 + store ptr @38, ptr %1165, align 8 + %1166 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1164, i32 0, i32 1 + store i64 49, ptr %1166, align 4 + %1167 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1164, align 8 + %1168 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1167, i64 25, i64 120, i64 0, i64 22) + %1169 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %1170 = icmp eq ptr %1169, null + br i1 %1170, label %_llgo_75, label %_llgo_76 _llgo_75: ; preds = %_llgo_74 - %1638 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1639 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1638, i32 0, i32 0 - store ptr @22, ptr %1639, align 8 - %1640 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1638, i32 0, i32 1 - store i64 5, ptr %1640, align 4 - %1641 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1638, align 8 - %1642 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1643 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1644 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1643, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1641, ptr %1644, align 8 - %1645 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1643, i32 0, i32 1 - store ptr %1642, ptr %1645, align 8 - %1646 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1643, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Align", ptr %1646, align 8 - %1647 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1643, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Align", ptr %1647, align 8 - %1648 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1643, align 8 - %1649 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1650 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1649, i32 0, i32 0 - store ptr @23, ptr %1650, align 8 - %1651 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1649, i32 0, i32 1 - store i64 9, ptr %1651, align 4 - %1652 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1649, align 8 - %1653 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %1654 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1655 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1654, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1652, ptr %1655, align 8 - %1656 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1654, i32 0, i32 1 - store ptr %1653, ptr %1656, align 8 - %1657 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1654, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ArrayType", ptr %1657, align 8 - %1658 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1654, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ArrayType", ptr %1658, align 8 - %1659 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1654, align 8 - %1660 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1661 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1660, i32 0, i32 0 - store ptr @29, ptr %1661, align 8 - %1662 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1660, i32 0, i32 1 - store i64 7, ptr %1662, align 4 - %1663 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1660, align 8 - %1664 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %1665 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1666 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1665, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1663, ptr %1666, align 8 - %1667 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1665, i32 0, i32 1 - store ptr %1664, ptr %1667, align 8 - %1668 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1665, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ChanDir", ptr %1668, align 8 - %1669 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1665, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ChanDir", ptr %1669, align 8 - %1670 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1665, align 8 - %1671 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1672 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1671, i32 0, i32 0 - store ptr @32, ptr %1672, align 8 - %1673 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1671, i32 0, i32 1 - store i64 6, ptr %1673, align 4 - %1674 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1671, align 8 - %1675 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %1676 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1677 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1676, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1674, ptr %1677, align 8 - %1678 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1676, i32 0, i32 1 - store ptr %1675, ptr %1678, align 8 - %1679 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1676, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Common", ptr %1679, align 8 - %1680 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1676, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Common", ptr %1680, align 8 - %1681 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1676, align 8 - %1682 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1683 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1682, i32 0, i32 0 - store ptr @26, ptr %1683, align 8 - %1684 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1682, i32 0, i32 1 - store i64 4, ptr %1684, align 4 - %1685 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1682, align 8 - %1686 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %1687 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1688 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1687, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1685, ptr %1688, align 8 - %1689 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1687, i32 0, i32 1 - store ptr %1686, ptr %1689, align 8 - %1690 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1687, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Elem", ptr %1690, align 8 - %1691 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1687, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Elem", ptr %1691, align 8 - %1692 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1687, align 8 - %1693 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1694 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1693, i32 0, i32 0 - store ptr @33, ptr %1694, align 8 - %1695 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1693, i32 0, i32 1 - store i64 15, ptr %1695, align 4 - %1696 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1693, align 8 - %1697 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %1698 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1699 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1698, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1696, ptr %1699, align 8 - %1700 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1698, i32 0, i32 1 - store ptr %1697, ptr %1700, align 8 - %1701 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1698, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ExportedMethods", ptr %1701, align 8 - %1702 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1698, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ExportedMethods", ptr %1702, align 8 - %1703 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1698, align 8 - %1704 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1705 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1704, i32 0, i32 0 - store ptr @35, ptr %1705, align 8 - %1706 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1704, i32 0, i32 1 - store i64 10, ptr %1706, align 4 - %1707 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1704, align 8 - %1708 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1709 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1710 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1709, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1707, ptr %1710, align 8 - %1711 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1709, i32 0, i32 1 - store ptr %1708, ptr %1711, align 8 - %1712 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1709, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FieldAlign", ptr %1712, align 8 - %1713 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1709, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FieldAlign", ptr %1713, align 8 - %1714 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1709, align 8 - %1715 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1716 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1715, i32 0, i32 0 - store ptr @36, ptr %1716, align 8 - %1717 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1715, i32 0, i32 1 - store i64 8, ptr %1717, align 4 - %1718 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1715, align 8 - %1719 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %1720 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1721 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1720, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1718, ptr %1721, align 8 - %1722 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1720, i32 0, i32 1 - store ptr %1719, ptr %1722, align 8 - %1723 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1720, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FuncType", ptr %1723, align 8 - %1724 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1720, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FuncType", ptr %1724, align 8 - %1725 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1720, align 8 - %1726 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1727 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1726, i32 0, i32 0 - store ptr @40, ptr %1727, align 8 - %1728 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1726, i32 0, i32 1 - store i64 7, ptr %1728, align 4 - %1729 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1726, align 8 - %1730 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1731 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1732 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1731, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1729, ptr %1732, align 8 - %1733 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1731, i32 0, i32 1 - store ptr %1730, ptr %1733, align 8 - %1734 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1731, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).HasName", ptr %1734, align 8 - %1735 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1731, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).HasName", ptr %1735, align 8 - %1736 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1731, align 8 - %1737 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1738 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1737, i32 0, i32 0 - store ptr @41, ptr %1738, align 8 - %1739 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1737, i32 0, i32 1 - store i64 10, ptr %1739, align 4 - %1740 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1737, align 8 - %1741 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1742 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1743 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1742, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1740, ptr %1743, align 8 - %1744 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1742, i32 0, i32 1 - store ptr %1741, ptr %1744, align 8 - %1745 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1742, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IfaceIndir", ptr %1745, align 8 - %1746 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1742, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IfaceIndir", ptr %1746, align 8 - %1747 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1742, align 8 - %1748 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1749 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1748, i32 0, i32 0 - store ptr @42, ptr %1749, align 8 - %1750 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1748, i32 0, i32 1 - store i64 13, ptr %1750, align 4 - %1751 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1748, align 8 - %1752 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %1753 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1754 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1753, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1751, ptr %1754, align 8 - %1755 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1753, i32 0, i32 1 - store ptr %1752, ptr %1755, align 8 - %1756 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1753, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).InterfaceType", ptr %1756, align 8 - %1757 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1753, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).InterfaceType", ptr %1757, align 8 - %1758 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1753, align 8 - %1759 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1760 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1759, i32 0, i32 0 - store ptr @47, ptr %1760, align 8 - %1761 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1759, i32 0, i32 1 - store i64 13, ptr %1761, align 4 - %1762 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1759, align 8 - %1763 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1764 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1765 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1764, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1762, ptr %1765, align 8 - %1766 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1764, i32 0, i32 1 - store ptr %1763, ptr %1766, align 8 - %1767 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1764, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IsDirectIface", ptr %1767, align 8 - %1768 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1764, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IsDirectIface", ptr %1768, align 8 - %1769 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1764, align 8 - %1770 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1771 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1770, i32 0, i32 0 - store ptr @48, ptr %1771, align 8 - %1772 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1770, i32 0, i32 1 - store i64 3, ptr %1772, align 4 - %1773 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1770, align 8 - %1774 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %1775 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1776 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1775, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1773, ptr %1776, align 8 - %1777 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1775, i32 0, i32 1 - store ptr %1774, ptr %1777, align 8 - %1778 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1775, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Key", ptr %1778, align 8 - %1779 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1775, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Key", ptr %1779, align 8 - %1780 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1775, align 8 - %1781 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1782 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1781, i32 0, i32 0 - store ptr @49, ptr %1782, align 8 - %1783 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1781, i32 0, i32 1 - store i64 4, ptr %1783, align 4 - %1784 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1781, align 8 - %1785 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %1786 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1787 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1786, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1784, ptr %1787, align 8 - %1788 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1786, i32 0, i32 1 - store ptr %1785, ptr %1788, align 8 - %1789 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1786, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Kind", ptr %1789, align 8 - %1790 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1786, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Kind", ptr %1790, align 8 - %1791 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1786, align 8 - %1792 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1793 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1792, i32 0, i32 0 - store ptr @28, ptr %1793, align 8 - %1794 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1792, i32 0, i32 1 - store i64 3, ptr %1794, align 4 - %1795 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1792, align 8 - %1796 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1797 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1798 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1797, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1795, ptr %1798, align 8 - %1799 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1797, i32 0, i32 1 - store ptr %1796, ptr %1799, align 8 - %1800 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1797, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Len", ptr %1800, align 8 - %1801 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1797, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Len", ptr %1801, align 8 - %1802 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1797, align 8 - %1803 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1804 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1803, i32 0, i32 0 - store ptr @52, ptr %1804, align 8 - %1805 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1803, i32 0, i32 1 - store i64 7, ptr %1805, align 4 - %1806 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1803, align 8 - %1807 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %1808 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1809 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1808, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1806, ptr %1809, align 8 - %1810 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1808, i32 0, i32 1 - store ptr %1807, ptr %1810, align 8 - %1811 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1808, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).MapType", ptr %1811, align 8 - %1812 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1808, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).MapType", ptr %1812, align 8 - %1813 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1808, align 8 - %1814 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1815 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1814, i32 0, i32 0 - store ptr @64, ptr %1815, align 8 - %1816 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1814, i32 0, i32 1 - store i64 9, ptr %1816, align 4 - %1817 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1814, align 8 - %1818 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %1819 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1820 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1819, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1817, ptr %1820, align 8 - %1821 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1819, i32 0, i32 1 - store ptr %1818, ptr %1821, align 8 - %1822 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1819, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).NumMethod", ptr %1822, align 8 - %1823 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1819, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).NumMethod", ptr %1823, align 8 - %1824 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1819, align 8 - %1825 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1826 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1825, i32 0, i32 0 - store ptr @65, ptr %1826, align 8 - %1827 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1825, i32 0, i32 1 - store i64 8, ptr %1827, align 4 - %1828 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1825, align 8 - %1829 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %1830 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1831 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1830, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1828, ptr %1831, align 8 - %1832 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1830, i32 0, i32 1 - store ptr %1829, ptr %1832, align 8 - %1833 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1830, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Pointers", ptr %1833, align 8 - %1834 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1830, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Pointers", ptr %1834, align 8 - %1835 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1830, align 8 - %1836 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1837 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1836, i32 0, i32 0 - store ptr @67, ptr %1837, align 8 - %1838 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1836, i32 0, i32 1 - store i64 4, ptr %1838, align 4 - %1839 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1836, align 8 - %1840 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %1841 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1842 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1841, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1839, ptr %1842, align 8 - %1843 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1841, i32 0, i32 1 - store ptr %1840, ptr %1843, align 8 - %1844 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1841, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Size", ptr %1844, align 8 - %1845 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1841, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Size", ptr %1845, align 8 - %1846 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1841, align 8 - %1847 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1848 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1847, i32 0, i32 0 - store ptr @51, ptr %1848, align 8 - %1849 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1847, i32 0, i32 1 - store i64 6, ptr %1849, align 4 - %1850 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1847, align 8 - %1851 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %1852 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1853 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1852, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1850, ptr %1853, align 8 - %1854 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1852, i32 0, i32 1 - store ptr %1851, ptr %1854, align 8 - %1855 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1852, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).String", ptr %1855, align 8 - %1856 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1852, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).String", ptr %1856, align 8 - %1857 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1852, align 8 - %1858 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1859 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1858, i32 0, i32 0 - store ptr @68, ptr %1859, align 8 - %1860 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1858, i32 0, i32 1 - store i64 10, ptr %1860, align 4 - %1861 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1858, align 8 - %1862 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %1863 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1864 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1863, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1861, ptr %1864, align 8 - %1865 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1863, i32 0, i32 1 - store ptr %1862, ptr %1865, align 8 - %1866 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1863, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).StructType", ptr %1866, align 8 - %1867 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1863, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).StructType", ptr %1867, align 8 - %1868 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1863, align 8 - %1869 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1870 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1869, i32 0, i32 0 - store ptr @72, ptr %1870, align 8 - %1871 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1869, i32 0, i32 1 - store i64 8, ptr %1871, align 4 - %1872 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1869, align 8 - %1873 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1874 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1873, i32 0, i32 0 - store ptr @73, ptr %1874, align 8 - %1875 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1873, i32 0, i32 1 - store i64 48, ptr %1875, align 4 - %1876 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1873, align 8 - %1877 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1876, i64 25, i64 24, i64 0, i64 2) - %1878 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 - %1879 = icmp eq ptr %1878, null - br i1 %1879, label %_llgo_77, label %_llgo_78 + store ptr %1168, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + br label %_llgo_76 -_llgo_76: ; preds = %_llgo_86, %_llgo_74 - %1880 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1881 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1880, i32 0, i32 0 - store ptr @69, ptr %1881, align 8 - %1882 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1880, i32 0, i32 1 - store i64 46, ptr %1882, align 4 - %1883 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1880, align 8 - %1884 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1883, i64 25, i64 120, i64 0, i64 22) - %1885 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 - %1886 = icmp eq ptr %1885, null - br i1 %1886, label %_llgo_87, label %_llgo_88 +_llgo_76: ; preds = %_llgo_75, %_llgo_74 + %1171 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1172 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1171, i32 0, i32 0 + store ptr @39, ptr %1172, align 8 + %1173 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1171, i32 0, i32 1 + store i64 43, ptr %1173, align 4 + %1174 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1171, align 8 + %1175 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1174, i64 25, i64 24, i64 0, i64 3) + %1176 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 + %1177 = icmp eq ptr %1176, null + br i1 %1177, label %_llgo_77, label %_llgo_78 -_llgo_77: ; preds = %_llgo_75 - store ptr %1877, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 +_llgo_77: ; preds = %_llgo_76 + store ptr %1175, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 br label %_llgo_78 -_llgo_78: ; preds = %_llgo_77, %_llgo_75 - %1887 = load ptr, ptr @"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI", align 8 - %1888 = icmp eq ptr %1887, null - br i1 %1888, label %_llgo_79, label %_llgo_80 +_llgo_78: ; preds = %_llgo_77, %_llgo_76 + %1178 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %1179 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1180 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1179, i32 0, i32 0 + store ptr @30, ptr %1180, align 8 + %1181 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1179, i32 0, i32 1 + store i64 44, ptr %1181, align 4 + %1182 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1179, align 8 + %1183 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1182, i64 25, i64 128, i64 0, i64 23) + %1184 = load ptr, ptr @"_llgo_struct$-SVMNS9vOT5F9q4yodRiL9MFhdPf0tfZ2Cx2o7KjSDw", align 8 + %1185 = icmp eq ptr %1184, null + br i1 %1185, label %_llgo_79, label %_llgo_80 _llgo_79: ; preds = %_llgo_78 - %1889 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1890 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1889, i32 0, i32 0 - store ptr @45, ptr %1890, align 8 - %1891 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1889, i32 0, i32 1 - store i64 8, ptr %1891, align 4 - %1892 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1889, align 8 - %1893 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1894 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1893, i32 0, i32 0 - store ptr null, ptr %1894, align 8 - %1895 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1893, i32 0, i32 1 - store i64 0, ptr %1895, align 4 - %1896 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1893, align 8 - %1897 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %1898 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1892, ptr %1897, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %1896, i1 false) - %1899 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1900 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1899, i32 0, i32 0 - store ptr @74, ptr %1900, align 8 - %1901 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1899, i32 0, i32 1 - store i64 6, ptr %1901, align 4 - %1902 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1899, align 8 - %1903 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1904 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1903, i32 0, i32 0 - store ptr null, ptr %1904, align 8 - %1905 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1903, i32 0, i32 1 - store i64 0, ptr %1905, align 4 - %1906 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1903, align 8 - %1907 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) - %1908 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1902, ptr %1907, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %1906, i1 false) - %1909 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1910 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1909, i32 0, i32 0 - store ptr @75, ptr %1910, align 8 - %1911 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1909, i32 0, i32 1 - store i64 6, ptr %1911, align 4 - %1912 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1909, align 8 - %1913 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1914 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1913, i32 0, i32 0 - store ptr null, ptr %1914, align 8 - %1915 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1913, i32 0, i32 1 - store i64 0, ptr %1915, align 4 - %1916 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1913, align 8 - %1917 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) - %1918 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1912, ptr %1917, i64 18, %"github.com/goplus/llgo/internal/runtime.String" %1916, i1 false) + %1186 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1187 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1186, i32 0, i32 0 + store ptr @40, ptr %1187, align 8 + %1188 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1186, i32 0, i32 1 + store i64 5, ptr %1188, align 4 + %1189 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1186, align 8 + %1190 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1191 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1190, i32 0, i32 0 + store ptr null, ptr %1191, align 8 + %1192 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1190, i32 0, i32 1 + store i64 0, ptr %1192, align 4 + %1193 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1190, align 8 + %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" %1189, ptr %1194, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %1193, i1 false) + %1196 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1197 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1196, i32 0, i32 0 + store ptr @41, ptr %1197, align 8 + %1198 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1196, i32 0, i32 1 + store i64 4, ptr %1198, align 4 + %1199 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1196, align 8 + %1200 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1201 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1200, i32 0, i32 0 + store ptr null, ptr %1201, align 8 + %1202 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1200, i32 0, i32 1 + store i64 0, ptr %1202, align 4 + %1203 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1200, align 8 + %1204 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1183) + %1205 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1199, ptr %1204, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %1203, i1 false) + %1206 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1207 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1206, i32 0, i32 0 + store ptr @7, ptr %1207, align 8 + %1208 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1206, i32 0, i32 1 + store i64 4, ptr %1208, align 4 + %1209 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1206, align 8 + %1210 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %1211 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1210, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %1195, 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" %1205, ptr %1212, align 8 + %1213 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1214 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1213, i32 0, i32 0 + store ptr %1210, ptr %1214, align 8 + %1215 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1213, i32 0, i32 1 + store i64 2, ptr %1215, align 4 + %1216 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1213, i32 0, i32 2 + store i64 2, ptr %1216, align 4 + %1217 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1213, align 8 + %1218 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %1209, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %1217) + store ptr %1218, ptr @"_llgo_struct$-SVMNS9vOT5F9q4yodRiL9MFhdPf0tfZ2Cx2o7KjSDw", align 8 + br label %_llgo_80 + +_llgo_80: ; preds = %_llgo_79, %_llgo_78 + %1219 = load ptr, ptr @"_llgo_struct$-SVMNS9vOT5F9q4yodRiL9MFhdPf0tfZ2Cx2o7KjSDw", align 8 + br i1 %1177, label %_llgo_81, label %_llgo_82 + +_llgo_81: ; preds = %_llgo_80 + %1220 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1221 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1220, i32 0, i32 0 + store ptr @42, ptr %1221, align 8 + %1222 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1220, i32 0, i32 1 + store i64 8, ptr %1222, align 4 + %1223 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1220, align 8 + %1224 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1225 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1226 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1225, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1223, ptr %1226, align 8 + %1227 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1225, i32 0, i32 1 + store ptr %1224, ptr %1227, align 8 + %1228 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1225, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).Exported", ptr %1228, align 8 + %1229 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1225, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).Exported", ptr %1229, align 8 + %1230 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1225, align 8 + %1231 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1232 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1231, i32 0, i32 0 + store ptr @43, ptr %1232, align 8 + %1233 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1231, i32 0, i32 1 + store i64 4, ptr %1233, align 4 + %1234 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1231, align 8 + %1235 = load ptr, ptr @_llgo_string, align 8 + %1236 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %1237 = icmp eq ptr %1236, null + br i1 %1237, label %_llgo_83, label %_llgo_84 + +_llgo_82: ; preds = %_llgo_84, %_llgo_80 + %1238 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 + %1239 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1240 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1239, i32 0, i32 0 + store ptr @39, ptr %1240, align 8 + %1241 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1239, i32 0, i32 1 + store i64 43, ptr %1241, align 4 + %1242 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1239, align 8 + %1243 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1242, i64 25, i64 24, i64 0, i64 3) + %1244 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 + %1245 = icmp eq ptr %1244, null + br i1 %1245, label %_llgo_85, label %_llgo_86 + +_llgo_83: ; preds = %_llgo_81 + %1246 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %1247 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1248 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1247, i32 0, i32 0 + store ptr %1246, ptr %1248, align 8 + %1249 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1247, i32 0, i32 1 + store i64 0, ptr %1249, align 4 + %1250 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1247, i32 0, i32 2 + store i64 0, ptr %1250, align 4 + %1251 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1247, align 8 + %1252 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %1253 = getelementptr ptr, ptr %1252, i64 0 + store ptr %1235, ptr %1253, align 8 + %1254 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1255 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1254, i32 0, i32 0 + store ptr %1252, ptr %1255, align 8 + %1256 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1254, i32 0, i32 1 + store i64 1, ptr %1256, align 4 + %1257 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1254, i32 0, i32 2 + store i64 1, ptr %1257, align 4 + %1258 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1254, align 8 + %1259 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1251, %"github.com/goplus/llgo/internal/runtime.Slice" %1258, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1259) + store ptr %1259, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + br label %_llgo_84 + +_llgo_84: ; preds = %_llgo_83, %_llgo_81 + %1260 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %1261 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1262 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1261, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1234, ptr %1262, align 8 + %1263 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1261, i32 0, i32 1 + store ptr %1260, ptr %1263, align 8 + %1264 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1261, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).Name", ptr %1264, align 8 + %1265 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1261, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).Name", ptr %1265, align 8 + %1266 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1261, align 8 + %1267 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1268 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1267, i32 0, i32 0 + store ptr @44, ptr %1268, align 8 + %1269 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1267, i32 0, i32 1 + store i64 7, ptr %1269, align 4 + %1270 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1267, align 8 + %1271 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %1272 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1273 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1272, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1270, ptr %1273, align 8 + %1274 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1272, i32 0, i32 1 + store ptr %1271, ptr %1274, align 8 + %1275 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1272, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).PkgPath", ptr %1275, align 8 + %1276 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1272, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Imethod).PkgPath", ptr %1276, align 8 + %1277 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1272, align 8 + %1278 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 120) + %1279 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1278, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %1230, ptr %1279, align 8 + %1280 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1278, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %1266, ptr %1280, align 8 + %1281 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1278, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %1277, ptr %1281, align 8 + %1282 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1283 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1282, i32 0, i32 0 + store ptr %1278, ptr %1283, align 8 + %1284 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1282, i32 0, i32 1 + store i64 3, ptr %1284, align 4 + %1285 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1282, i32 0, i32 2 + store i64 3, ptr %1285, align 4 + %1286 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1282, align 8 + %1287 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1288 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1287, i32 0, i32 0 + store ptr @3, ptr %1288, align 8 + %1289 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1287, i32 0, i32 1 + store i64 35, ptr %1289, align 4 + %1290 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1287, align 8 + %1291 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1292 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1291, i32 0, i32 0 + store ptr @45, ptr %1292, align 8 + %1293 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1291, i32 0, i32 1 + store i64 7, ptr %1293, align 4 + %1294 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1291, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1175, %"github.com/goplus/llgo/internal/runtime.String" %1290, %"github.com/goplus/llgo/internal/runtime.String" %1294, ptr %1219, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1286) + br label %_llgo_82 + +_llgo_85: ; preds = %_llgo_82 + %1295 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %1243) + store ptr %1295, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 + br label %_llgo_86 + +_llgo_86: ; preds = %_llgo_85, %_llgo_82 + %1296 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Imethod", align 8 + %1297 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1298 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1297, i32 0, i32 0 + store ptr @1, ptr %1298, align 8 + %1299 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1297, i32 0, i32 1 + store i64 40, ptr %1299, align 4 + %1300 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1297, align 8 + %1301 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1300, i64 25, i64 80, i64 0, i64 22) + %1302 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1303 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1302, i32 0, i32 0 + store ptr @39, ptr %1303, align 8 + %1304 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1302, i32 0, i32 1 + store i64 43, ptr %1304, align 4 + %1305 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1302, align 8 + %1306 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1305, i64 25, i64 24, i64 0, i64 3) + %1307 = load ptr, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", align 8 + %1308 = icmp eq ptr %1307, null + br i1 %1308, label %_llgo_87, label %_llgo_88 + +_llgo_87: ; preds = %_llgo_86 + %1309 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1310 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1309, i32 0, i32 0 + store ptr @21, ptr %1310, align 8 + %1311 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1309, i32 0, i32 1 + store i64 4, ptr %1311, align 4 + %1312 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1309, align 8 + %1313 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1314 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1313, i32 0, i32 0 + store ptr null, ptr %1314, align 8 + %1315 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1313, i32 0, i32 1 + store i64 0, ptr %1315, align 4 + %1316 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1313, align 8 + %1317 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1312, ptr %1301, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %1316, i1 true) + %1318 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1319 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1318, i32 0, i32 0 + store ptr @46, ptr %1319, align 8 + %1320 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1318, i32 0, i32 1 + store i64 8, ptr %1320, align 4 + %1321 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1318, align 8 + %1322 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1323 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1322, i32 0, i32 0 + store ptr null, ptr %1323, align 8 + %1324 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1322, i32 0, i32 1 + store i64 0, ptr %1324, align 4 + %1325 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1322, align 8 + %1326 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %1327 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1321, ptr %1326, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %1325, i1 false) + %1328 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1329 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1328, i32 0, i32 0 + store ptr @47, ptr %1329, align 8 + %1330 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1328, i32 0, i32 1 + store i64 7, ptr %1330, align 4 + %1331 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1328, align 8 + %1332 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1333 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1332, i32 0, i32 0 + store ptr null, ptr %1333, align 8 + %1334 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1332, i32 0, i32 1 + store i64 0, ptr %1334, align 4 + %1335 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1332, align 8 + %1336 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %1306) + %1337 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1331, ptr %1336, i64 88, %"github.com/goplus/llgo/internal/runtime.String" %1335, i1 false) + %1338 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1339 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1338, i32 0, i32 0 + store ptr @7, ptr %1339, align 8 + %1340 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1338, i32 0, i32 1 + store i64 4, ptr %1340, align 4 + %1341 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1338, align 8 + %1342 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) + %1343 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1342, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %1317, ptr %1343, align 8 + %1344 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1342, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %1327, ptr %1344, align 8 + %1345 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1342, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %1337, ptr %1345, align 8 + %1346 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1347 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1346, i32 0, i32 0 + store ptr %1342, ptr %1347, align 8 + %1348 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1346, i32 0, i32 1 + store i64 3, ptr %1348, align 4 + %1349 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1346, i32 0, i32 2 + store i64 3, ptr %1349, align 4 + %1350 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1346, align 8 + %1351 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %1341, i64 112, %"github.com/goplus/llgo/internal/runtime.Slice" %1350) + store ptr %1351, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", align 8 + br label %_llgo_88 + +_llgo_88: ; preds = %_llgo_87, %_llgo_86 + %1352 = load ptr, ptr @"_llgo_struct$mWxYYevLxpL1wQyiQtAy4OszkqTlHtrmEcPpzW9Air4", align 8 + br i1 %1170, label %_llgo_89, label %_llgo_90 + +_llgo_89: ; preds = %_llgo_88 + %1353 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1354 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1353, i32 0, i32 0 + store ptr @18, ptr %1354, align 8 + %1355 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1353, i32 0, i32 1 + store i64 5, ptr %1355, align 4 + %1356 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1353, align 8 + %1357 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %1358 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1359 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1358, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1356, ptr %1359, align 8 + %1360 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1358, i32 0, i32 1 + store ptr %1357, ptr %1360, align 8 + %1361 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1358, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Align", ptr %1361, align 8 + %1362 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1358, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Align", ptr %1362, align 8 + %1363 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1358, align 8 + %1364 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1365 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1364, i32 0, i32 0 + store ptr @19, ptr %1365, align 8 + %1366 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1364, i32 0, i32 1 + store i64 9, ptr %1366, align 4 + %1367 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1364, align 8 + %1368 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %1369 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 + %1370 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1371 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1370, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1367, ptr %1371, align 8 + %1372 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1370, i32 0, i32 1 + store ptr %1369, ptr %1372, align 8 + %1373 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1370, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ArrayType", ptr %1373, align 8 + %1374 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1370, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ArrayType", ptr %1374, align 8 + %1375 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1370, align 8 + %1376 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1377 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1376, i32 0, i32 0 + store ptr @25, ptr %1377, align 8 + %1378 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1376, i32 0, i32 1 + store i64 7, ptr %1378, align 4 + %1379 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1376, align 8 + %1380 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 + %1381 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1382 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1381, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1379, ptr %1382, align 8 + %1383 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1381, i32 0, i32 1 + store ptr %1380, ptr %1383, align 8 + %1384 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1381, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ChanDir", ptr %1384, align 8 + %1385 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1381, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ChanDir", ptr %1385, align 8 + %1386 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1381, align 8 + %1387 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1388 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1387, i32 0, i32 0 + store ptr @27, ptr %1388, align 8 + %1389 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1387, i32 0, i32 1 + store i64 6, ptr %1389, align 4 + %1390 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1387, align 8 + %1391 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %1392 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %1393 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1394 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1393, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1390, ptr %1394, align 8 + %1395 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1393, i32 0, i32 1 + store ptr %1392, ptr %1395, align 8 + %1396 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1393, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Common", ptr %1396, align 8 + %1397 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1393, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Common", ptr %1397, align 8 + %1398 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1393, align 8 + %1399 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1400 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1399, i32 0, i32 0 + store ptr @22, ptr %1400, align 8 + %1401 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1399, i32 0, i32 1 + store i64 4, ptr %1401, align 4 + %1402 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1399, align 8 + %1403 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %1404 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %1405 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1406 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1405, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1402, ptr %1406, align 8 + %1407 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1405, i32 0, i32 1 + store ptr %1404, ptr %1407, align 8 + %1408 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1405, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Elem", ptr %1408, align 8 + %1409 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1405, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Elem", ptr %1409, align 8 + %1410 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1405, align 8 + %1411 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1412 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1411, i32 0, i32 0 + store ptr @28, ptr %1412, align 8 + %1413 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1411, i32 0, i32 1 + store i64 15, ptr %1413, align 4 + %1414 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1411, align 8 + %1415 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %1416 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %1417 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1418 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1417, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1414, ptr %1418, align 8 + %1419 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1417, i32 0, i32 1 + store ptr %1416, ptr %1419, align 8 + %1420 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1417, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ExportedMethods", ptr %1420, align 8 + %1421 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1417, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ExportedMethods", ptr %1421, align 8 + %1422 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1417, align 8 + %1423 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1424 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1423, i32 0, i32 0 + store ptr @33, ptr %1424, align 8 + %1425 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1423, i32 0, i32 1 + store i64 10, ptr %1425, align 4 + %1426 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1423, align 8 + %1427 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %1428 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1429 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1428, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1426, ptr %1429, align 8 + %1430 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1428, i32 0, i32 1 + store ptr %1427, ptr %1430, align 8 + %1431 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1428, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FieldAlign", ptr %1431, align 8 + %1432 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1428, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FieldAlign", ptr %1432, align 8 + %1433 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1428, align 8 + %1434 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1435 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1434, i32 0, i32 0 + store ptr @34, ptr %1435, align 8 + %1436 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1434, i32 0, i32 1 + store i64 8, ptr %1436, align 4 + %1437 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1434, align 8 + %1438 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %1439 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 + %1440 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1441 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1440, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1437, ptr %1441, align 8 + %1442 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1440, i32 0, i32 1 + store ptr %1439, ptr %1442, align 8 + %1443 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1440, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FuncType", ptr %1443, align 8 + %1444 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1440, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).FuncType", ptr %1444, align 8 + %1445 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1440, align 8 + %1446 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1447 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1446, i32 0, i32 0 + store ptr @35, ptr %1447, align 8 + %1448 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1446, i32 0, i32 1 + store i64 7, ptr %1448, align 4 + %1449 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1446, align 8 + %1450 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1451 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1452 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1451, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1449, ptr %1452, align 8 + %1453 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1451, i32 0, i32 1 + store ptr %1450, ptr %1453, align 8 + %1454 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1451, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).HasName", ptr %1454, align 8 + %1455 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1451, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).HasName", ptr %1455, align 8 + %1456 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1451, align 8 + %1457 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1458 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1457, i32 0, i32 0 + store ptr @36, ptr %1458, align 8 + %1459 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1457, i32 0, i32 1 + store i64 10, ptr %1459, align 4 + %1460 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1457, align 8 + %1461 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1462 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1463 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1462, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1460, ptr %1463, align 8 + %1464 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1462, i32 0, i32 1 + store ptr %1461, ptr %1464, align 8 + %1465 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1462, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IfaceIndir", ptr %1465, align 8 + %1466 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1462, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IfaceIndir", ptr %1466, align 8 + %1467 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1462, align 8 + %1468 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1469 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1468, i32 0, i32 0 + store ptr @37, ptr %1469, align 8 + %1470 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1468, i32 0, i32 1 + store i64 13, ptr %1470, align 4 + %1471 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1468, align 8 + %1472 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1473 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1472, i32 0, i32 0 + store ptr @38, ptr %1473, align 8 + %1474 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1472, i32 0, i32 1 + store i64 49, ptr %1474, align 4 + %1475 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1472, align 8 + %1476 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1475, i64 25, i64 120, i64 0, i64 22) + %1477 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %1478 = icmp eq ptr %1477, null + br i1 %1478, label %_llgo_91, label %_llgo_92 + +_llgo_90: ; preds = %_llgo_110, %_llgo_88 + %1479 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %1480 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %1481 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 + %1482 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1483 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1482, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1163, ptr %1483, align 8 + %1484 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1482, i32 0, i32 1 + store ptr %1481, ptr %1484, align 8 + %1485 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1482, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).InterfaceType", ptr %1485, align 8 + %1486 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1482, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).InterfaceType", ptr %1486, align 8 + %1487 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1482, align 8 + %1488 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1489 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1488, i32 0, i32 0 + store ptr @48, ptr %1489, align 8 + %1490 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1488, i32 0, i32 1 + store i64 13, ptr %1490, align 4 + %1491 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1488, align 8 + %1492 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1493 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1494 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1493, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1491, ptr %1494, align 8 + %1495 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1493, i32 0, i32 1 + store ptr %1492, ptr %1495, align 8 + %1496 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1493, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IsDirectIface", ptr %1496, align 8 + %1497 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1493, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IsDirectIface", ptr %1497, align 8 + %1498 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1493, align 8 + %1499 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1500 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1499, i32 0, i32 0 + store ptr @49, ptr %1500, align 8 + %1501 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1499, i32 0, i32 1 + store i64 3, ptr %1501, align 4 + %1502 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1499, align 8 + %1503 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %1504 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %1505 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1506 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1505, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1502, ptr %1506, align 8 + %1507 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1505, i32 0, i32 1 + store ptr %1504, ptr %1507, align 8 + %1508 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1505, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Key", ptr %1508, align 8 + %1509 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1505, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Key", ptr %1509, align 8 + %1510 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1505, align 8 + %1511 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1512 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1511, i32 0, i32 0 + store ptr @50, ptr %1512, align 8 + %1513 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1511, i32 0, i32 1 + store i64 4, ptr %1513, align 4 + %1514 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1511, align 8 + %1515 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 + %1516 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1517 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1516, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1514, ptr %1517, align 8 + %1518 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1516, i32 0, i32 1 + store ptr %1515, ptr %1518, align 8 + %1519 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1516, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Kind", ptr %1519, align 8 + %1520 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1516, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Kind", ptr %1520, align 8 + %1521 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1516, align 8 + %1522 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1523 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1522, i32 0, i32 0 + store ptr @24, ptr %1523, align 8 + %1524 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1522, i32 0, i32 1 + store i64 3, ptr %1524, align 4 + %1525 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1522, align 8 + %1526 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %1527 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1528 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1527, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1525, ptr %1528, align 8 + %1529 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1527, i32 0, i32 1 + store ptr %1526, ptr %1529, align 8 + %1530 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1527, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Len", ptr %1530, align 8 + %1531 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1527, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Len", ptr %1531, align 8 + %1532 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1527, align 8 + %1533 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1534 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1533, i32 0, i32 0 + store ptr @53, ptr %1534, align 8 + %1535 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1533, i32 0, i32 1 + store i64 7, ptr %1535, align 4 + %1536 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1533, align 8 + %1537 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %1538 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 + %1539 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1540 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1539, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1536, ptr %1540, align 8 + %1541 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1539, i32 0, i32 1 + store ptr %1538, ptr %1541, align 8 + %1542 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1539, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).MapType", ptr %1542, align 8 + %1543 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1539, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).MapType", ptr %1543, align 8 + %1544 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1539, align 8 + %1545 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1546 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1545, i32 0, i32 0 + store ptr @65, ptr %1546, align 8 + %1547 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1545, i32 0, i32 1 + store i64 9, ptr %1547, align 4 + %1548 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1545, align 8 + %1549 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %1550 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1551 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1550, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1548, ptr %1551, align 8 + %1552 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1550, i32 0, i32 1 + store ptr %1549, ptr %1552, align 8 + %1553 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1550, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).NumMethod", ptr %1553, align 8 + %1554 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1550, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).NumMethod", ptr %1554, align 8 + %1555 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1550, align 8 + %1556 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1557 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1556, i32 0, i32 0 + store ptr @66, ptr %1557, align 8 + %1558 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1556, i32 0, i32 1 + store i64 8, ptr %1558, align 4 + %1559 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1556, align 8 + %1560 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1561 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1562 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1561, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1559, ptr %1562, align 8 + %1563 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1561, i32 0, i32 1 + store ptr %1560, ptr %1563, align 8 + %1564 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1561, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Pointers", ptr %1564, align 8 + %1565 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1561, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Pointers", ptr %1565, align 8 + %1566 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1561, align 8 + %1567 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1568 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1567, i32 0, i32 0 + store ptr @68, ptr %1568, align 8 + %1569 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1567, i32 0, i32 1 + store i64 4, ptr %1569, align 4 + %1570 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1567, align 8 + %1571 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 + %1572 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1573 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1572, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1570, ptr %1573, align 8 + %1574 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1572, i32 0, i32 1 + store ptr %1571, ptr %1574, align 8 + %1575 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1572, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Size", ptr %1575, align 8 + %1576 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1572, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Size", ptr %1576, align 8 + %1577 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1572, align 8 + %1578 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1579 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1578, i32 0, i32 0 + store ptr @52, ptr %1579, align 8 + %1580 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1578, i32 0, i32 1 + store i64 6, ptr %1580, align 4 + %1581 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1578, align 8 + %1582 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %1583 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1584 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1583, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1581, ptr %1584, align 8 + %1585 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1583, i32 0, i32 1 + store ptr %1582, ptr %1585, align 8 + %1586 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1583, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).String", ptr %1586, align 8 + %1587 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1583, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).String", ptr %1587, align 8 + %1588 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1583, align 8 + %1589 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1590 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1589, i32 0, i32 0 + store ptr @69, ptr %1590, align 8 + %1591 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1589, i32 0, i32 1 + store i64 10, ptr %1591, align 4 + %1592 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1589, align 8 + %1593 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %1594 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 + %1595 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1596 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1595, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1592, ptr %1596, align 8 + %1597 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1595, i32 0, i32 1 + store ptr %1594, ptr %1597, align 8 + %1598 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1595, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).StructType", ptr %1598, align 8 + %1599 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1595, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).StructType", ptr %1599, align 8 + %1600 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1595, align 8 + %1601 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1602 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1601, i32 0, i32 0 + store ptr @79, ptr %1602, align 8 + %1603 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1601, i32 0, i32 1 + store i64 8, ptr %1603, align 4 + %1604 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1601, align 8 + %1605 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 + %1606 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1607 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1606, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1604, ptr %1607, align 8 + %1608 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1606, i32 0, i32 1 + store ptr %1605, ptr %1608, align 8 + %1609 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1606, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Uncommon", ptr %1609, align 8 + %1610 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1606, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Uncommon", ptr %1610, align 8 + %1611 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1606, align 8 + %1612 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1613 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1612, i32 0, i32 0 + store ptr @85, ptr %1613, align 8 + %1614 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1612, i32 0, i32 1 + store i64 8, ptr %1614, align 4 + %1615 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1612, align 8 + %1616 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1617 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1618 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1617, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1615, ptr %1618, align 8 + %1619 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1617, i32 0, i32 1 + store ptr %1616, ptr %1619, align 8 + %1620 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1617, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Variadic", ptr %1620, align 8 + %1621 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1617, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Variadic", ptr %1621, align 8 + %1622 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1617, align 8 + %1623 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 920) + %1624 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %979, ptr %1624, align 8 + %1625 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %991, ptr %1625, align 8 + %1626 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %1002, ptr %1626, align 8 + %1627 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 3 + store %"github.com/goplus/llgo/internal/abi.Method" %1014, ptr %1627, align 8 + %1628 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 4 + store %"github.com/goplus/llgo/internal/abi.Method" %1026, ptr %1628, align 8 + %1629 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 5 + store %"github.com/goplus/llgo/internal/abi.Method" %1072, ptr %1629, align 8 + %1630 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 6 + store %"github.com/goplus/llgo/internal/abi.Method" %1083, ptr %1630, align 8 + %1631 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 7 + store %"github.com/goplus/llgo/internal/abi.Method" %1120, ptr %1631, align 8 + %1632 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 8 + store %"github.com/goplus/llgo/internal/abi.Method" %1148, ptr %1632, align 8 + %1633 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 9 + store %"github.com/goplus/llgo/internal/abi.Method" %1159, ptr %1633, align 8 + %1634 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 10 + store %"github.com/goplus/llgo/internal/abi.Method" %1487, ptr %1634, align 8 + %1635 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 11 + store %"github.com/goplus/llgo/internal/abi.Method" %1498, ptr %1635, align 8 + %1636 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 12 + store %"github.com/goplus/llgo/internal/abi.Method" %1510, ptr %1636, align 8 + %1637 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 13 + store %"github.com/goplus/llgo/internal/abi.Method" %1521, ptr %1637, align 8 + %1638 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 14 + store %"github.com/goplus/llgo/internal/abi.Method" %1532, ptr %1638, align 8 + %1639 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 15 + store %"github.com/goplus/llgo/internal/abi.Method" %1544, ptr %1639, align 8 + %1640 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 16 + store %"github.com/goplus/llgo/internal/abi.Method" %1555, ptr %1640, align 8 + %1641 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 17 + store %"github.com/goplus/llgo/internal/abi.Method" %1566, ptr %1641, align 8 + %1642 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 18 + store %"github.com/goplus/llgo/internal/abi.Method" %1577, ptr %1642, align 8 + %1643 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 19 + store %"github.com/goplus/llgo/internal/abi.Method" %1588, ptr %1643, align 8 + %1644 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 20 + store %"github.com/goplus/llgo/internal/abi.Method" %1600, ptr %1644, align 8 + %1645 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 21 + store %"github.com/goplus/llgo/internal/abi.Method" %1611, ptr %1645, align 8 + %1646 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1623, i64 22 + store %"github.com/goplus/llgo/internal/abi.Method" %1622, ptr %1646, align 8 + %1647 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1648 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1647, i32 0, i32 0 + store ptr %1623, ptr %1648, align 8 + %1649 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1647, i32 0, i32 1 + store i64 23, ptr %1649, align 4 + %1650 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1647, i32 0, i32 2 + store i64 23, ptr %1650, align 4 + %1651 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1647, align 8 + %1652 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1653 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1652, i32 0, i32 0 + store ptr @3, ptr %1653, align 8 + %1654 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1652, i32 0, i32 1 + store i64 35, ptr %1654, align 4 + %1655 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1652, align 8 + %1656 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1657 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1656, i32 0, i32 0 + store ptr @34, ptr %1657, align 8 + %1658 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1656, i32 0, i32 1 + store i64 8, ptr %1658, align 4 + %1659 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1656, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %890, %"github.com/goplus/llgo/internal/runtime.String" %1655, %"github.com/goplus/llgo/internal/runtime.String" %1659, ptr %968, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1651) + br label %_llgo_64 + +_llgo_91: ; preds = %_llgo_89 + %1660 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1476) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1660) + store ptr %1660, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + br label %_llgo_92 + +_llgo_92: ; preds = %_llgo_91, %_llgo_89 + %1661 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %1662 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %1663 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 + %1664 = icmp eq ptr %1663, null + br i1 %1664, label %_llgo_93, label %_llgo_94 + +_llgo_93: ; preds = %_llgo_92 + %1665 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %1666 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1667 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1666, i32 0, i32 0 + store ptr %1665, ptr %1667, align 8 + %1668 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1666, i32 0, i32 1 + store i64 0, ptr %1668, align 4 + %1669 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1666, i32 0, i32 2 + store i64 0, ptr %1669, align 4 + %1670 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1666, align 8 + %1671 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %1672 = getelementptr ptr, ptr %1671, i64 0 + store ptr %1662, ptr %1672, align 8 + %1673 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1674 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1673, i32 0, i32 0 + store ptr %1671, ptr %1674, align 8 + %1675 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1673, i32 0, i32 1 + store i64 1, ptr %1675, align 4 + %1676 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1673, i32 0, i32 2 + store i64 1, ptr %1676, align 4 + %1677 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1673, align 8 + %1678 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1670, %"github.com/goplus/llgo/internal/runtime.Slice" %1677, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1678) + store ptr %1678, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 + br label %_llgo_94 + +_llgo_94: ; preds = %_llgo_93, %_llgo_92 + %1679 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 + %1680 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1681 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1680, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1471, ptr %1681, align 8 + %1682 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1680, i32 0, i32 1 + store ptr %1679, ptr %1682, align 8 + %1683 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1680, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).InterfaceType", ptr %1683, align 8 + %1684 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1680, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).InterfaceType", ptr %1684, align 8 + %1685 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1680, align 8 + %1686 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1687 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1686, i32 0, i32 0 + store ptr @48, ptr %1687, align 8 + %1688 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1686, i32 0, i32 1 + store i64 13, ptr %1688, align 4 + %1689 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1686, align 8 + %1690 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %1691 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1692 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1691, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1689, ptr %1692, align 8 + %1693 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1691, i32 0, i32 1 + store ptr %1690, ptr %1693, align 8 + %1694 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1691, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IsDirectIface", ptr %1694, align 8 + %1695 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1691, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).IsDirectIface", ptr %1695, align 8 + %1696 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1691, align 8 + %1697 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1698 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1697, i32 0, i32 0 + store ptr @49, ptr %1698, align 8 + %1699 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1697, i32 0, i32 1 + store i64 3, ptr %1699, align 4 + %1700 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1697, align 8 + %1701 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %1702 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %1703 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1704 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1703, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1700, ptr %1704, align 8 + %1705 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1703, i32 0, i32 1 + store ptr %1702, ptr %1705, align 8 + %1706 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1703, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Key", ptr %1706, align 8 + %1707 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1703, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Key", ptr %1707, align 8 + %1708 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1703, align 8 + %1709 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1710 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1709, i32 0, i32 0 + store ptr @50, ptr %1710, align 8 + %1711 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1709, i32 0, i32 1 + store i64 4, ptr %1711, align 4 + %1712 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1709, align 8 + %1713 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1714 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1713, i32 0, i32 0 + store ptr @51, ptr %1714, align 8 + %1715 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1713, i32 0, i32 1 + store i64 40, ptr %1715, align 4 + %1716 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1713, align 8 + %1717 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1716, i64 7, i64 8, i64 1, i64 1) + %1718 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 + %1719 = icmp eq ptr %1718, null + br i1 %1719, label %_llgo_95, label %_llgo_96 + +_llgo_95: ; preds = %_llgo_94 + store ptr %1717, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 + br label %_llgo_96 + +_llgo_96: ; preds = %_llgo_95, %_llgo_94 + %1720 = load ptr, ptr @_llgo_uint, align 8 + %1721 = icmp eq ptr %1720, null + br i1 %1721, label %_llgo_97, label %_llgo_98 + +_llgo_97: ; preds = %_llgo_96 + %1722 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 39) + store ptr %1722, ptr @_llgo_uint, align 8 + br label %_llgo_98 + +_llgo_98: ; preds = %_llgo_97, %_llgo_96 + %1723 = load ptr, ptr @_llgo_uint, align 8 + br i1 %1719, label %_llgo_99, label %_llgo_100 + +_llgo_99: ; preds = %_llgo_98 + %1724 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1725 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1724, i32 0, i32 0 + store ptr @52, ptr %1725, align 8 + %1726 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1724, i32 0, i32 1 + store i64 6, ptr %1726, align 4 + %1727 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1724, align 8 + %1728 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %1729 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1730 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1729, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1727, ptr %1730, align 8 + %1731 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1729, i32 0, i32 1 + store ptr %1728, ptr %1731, align 8 + %1732 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1729, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Kind).String", ptr %1732, align 8 + %1733 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1729, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Kind).String", ptr %1733, align 8 + %1734 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1729, align 8 + %1735 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1736 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1735, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1727, ptr %1736, align 8 + %1737 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1735, i32 0, i32 1 + store ptr %1728, ptr %1737, align 8 + %1738 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1735, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Kind).String", ptr %1738, align 8 + %1739 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1735, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.Kind.String", ptr %1739, align 8 + %1740 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1735, align 8 + %1741 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %1742 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1741, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %1740, ptr %1742, align 8 + %1743 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1744 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1743, i32 0, i32 0 + store ptr %1741, ptr %1744, align 8 + %1745 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1743, i32 0, i32 1 + store i64 1, ptr %1745, align 4 + %1746 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1743, i32 0, i32 2 + store i64 1, ptr %1746, align 4 + %1747 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1743, align 8 + %1748 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %1749 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1748, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %1734, ptr %1749, align 8 + %1750 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1751 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1750, i32 0, i32 0 + store ptr %1748, ptr %1751, align 8 + %1752 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1750, i32 0, i32 1 + store i64 1, ptr %1752, align 4 + %1753 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1750, i32 0, i32 2 + store i64 1, ptr %1753, align 4 + %1754 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1750, align 8 + %1755 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1756 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1755, i32 0, i32 0 + store ptr @3, ptr %1756, align 8 + %1757 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1755, i32 0, i32 1 + store i64 35, ptr %1757, align 4 + %1758 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1755, align 8 + %1759 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1760 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1759, i32 0, i32 0 + store ptr @50, ptr %1760, align 8 + %1761 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1759, i32 0, i32 1 + store i64 4, ptr %1761, align 4 + %1762 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1759, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1717, %"github.com/goplus/llgo/internal/runtime.String" %1758, %"github.com/goplus/llgo/internal/runtime.String" %1762, ptr %1723, %"github.com/goplus/llgo/internal/runtime.Slice" %1747, %"github.com/goplus/llgo/internal/runtime.Slice" %1754) + br label %_llgo_100 + +_llgo_100: ; preds = %_llgo_99, %_llgo_98 + %1763 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 + %1764 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Kind", align 8 + %1765 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 + %1766 = icmp eq ptr %1765, null + br i1 %1766, label %_llgo_101, label %_llgo_102 + +_llgo_101: ; preds = %_llgo_100 + %1767 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %1768 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1769 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1768, i32 0, i32 0 + store ptr %1767, ptr %1769, align 8 + %1770 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1768, i32 0, i32 1 + store i64 0, ptr %1770, align 4 + %1771 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1768, i32 0, i32 2 + store i64 0, ptr %1771, align 4 + %1772 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1768, align 8 + %1773 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %1774 = getelementptr ptr, ptr %1773, i64 0 + store ptr %1764, ptr %1774, align 8 + %1775 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1776 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1775, i32 0, i32 0 + store ptr %1773, ptr %1776, align 8 + %1777 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1775, i32 0, i32 1 + store i64 1, ptr %1777, align 4 + %1778 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1775, i32 0, i32 2 + store i64 1, ptr %1778, align 4 + %1779 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1775, align 8 + %1780 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1772, %"github.com/goplus/llgo/internal/runtime.Slice" %1779, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1780) + store ptr %1780, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 + br label %_llgo_102 + +_llgo_102: ; preds = %_llgo_101, %_llgo_100 + %1781 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 + %1782 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1783 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1782, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1712, ptr %1783, align 8 + %1784 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1782, i32 0, i32 1 + store ptr %1781, ptr %1784, align 8 + %1785 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1782, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Kind", ptr %1785, align 8 + %1786 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1782, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Kind", ptr %1786, align 8 + %1787 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1782, align 8 + %1788 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1789 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1788, i32 0, i32 0 + store ptr @24, ptr %1789, align 8 + %1790 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1788, i32 0, i32 1 + store i64 3, ptr %1790, align 4 + %1791 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1788, align 8 + %1792 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %1793 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %1794 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1793, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %1791, ptr %1794, align 8 + %1795 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1793, i32 0, i32 1 + store ptr %1792, ptr %1795, align 8 + %1796 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1793, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Len", ptr %1796, align 8 + %1797 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1793, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Len", ptr %1797, align 8 + %1798 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1793, align 8 + %1799 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1800 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1799, i32 0, i32 0 + store ptr @53, ptr %1800, align 8 + %1801 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1799, i32 0, i32 1 + store i64 7, ptr %1801, align 4 + %1802 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1799, align 8 + %1803 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1804 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1803, i32 0, i32 0 + store ptr @54, ptr %1804, align 8 + %1805 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1803, i32 0, i32 1 + store i64 43, ptr %1805, align 4 + %1806 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1803, align 8 + %1807 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1806, i64 25, i64 136, i64 0, i64 25) + %1808 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %1809 = icmp eq ptr %1808, null + br i1 %1809, label %_llgo_103, label %_llgo_104 + +_llgo_103: ; preds = %_llgo_102 + store ptr %1807, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + br label %_llgo_104 + +_llgo_104: ; preds = %_llgo_103, %_llgo_102 + %1810 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %1811 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %1812 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %1813 = load ptr, ptr @_llgo_Pointer, align 8 + %1814 = load ptr, ptr @_llgo_Pointer, align 8 + %1815 = load ptr, ptr @_llgo_uintptr, align 8 + %1816 = load ptr, ptr @_llgo_uintptr, align 8 + %1817 = load ptr, ptr @"_llgo_func$cAvVsWLgvZTNybpI-5Hj9CeBwW9xcw6i77GFRvp83mY", align 8 + %1818 = icmp eq ptr %1817, null + br i1 %1818, label %_llgo_105, label %_llgo_106 + +_llgo_105: ; preds = %_llgo_104 + %1819 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %1820 = getelementptr ptr, ptr %1819, i64 0 + store ptr %1813, ptr %1820, align 8 + %1821 = getelementptr ptr, ptr %1819, i64 1 + store ptr %1814, ptr %1821, align 8 + %1822 = getelementptr ptr, ptr %1819, i64 2 + store ptr %1815, ptr %1822, align 8 + %1823 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1824 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1823, i32 0, i32 0 + store ptr %1819, ptr %1824, align 8 + %1825 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1823, i32 0, i32 1 + store i64 3, ptr %1825, align 4 + %1826 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1823, i32 0, i32 2 + store i64 3, ptr %1826, align 4 + %1827 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1823, align 8 + %1828 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %1829 = getelementptr ptr, ptr %1828, i64 0 + store ptr %1816, ptr %1829, align 8 + %1830 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1831 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1830, i32 0, i32 0 + store ptr %1828, ptr %1831, align 8 + %1832 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1830, i32 0, i32 1 + store i64 1, ptr %1832, align 4 + %1833 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1830, i32 0, i32 2 + store i64 1, ptr %1833, align 4 + %1834 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1830, align 8 + %1835 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1827, %"github.com/goplus/llgo/internal/runtime.Slice" %1834, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1835) + store ptr %1835, ptr @"_llgo_func$cAvVsWLgvZTNybpI-5Hj9CeBwW9xcw6i77GFRvp83mY", align 8 + br label %_llgo_106 + +_llgo_106: ; preds = %_llgo_105, %_llgo_104 + %1836 = load ptr, ptr @"_llgo_func$cAvVsWLgvZTNybpI-5Hj9CeBwW9xcw6i77GFRvp83mY", align 8 + %1837 = load ptr, ptr @_llgo_Pointer, align 8 + %1838 = load ptr, ptr @_llgo_Pointer, align 8 + %1839 = load ptr, ptr @_llgo_uintptr, align 8 + %1840 = load ptr, ptr @_llgo_uintptr, align 8 + %1841 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1842 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1841, i32 0, i32 0 + store ptr @5, ptr %1842, align 8 + %1843 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1841, i32 0, i32 1 + store i64 1, ptr %1843, align 4 + %1844 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1841, align 8 + %1845 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1846 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1845, i32 0, i32 0 + store ptr null, ptr %1846, align 8 + %1847 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1845, i32 0, i32 1 + store i64 0, ptr %1847, align 4 + %1848 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1845, align 8 + %1849 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %1850 = getelementptr ptr, ptr %1849, i64 0 + store ptr %1837, ptr %1850, align 8 + %1851 = getelementptr ptr, ptr %1849, i64 1 + store ptr %1838, ptr %1851, align 8 + %1852 = getelementptr ptr, ptr %1849, i64 2 + store ptr %1839, ptr %1852, align 8 + %1853 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1854 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1853, i32 0, i32 0 + store ptr %1849, ptr %1854, align 8 + %1855 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1853, i32 0, i32 1 + store i64 3, ptr %1855, align 4 + %1856 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1853, i32 0, i32 2 + store i64 3, ptr %1856, align 4 + %1857 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1853, align 8 + %1858 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %1859 = getelementptr ptr, ptr %1858, i64 0 + store ptr %1840, ptr %1859, align 8 + %1860 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1861 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1860, i32 0, i32 0 + store ptr %1858, ptr %1861, align 8 + %1862 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1860, i32 0, i32 1 + store i64 1, ptr %1862, align 4 + %1863 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1860, i32 0, i32 2 + store i64 1, ptr %1863, align 4 + %1864 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1860, align 8 + %1865 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1857, %"github.com/goplus/llgo/internal/runtime.Slice" %1864, i1 false) + %1866 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1844, ptr %1865, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %1848, i1 false) + %1867 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1868 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1867, i32 0, i32 0 + store ptr @6, ptr %1868, align 8 + %1869 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1867, i32 0, i32 1 + store i64 4, ptr %1869, align 4 + %1870 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1867, align 8 + %1871 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1872 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1871, i32 0, i32 0 + store ptr null, ptr %1872, align 8 + %1873 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1871, i32 0, i32 1 + store i64 0, ptr %1873, align 4 + %1874 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1871, align 8 + %1875 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %1876 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1870, ptr %1875, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %1874, i1 false) + %1877 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1878 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1877, i32 0, i32 0 + store ptr @7, ptr %1878, align 8 + %1879 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1877, i32 0, i32 1 + store i64 4, ptr %1879, align 4 + %1880 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1877, align 8 + %1881 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %1882 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1881, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %1866, ptr %1882, align 8 + %1883 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1881, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %1876, ptr %1883, align 8 + %1884 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1885 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1884, i32 0, i32 0 + store ptr %1881, ptr %1885, align 8 + %1886 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1884, i32 0, i32 1 + store i64 2, ptr %1886, align 4 + %1887 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1884, i32 0, i32 2 + store i64 2, ptr %1887, align 4 + %1888 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1884, align 8 + %1889 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %1880, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %1888) + store ptr %1889, ptr @"main.struct$uDDWukIj6_GRAIQyJjrj0CZt1Ru2uIDU1N9fcbR_jCg", align 8 + %1890 = load ptr, ptr @"main.struct$uDDWukIj6_GRAIQyJjrj0CZt1Ru2uIDU1N9fcbR_jCg", align 8 + %1891 = load ptr, ptr @_llgo_uint16, align 8 + %1892 = icmp eq ptr %1891, null + br i1 %1892, label %_llgo_107, label %_llgo_108 + +_llgo_107: ; preds = %_llgo_106 + %1893 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) + store ptr %1893, ptr @_llgo_uint16, align 8 + br label %_llgo_108 + +_llgo_108: ; preds = %_llgo_107, %_llgo_106 + %1894 = load ptr, ptr @_llgo_uint16, align 8 + %1895 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1896 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1895, i32 0, i32 0 + store ptr @1, ptr %1896, align 8 + %1897 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1895, i32 0, i32 1 + store i64 40, ptr %1897, align 4 + %1898 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1895, align 8 + %1899 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1898, i64 25, i64 80, i64 0, i64 22) + %1900 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1901 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1900, i32 0, i32 0 + store ptr @1, ptr %1901, align 8 + %1902 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1900, i32 0, i32 1 + store i64 40, ptr %1902, align 4 + %1903 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1900, align 8 + %1904 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1903, i64 25, i64 80, i64 0, i64 22) + %1905 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1906 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1905, i32 0, i32 0 + store ptr @1, ptr %1906, align 8 + %1907 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1905, i32 0, i32 1 + store i64 40, ptr %1907, align 4 + %1908 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1905, align 8 + %1909 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1908, i64 25, i64 80, i64 0, i64 22) + %1910 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1911 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1910, i32 0, i32 0 + store ptr @1, ptr %1911, align 8 + %1912 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1910, i32 0, i32 1 + store i64 40, ptr %1912, align 4 + %1913 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1910, align 8 + %1914 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1913, i64 25, i64 80, i64 0, i64 22) + %1915 = load ptr, ptr @_llgo_Pointer, align 8 + %1916 = load ptr, ptr @_llgo_Pointer, align 8 + %1917 = load ptr, ptr @_llgo_uintptr, align 8 + %1918 = load ptr, ptr @_llgo_uintptr, align 8 %1919 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %1920 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1919, i32 0, i32 0 - store ptr @76, ptr %1920, align 8 + store ptr @21, ptr %1920, align 8 %1921 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1919, i32 0, i32 1 store i64 4, ptr %1921, align 4 %1922 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1919, align 8 @@ -3580,1731 +3706,2712 @@ _llgo_79: ; preds = %_llgo_78 %1925 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1923, i32 0, i32 1 store i64 0, ptr %1925, align 4 %1926 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1923, align 8 - %1927 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) - %1928 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1922, ptr %1927, i64 20, %"github.com/goplus/llgo/internal/runtime.String" %1926, i1 false) - %1929 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1930 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1929, i32 0, i32 0 - store ptr @6, ptr %1930, align 8 - %1931 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1929, i32 0, i32 1 - store i64 4, ptr %1931, align 4 - %1932 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1929, align 8 - %1933 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) - %1934 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1933, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %1898, ptr %1934, align 8 - %1935 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1933, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %1908, ptr %1935, align 8 - %1936 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1933, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %1918, ptr %1936, align 8 - %1937 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %1933, i64 3 - store %"github.com/goplus/llgo/internal/abi.StructField" %1928, ptr %1937, align 8 - %1938 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %1939 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1938, i32 0, i32 0 - store ptr %1933, ptr %1939, align 8 - %1940 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1938, i32 0, i32 1 + %1927 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1922, ptr %1899, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %1926, i1 true) + %1928 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1929 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1928, i32 0, i32 0 + store ptr @49, ptr %1929, align 8 + %1930 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1928, i32 0, i32 1 + store i64 3, ptr %1930, align 4 + %1931 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1928, align 8 + %1932 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1933 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1932, i32 0, i32 0 + store ptr null, ptr %1933, align 8 + %1934 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1932, i32 0, i32 1 + store i64 0, ptr %1934, align 4 + %1935 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1932, align 8 + %1936 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1904) + %1937 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1931, ptr %1936, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %1935, i1 false) + %1938 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1939 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1938, i32 0, i32 0 + store ptr @22, ptr %1939, align 8 + %1940 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1938, i32 0, i32 1 store i64 4, ptr %1940, align 4 - %1941 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1938, i32 0, i32 2 - store i64 4, ptr %1941, align 4 - %1942 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1938, align 8 - %1943 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %1932, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %1942) - store ptr %1943, ptr @"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI", align 8 - br label %_llgo_80 - -_llgo_80: ; preds = %_llgo_79, %_llgo_78 - %1944 = load ptr, ptr @"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI", align 8 - br i1 %1879, label %_llgo_81, label %_llgo_82 - -_llgo_81: ; preds = %_llgo_80 - %1945 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1946 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1945, i32 0, i32 0 - store ptr @33, ptr %1946, align 8 - %1947 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1945, i32 0, i32 1 - store i64 15, ptr %1947, align 4 - %1948 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1945, align 8 - %1949 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %1950 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1951 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1950, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1948, ptr %1951, align 8 - %1952 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1950, i32 0, i32 1 - store ptr %1949, ptr %1952, align 8 - %1953 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1950, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).ExportedMethods", ptr %1953, align 8 - %1954 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1950, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).ExportedMethods", ptr %1954, align 8 - %1955 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1950, align 8 - %1956 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1957 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1956, i32 0, i32 0 - store ptr @46, ptr %1957, align 8 - %1958 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1956, i32 0, i32 1 - store i64 7, ptr %1958, align 4 - %1959 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1956, align 8 - %1960 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %1961 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %1962 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1961, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1959, ptr %1962, align 8 - %1963 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1961, i32 0, i32 1 - store ptr %1960, ptr %1963, align 8 - %1964 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1961, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).Methods", ptr %1964, align 8 - %1965 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %1961, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).Methods", ptr %1965, align 8 - %1966 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %1961, align 8 - %1967 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) - %1968 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1967, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %1955, ptr %1968, align 8 - %1969 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %1967, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %1966, ptr %1969, align 8 - %1970 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %1971 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1970, i32 0, i32 0 - store ptr %1967, ptr %1971, align 8 - %1972 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1970, i32 0, i32 1 - store i64 2, ptr %1972, align 4 - %1973 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1970, i32 0, i32 2 - store i64 2, ptr %1973, align 4 - %1974 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1970, align 8 - %1975 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1976 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1975, i32 0, i32 0 - store ptr @31, ptr %1976, align 8 - %1977 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1975, i32 0, i32 1 - store i64 35, ptr %1977, align 4 - %1978 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1975, align 8 - %1979 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1980 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1979, i32 0, i32 0 - store ptr @77, ptr %1980, align 8 - %1981 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1979, i32 0, i32 1 - store i64 12, ptr %1981, align 4 - %1982 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1979, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1877, %"github.com/goplus/llgo/internal/runtime.String" %1978, %"github.com/goplus/llgo/internal/runtime.String" %1982, ptr %1944, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %1974) - br label %_llgo_82 - -_llgo_82: ; preds = %_llgo_81, %_llgo_80 - %1983 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %1984 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1983, i32 0, i32 0 - store ptr @73, ptr %1984, align 8 - %1985 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1983, i32 0, i32 1 - store i64 48, ptr %1985, align 4 - %1986 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1983, align 8 - %1987 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %1986, i64 25, i64 24, i64 0, i64 2) - %1988 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 - %1989 = icmp eq ptr %1988, null - br i1 %1989, label %_llgo_83, label %_llgo_84 - -_llgo_83: ; preds = %_llgo_82 - %1990 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1987) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %1990) - store ptr %1990, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 - br label %_llgo_84 - -_llgo_84: ; preds = %_llgo_83, %_llgo_82 - %1991 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 - %1992 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %1993 = icmp eq ptr %1992, null - br i1 %1993, label %_llgo_85, label %_llgo_86 - -_llgo_85: ; preds = %_llgo_84 - %1994 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %1995 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %1996 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1995, i32 0, i32 0 - store ptr %1994, ptr %1996, align 8 - %1997 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1995, i32 0, i32 1 - store i64 0, ptr %1997, align 4 - %1998 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1995, i32 0, i32 2 + %1941 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1938, align 8 + %1942 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1943 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1942, i32 0, i32 0 + store ptr null, ptr %1943, align 8 + %1944 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1942, i32 0, i32 1 + store i64 0, ptr %1944, align 4 + %1945 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1942, align 8 + %1946 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1909) + %1947 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1941, ptr %1946, i64 80, %"github.com/goplus/llgo/internal/runtime.String" %1945, i1 false) + %1948 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1949 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1948, i32 0, i32 0 + store ptr @55, ptr %1949, align 8 + %1950 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1948, i32 0, i32 1 + store i64 6, ptr %1950, align 4 + %1951 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1948, align 8 + %1952 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1953 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1952, i32 0, i32 0 + store ptr null, ptr %1953, align 8 + %1954 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1952, i32 0, i32 1 + store i64 0, ptr %1954, align 4 + %1955 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1952, align 8 + %1956 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1914) + %1957 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1951, ptr %1956, i64 88, %"github.com/goplus/llgo/internal/runtime.String" %1955, i1 false) + %1958 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1959 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1958, i32 0, i32 0 + store ptr @56, ptr %1959, align 8 + %1960 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1958, i32 0, i32 1 + store i64 6, ptr %1960, align 4 + %1961 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1958, align 8 + %1962 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1963 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1962, i32 0, i32 0 + store ptr null, ptr %1963, align 8 + %1964 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1962, i32 0, i32 1 + store i64 0, ptr %1964, align 4 + %1965 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1962, align 8 + %1966 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1967 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1966, i32 0, i32 0 + store ptr @5, ptr %1967, align 8 + %1968 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1966, i32 0, i32 1 + store i64 1, ptr %1968, align 4 + %1969 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1966, align 8 + %1970 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1971 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1970, i32 0, i32 0 + store ptr null, ptr %1971, align 8 + %1972 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1970, i32 0, i32 1 + store i64 0, ptr %1972, align 4 + %1973 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1970, align 8 + %1974 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %1975 = getelementptr ptr, ptr %1974, i64 0 + store ptr %1915, ptr %1975, align 8 + %1976 = getelementptr ptr, ptr %1974, i64 1 + store ptr %1916, ptr %1976, align 8 + %1977 = getelementptr ptr, ptr %1974, i64 2 + store ptr %1917, ptr %1977, align 8 + %1978 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1979 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1978, i32 0, i32 0 + store ptr %1974, ptr %1979, align 8 + %1980 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1978, i32 0, i32 1 + store i64 3, ptr %1980, align 4 + %1981 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1978, i32 0, i32 2 + store i64 3, ptr %1981, align 4 + %1982 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1978, align 8 + %1983 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %1984 = getelementptr ptr, ptr %1983, i64 0 + store ptr %1918, ptr %1984, align 8 + %1985 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %1986 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1985, i32 0, i32 0 + store ptr %1983, ptr %1986, align 8 + %1987 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1985, i32 0, i32 1 + store i64 1, ptr %1987, align 4 + %1988 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1985, i32 0, i32 2 + store i64 1, ptr %1988, align 4 + %1989 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1985, align 8 + %1990 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1982, %"github.com/goplus/llgo/internal/runtime.Slice" %1989, i1 false) + %1991 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1969, ptr %1990, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %1973, i1 false) + %1992 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1993 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1992, i32 0, i32 0 + store ptr @6, ptr %1993, align 8 + %1994 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1992, i32 0, i32 1 + store i64 4, ptr %1994, align 4 + %1995 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1992, align 8 + %1996 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %1997 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1996, i32 0, i32 0 + store ptr null, ptr %1997, align 8 + %1998 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %1996, i32 0, i32 1 store i64 0, ptr %1998, align 4 - %1999 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %1995, align 8 - %2000 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %2001 = getelementptr ptr, ptr %2000, i64 0 - store ptr %1991, ptr %2001, align 8 - %2002 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %2003 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2002, i32 0, i32 0 - store ptr %2000, ptr %2003, align 8 - %2004 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2002, i32 0, i32 1 - store i64 1, ptr %2004, align 4 - %2005 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2002, i32 0, i32 2 - store i64 1, ptr %2005, align 4 - %2006 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2002, align 8 - %2007 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %1999, %"github.com/goplus/llgo/internal/runtime.Slice" %2006, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2007) - store ptr %2007, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - br label %_llgo_86 + %1999 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %1996, align 8 + %2000 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %2001 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1995, ptr %2000, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %1999, i1 false) + %2002 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2003 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2002, i32 0, i32 0 + store ptr @7, ptr %2003, align 8 + %2004 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2002, i32 0, i32 1 + store i64 4, ptr %2004, align 4 + %2005 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2002, align 8 + %2006 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %2007 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2006, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %1991, ptr %2007, align 8 + %2008 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2006, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %2001, ptr %2008, align 8 + %2009 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %2010 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2009, i32 0, i32 0 + store ptr %2006, ptr %2010, align 8 + %2011 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2009, i32 0, i32 1 + store i64 2, ptr %2011, align 4 + %2012 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2009, i32 0, i32 2 + store i64 2, ptr %2012, align 4 + %2013 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2009, align 8 + %2014 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %2005, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %2013) + %2015 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %1961, ptr %2014, i64 96, %"github.com/goplus/llgo/internal/runtime.String" %1965, i1 false) + %2016 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2017 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2016, i32 0, i32 0 + store ptr @57, ptr %2017, align 8 + %2018 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2016, i32 0, i32 1 + store i64 7, ptr %2018, align 4 + %2019 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2016, align 8 + %2020 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2021 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2020, i32 0, i32 0 + store ptr null, ptr %2021, align 8 + %2022 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2020, i32 0, i32 1 + store i64 0, ptr %2022, align 4 + %2023 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2020, align 8 + %2024 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %2025 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %2019, ptr %2024, i64 112, %"github.com/goplus/llgo/internal/runtime.String" %2023, i1 false) + %2026 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2027 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2026, i32 0, i32 0 + store ptr @58, ptr %2027, align 8 + %2028 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2026, i32 0, i32 1 + store i64 9, ptr %2028, align 4 + %2029 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2026, align 8 + %2030 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2031 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2030, i32 0, i32 0 + store ptr null, ptr %2031, align 8 + %2032 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2030, i32 0, i32 1 + store i64 0, ptr %2032, align 4 + %2033 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2030, align 8 + %2034 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %2035 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %2029, ptr %2034, i64 113, %"github.com/goplus/llgo/internal/runtime.String" %2033, i1 false) + %2036 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2037 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2036, i32 0, i32 0 + store ptr @59, ptr %2037, align 8 + %2038 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2036, i32 0, i32 1 + store i64 10, ptr %2038, align 4 + %2039 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2036, align 8 + %2040 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2041 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2040, i32 0, i32 0 + store ptr null, ptr %2041, align 8 + %2042 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2040, i32 0, i32 1 + store i64 0, ptr %2042, align 4 + %2043 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2040, align 8 + %2044 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) + %2045 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %2039, ptr %2044, i64 114, %"github.com/goplus/llgo/internal/runtime.String" %2043, i1 false) + %2046 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2047 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2046, i32 0, i32 0 + store ptr @60, ptr %2047, align 8 + %2048 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2046, i32 0, i32 1 + store i64 5, ptr %2048, align 4 + %2049 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2046, align 8 + %2050 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2051 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2050, i32 0, i32 0 + store ptr null, ptr %2051, align 8 + %2052 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2050, i32 0, i32 1 + store i64 0, ptr %2052, align 4 + %2053 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2050, align 8 + %2054 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) + %2055 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %2049, ptr %2054, i64 116, %"github.com/goplus/llgo/internal/runtime.String" %2053, i1 false) + %2056 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2057 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2056, i32 0, i32 0 + store ptr @7, ptr %2057, align 8 + %2058 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2056, i32 0, i32 1 + store i64 4, ptr %2058, align 4 + %2059 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2056, align 8 + %2060 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 504) + %2061 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2060, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %1927, ptr %2061, align 8 + %2062 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2060, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %1937, ptr %2062, align 8 + %2063 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2060, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %1947, ptr %2063, align 8 + %2064 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2060, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %1957, ptr %2064, align 8 + %2065 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2060, i64 4 + store %"github.com/goplus/llgo/internal/abi.StructField" %2015, ptr %2065, align 8 + %2066 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2060, i64 5 + store %"github.com/goplus/llgo/internal/abi.StructField" %2025, ptr %2066, align 8 + %2067 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2060, i64 6 + store %"github.com/goplus/llgo/internal/abi.StructField" %2035, ptr %2067, align 8 + %2068 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2060, i64 7 + store %"github.com/goplus/llgo/internal/abi.StructField" %2045, ptr %2068, align 8 + %2069 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2060, i64 8 + store %"github.com/goplus/llgo/internal/abi.StructField" %2055, ptr %2069, align 8 + %2070 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %2071 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2070, i32 0, i32 0 + store ptr %2060, ptr %2071, align 8 + %2072 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2070, i32 0, i32 1 + store i64 9, ptr %2072, align 4 + %2073 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2070, i32 0, i32 2 + store i64 9, ptr %2073, align 4 + %2074 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2070, align 8 + %2075 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %2059, i64 120, %"github.com/goplus/llgo/internal/runtime.Slice" %2074) + store ptr %2075, ptr @"main.struct$Yk42tBqeO4BzIoRAwt__cbPj2UwIDCP07Kg_SR7sBZM", align 8 + %2076 = load ptr, ptr @"main.struct$Yk42tBqeO4BzIoRAwt__cbPj2UwIDCP07Kg_SR7sBZM", align 8 + br i1 %1809, label %_llgo_109, label %_llgo_110 -_llgo_86: ; preds = %_llgo_85, %_llgo_84 - %2008 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %2009 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2010 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2009, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1872, ptr %2010, align 8 - %2011 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2009, i32 0, i32 1 - store ptr %2008, ptr %2011, align 8 - %2012 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2009, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Uncommon", ptr %2012, align 8 - %2013 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2009, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Uncommon", ptr %2013, align 8 - %2014 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2009, align 8 - %2015 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 880) - %2016 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %1648, ptr %2016, align 8 - %2017 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %1659, ptr %2017, align 8 - %2018 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %1670, ptr %2018, align 8 - %2019 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 3 - store %"github.com/goplus/llgo/internal/abi.Method" %1681, ptr %2019, align 8 - %2020 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 4 - store %"github.com/goplus/llgo/internal/abi.Method" %1692, ptr %2020, align 8 - %2021 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 5 - store %"github.com/goplus/llgo/internal/abi.Method" %1703, ptr %2021, align 8 - %2022 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 6 - store %"github.com/goplus/llgo/internal/abi.Method" %1714, ptr %2022, align 8 - %2023 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 7 - store %"github.com/goplus/llgo/internal/abi.Method" %1725, ptr %2023, align 8 - %2024 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 8 - store %"github.com/goplus/llgo/internal/abi.Method" %1736, ptr %2024, align 8 - %2025 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 9 - store %"github.com/goplus/llgo/internal/abi.Method" %1747, ptr %2025, align 8 - %2026 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 10 - store %"github.com/goplus/llgo/internal/abi.Method" %1758, ptr %2026, align 8 - %2027 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 11 - store %"github.com/goplus/llgo/internal/abi.Method" %1769, ptr %2027, align 8 - %2028 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 12 - store %"github.com/goplus/llgo/internal/abi.Method" %1780, ptr %2028, align 8 - %2029 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 13 - store %"github.com/goplus/llgo/internal/abi.Method" %1791, ptr %2029, align 8 - %2030 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 14 - store %"github.com/goplus/llgo/internal/abi.Method" %1802, ptr %2030, align 8 - %2031 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 15 - store %"github.com/goplus/llgo/internal/abi.Method" %1813, ptr %2031, align 8 - %2032 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 16 - store %"github.com/goplus/llgo/internal/abi.Method" %1824, ptr %2032, align 8 - %2033 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 17 - store %"github.com/goplus/llgo/internal/abi.Method" %1835, ptr %2033, align 8 - %2034 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 18 - store %"github.com/goplus/llgo/internal/abi.Method" %1846, ptr %2034, align 8 - %2035 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 19 - store %"github.com/goplus/llgo/internal/abi.Method" %1857, ptr %2035, align 8 - %2036 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 20 - store %"github.com/goplus/llgo/internal/abi.Method" %1868, ptr %2036, align 8 - %2037 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2015, i64 21 - store %"github.com/goplus/llgo/internal/abi.Method" %2014, ptr %2037, align 8 - %2038 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %2039 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2038, i32 0, i32 0 - store ptr %2015, ptr %2039, align 8 - %2040 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2038, i32 0, i32 1 - store i64 22, ptr %2040, align 4 - %2041 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2038, i32 0, i32 2 - store i64 22, ptr %2041, align 4 - %2042 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2038, align 8 - %2043 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2044 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2043, i32 0, i32 0 - store ptr @31, ptr %2044, align 8 - %2045 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2043, i32 0, i32 1 - store i64 35, ptr %2045, align 4 - %2046 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2043, align 8 - %2047 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2048 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2047, i32 0, i32 0 - store ptr @68, ptr %2048, align 8 - %2049 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2047, i32 0, i32 1 - store i64 10, ptr %2049, align 4 - %2050 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2047, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1579, %"github.com/goplus/llgo/internal/runtime.String" %2046, %"github.com/goplus/llgo/internal/runtime.String" %2050, ptr %1637, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %2042) - br label %_llgo_76 +_llgo_109: ; preds = %_llgo_108 + %2077 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2078 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2077, i32 0, i32 0 + store ptr @18, ptr %2078, align 8 + %2079 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2077, i32 0, i32 1 + store i64 5, ptr %2079, align 4 + %2080 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2077, align 8 + %2081 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %2082 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2083 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2082, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2080, ptr %2083, align 8 + %2084 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2082, i32 0, i32 1 + store ptr %2081, ptr %2084, align 8 + %2085 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2082, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Align", ptr %2085, align 8 + %2086 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2082, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Align", ptr %2086, align 8 + %2087 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2082, align 8 + %2088 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2089 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2088, i32 0, i32 0 + store ptr @19, ptr %2089, align 8 + %2090 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2088, i32 0, i32 1 + store i64 9, ptr %2090, align 4 + %2091 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2088, align 8 + %2092 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %2093 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 + %2094 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2095 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2094, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2091, ptr %2095, align 8 + %2096 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2094, i32 0, i32 1 + store ptr %2093, ptr %2096, align 8 + %2097 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2094, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ArrayType", ptr %2097, align 8 + %2098 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2094, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ArrayType", ptr %2098, align 8 + %2099 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2094, align 8 + %2100 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2101 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2100, i32 0, i32 0 + store ptr @25, ptr %2101, align 8 + %2102 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2100, i32 0, i32 1 + store i64 7, ptr %2102, align 4 + %2103 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2100, align 8 + %2104 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 + %2105 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2106 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2105, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2103, ptr %2106, align 8 + %2107 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2105, i32 0, i32 1 + store ptr %2104, ptr %2107, align 8 + %2108 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2105, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ChanDir", ptr %2108, align 8 + %2109 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2105, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ChanDir", ptr %2109, align 8 + %2110 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2105, align 8 + %2111 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2112 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2111, i32 0, i32 0 + store ptr @27, ptr %2112, align 8 + %2113 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2111, i32 0, i32 1 + store i64 6, ptr %2113, align 4 + %2114 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2111, align 8 + %2115 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %2116 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %2117 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2118 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2117, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2114, ptr %2118, align 8 + %2119 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2117, i32 0, i32 1 + store ptr %2116, ptr %2119, align 8 + %2120 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2117, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Common", ptr %2120, align 8 + %2121 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2117, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Common", ptr %2121, align 8 + %2122 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2117, align 8 + %2123 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2124 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2123, i32 0, i32 0 + store ptr @28, ptr %2124, align 8 + %2125 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2123, i32 0, i32 1 + store i64 15, ptr %2125, align 4 + %2126 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2123, align 8 + %2127 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %2128 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %2129 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2130 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2129, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2126, ptr %2130, align 8 + %2131 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2129, i32 0, i32 1 + store ptr %2128, ptr %2131, align 8 + %2132 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2129, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ExportedMethods", ptr %2132, align 8 + %2133 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2129, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ExportedMethods", ptr %2133, align 8 + %2134 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2129, align 8 + %2135 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2136 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2135, i32 0, i32 0 + store ptr @33, ptr %2136, align 8 + %2137 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2135, i32 0, i32 1 + store i64 10, ptr %2137, align 4 + %2138 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2135, align 8 + %2139 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %2140 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2141 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2140, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2138, ptr %2141, align 8 + %2142 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2140, i32 0, i32 1 + store ptr %2139, ptr %2142, align 8 + %2143 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2140, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FieldAlign", ptr %2143, align 8 + %2144 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2140, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FieldAlign", ptr %2144, align 8 + %2145 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2140, align 8 + %2146 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2147 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2146, i32 0, i32 0 + store ptr @34, ptr %2147, align 8 + %2148 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2146, i32 0, i32 1 + store i64 8, ptr %2148, align 4 + %2149 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2146, align 8 + %2150 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %2151 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 + %2152 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2153 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2152, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2149, ptr %2153, align 8 + %2154 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2152, i32 0, i32 1 + store ptr %2151, ptr %2154, align 8 + %2155 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2152, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FuncType", ptr %2155, align 8 + %2156 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2152, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).FuncType", ptr %2156, align 8 + %2157 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2152, align 8 + %2158 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2159 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2158, i32 0, i32 0 + store ptr @35, ptr %2159, align 8 + %2160 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2158, i32 0, i32 1 + store i64 7, ptr %2160, align 4 + %2161 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2158, align 8 + %2162 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %2163 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2164 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2163, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2161, ptr %2164, align 8 + %2165 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2163, i32 0, i32 1 + store ptr %2162, ptr %2165, align 8 + %2166 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2163, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HasName", ptr %2166, align 8 + %2167 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2163, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HasName", ptr %2167, align 8 + %2168 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2163, align 8 + %2169 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2170 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2169, i32 0, i32 0 + store ptr @61, ptr %2170, align 8 + %2171 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2169, i32 0, i32 1 + store i64 14, ptr %2171, align 4 + %2172 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2169, align 8 + %2173 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %2174 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2175 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2174, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2172, ptr %2175, align 8 + %2176 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2174, i32 0, i32 1 + store ptr %2173, ptr %2176, align 8 + %2177 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2174, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HashMightPanic", ptr %2177, align 8 + %2178 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2174, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).HashMightPanic", ptr %2178, align 8 + %2179 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2174, align 8 + %2180 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2181 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2180, i32 0, i32 0 + store ptr @36, ptr %2181, align 8 + %2182 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2180, i32 0, i32 1 + store i64 10, ptr %2182, align 4 + %2183 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2180, align 8 + %2184 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %2185 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2186 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2185, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2183, ptr %2186, align 8 + %2187 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2185, i32 0, i32 1 + store ptr %2184, ptr %2187, align 8 + %2188 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2185, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IfaceIndir", ptr %2188, align 8 + %2189 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2185, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IfaceIndir", ptr %2189, align 8 + %2190 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2185, align 8 + %2191 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2192 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2191, i32 0, i32 0 + store ptr @62, ptr %2192, align 8 + %2193 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2191, i32 0, i32 1 + store i64 12, ptr %2193, align 4 + %2194 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2191, align 8 + %2195 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %2196 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2197 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2196, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2194, ptr %2197, align 8 + %2198 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2196, i32 0, i32 1 + store ptr %2195, ptr %2198, align 8 + %2199 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2196, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectElem", ptr %2199, align 8 + %2200 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2196, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectElem", ptr %2200, align 8 + %2201 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2196, align 8 + %2202 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2203 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2202, i32 0, i32 0 + store ptr @63, ptr %2203, align 8 + %2204 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2202, i32 0, i32 1 + store i64 11, ptr %2204, align 4 + %2205 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2202, align 8 + %2206 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %2207 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2208 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2207, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2205, ptr %2208, align 8 + %2209 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2207, i32 0, i32 1 + store ptr %2206, ptr %2209, align 8 + %2210 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2207, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectKey", ptr %2210, align 8 + %2211 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2207, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IndirectKey", ptr %2211, align 8 + %2212 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2207, align 8 + %2213 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2214 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2213, i32 0, i32 0 + store ptr @37, ptr %2214, align 8 + %2215 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2213, i32 0, i32 1 + store i64 13, ptr %2215, align 4 + %2216 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2213, align 8 + %2217 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %2218 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 + %2219 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2220 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2219, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2216, ptr %2220, align 8 + %2221 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2219, i32 0, i32 1 + store ptr %2218, ptr %2221, align 8 + %2222 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2219, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).InterfaceType", ptr %2222, align 8 + %2223 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2219, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).InterfaceType", ptr %2223, align 8 + %2224 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2219, align 8 + %2225 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2226 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2225, i32 0, i32 0 + store ptr @48, ptr %2226, align 8 + %2227 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2225, i32 0, i32 1 + store i64 13, ptr %2227, align 4 + %2228 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2225, align 8 + %2229 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %2230 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2231 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2230, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2228, ptr %2231, align 8 + %2232 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2230, i32 0, i32 1 + store ptr %2229, ptr %2232, align 8 + %2233 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2230, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IsDirectIface", ptr %2233, align 8 + %2234 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2230, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).IsDirectIface", ptr %2234, align 8 + %2235 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2230, align 8 + %2236 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2237 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2236, i32 0, i32 0 + store ptr @50, ptr %2237, align 8 + %2238 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2236, i32 0, i32 1 + store i64 4, ptr %2238, align 4 + %2239 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2236, align 8 + %2240 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 + %2241 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2242 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2241, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2239, ptr %2242, align 8 + %2243 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2241, i32 0, i32 1 + store ptr %2240, ptr %2243, align 8 + %2244 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2241, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Kind", ptr %2244, align 8 + %2245 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2241, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Kind", ptr %2245, align 8 + %2246 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2241, align 8 + %2247 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2248 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2247, i32 0, i32 0 + store ptr @24, ptr %2248, align 8 + %2249 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2247, i32 0, i32 1 + store i64 3, ptr %2249, align 4 + %2250 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2247, align 8 + %2251 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %2252 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2253 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2252, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2250, ptr %2253, align 8 + %2254 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2252, i32 0, i32 1 + store ptr %2251, ptr %2254, align 8 + %2255 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2252, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Len", ptr %2255, align 8 + %2256 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2252, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Len", ptr %2256, align 8 + %2257 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2252, align 8 + %2258 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2259 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2258, i32 0, i32 0 + store ptr @53, ptr %2259, align 8 + %2260 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2258, i32 0, i32 1 + store i64 7, ptr %2260, align 4 + %2261 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2258, align 8 + %2262 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2263 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2262, i32 0, i32 0 + store ptr @54, ptr %2263, align 8 + %2264 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2262, i32 0, i32 1 + store i64 43, ptr %2264, align 4 + %2265 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2262, align 8 + %2266 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %2265, i64 25, i64 136, i64 0, i64 25) + %2267 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %2268 = icmp eq ptr %2267, null + br i1 %2268, label %_llgo_111, label %_llgo_112 -_llgo_87: ; preds = %_llgo_76 - %2051 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1884) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2051) - store ptr %2051, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 - br label %_llgo_88 - -_llgo_88: ; preds = %_llgo_87, %_llgo_76 - %2052 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 - %2053 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %2054 = icmp eq ptr %2053, null - br i1 %2054, label %_llgo_89, label %_llgo_90 - -_llgo_89: ; preds = %_llgo_88 - %2055 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %2056 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %2057 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2056, i32 0, i32 0 - store ptr %2055, ptr %2057, align 8 - %2058 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2056, i32 0, i32 1 - store i64 0, ptr %2058, align 4 - %2059 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2056, i32 0, i32 2 - store i64 0, ptr %2059, align 4 - %2060 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2056, align 8 - %2061 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %2062 = getelementptr ptr, ptr %2061, i64 0 - store ptr %2052, ptr %2062, align 8 - %2063 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %2064 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2063, i32 0, i32 0 - store ptr %2061, ptr %2064, align 8 - %2065 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2063, i32 0, i32 1 - store i64 1, ptr %2065, align 4 - %2066 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2063, i32 0, i32 2 - store i64 1, ptr %2066, align 4 - %2067 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2063, align 8 - %2068 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %2060, %"github.com/goplus/llgo/internal/runtime.Slice" %2067, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2068) - store ptr %2068, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - br label %_llgo_90 - -_llgo_90: ; preds = %_llgo_89, %_llgo_88 - %2069 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %2070 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2071 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2070, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1574, ptr %2071, align 8 - %2072 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2070, i32 0, i32 1 - store ptr %2069, ptr %2072, align 8 - %2073 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2070, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).StructType", ptr %2073, align 8 - %2074 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2070, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).StructType", ptr %2074, align 8 - %2075 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2070, align 8 - %2076 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2077 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2076, i32 0, i32 0 - store ptr @72, ptr %2077, align 8 - %2078 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2076, i32 0, i32 1 - store i64 8, ptr %2078, align 4 - %2079 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2076, align 8 - %2080 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %2081 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2082 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2081, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2079, ptr %2082, align 8 - %2083 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2081, i32 0, i32 1 - store ptr %2080, ptr %2083, align 8 - %2084 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2081, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Uncommon", ptr %2084, align 8 - %2085 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2081, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Uncommon", ptr %2085, align 8 - %2086 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2081, align 8 - %2087 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 1000) - %2088 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %1304, ptr %2088, align 8 - %2089 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %1315, ptr %2089, align 8 - %2090 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %1326, ptr %2090, align 8 - %2091 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 3 - store %"github.com/goplus/llgo/internal/abi.Method" %1337, ptr %2091, align 8 - %2092 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 4 - store %"github.com/goplus/llgo/internal/abi.Method" %1348, ptr %2092, align 8 - %2093 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 5 - store %"github.com/goplus/llgo/internal/abi.Method" %1359, ptr %2093, align 8 - %2094 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 6 - store %"github.com/goplus/llgo/internal/abi.Method" %1370, ptr %2094, align 8 - %2095 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 7 - store %"github.com/goplus/llgo/internal/abi.Method" %1381, ptr %2095, align 8 - %2096 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 8 - store %"github.com/goplus/llgo/internal/abi.Method" %1392, ptr %2096, align 8 - %2097 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 9 - store %"github.com/goplus/llgo/internal/abi.Method" %1403, ptr %2097, align 8 - %2098 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 10 - store %"github.com/goplus/llgo/internal/abi.Method" %1414, ptr %2098, align 8 - %2099 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 11 - store %"github.com/goplus/llgo/internal/abi.Method" %1425, ptr %2099, align 8 - %2100 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 12 - store %"github.com/goplus/llgo/internal/abi.Method" %1436, ptr %2100, align 8 - %2101 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 13 - store %"github.com/goplus/llgo/internal/abi.Method" %1447, ptr %2101, align 8 - %2102 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 14 - store %"github.com/goplus/llgo/internal/abi.Method" %1458, ptr %2102, align 8 - %2103 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 15 - store %"github.com/goplus/llgo/internal/abi.Method" %1469, ptr %2103, align 8 - %2104 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 16 - store %"github.com/goplus/llgo/internal/abi.Method" %1480, ptr %2104, align 8 - %2105 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 17 - store %"github.com/goplus/llgo/internal/abi.Method" %1491, ptr %2105, align 8 - %2106 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 18 - store %"github.com/goplus/llgo/internal/abi.Method" %1502, ptr %2106, align 8 - %2107 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 19 - store %"github.com/goplus/llgo/internal/abi.Method" %1513, ptr %2107, align 8 - %2108 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 20 - store %"github.com/goplus/llgo/internal/abi.Method" %1524, ptr %2108, align 8 - %2109 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 21 - store %"github.com/goplus/llgo/internal/abi.Method" %1559, ptr %2109, align 8 - %2110 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 22 - store %"github.com/goplus/llgo/internal/abi.Method" %1570, ptr %2110, align 8 - %2111 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 23 - store %"github.com/goplus/llgo/internal/abi.Method" %2075, ptr %2111, align 8 - %2112 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2087, i64 24 - store %"github.com/goplus/llgo/internal/abi.Method" %2086, ptr %2112, align 8 - %2113 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %2114 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2113, i32 0, i32 0 - store ptr %2087, ptr %2114, align 8 - %2115 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2113, i32 0, i32 1 - store i64 25, ptr %2115, align 4 - %2116 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2113, i32 0, i32 2 - store i64 25, ptr %2116, align 4 - %2117 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2113, align 8 - %2118 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2119 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2118, i32 0, i32 0 - store ptr @31, ptr %2119, align 8 - %2120 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2118, i32 0, i32 1 - store i64 35, ptr %2120, align 4 - %2121 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2118, align 8 - %2122 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2123 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2122, i32 0, i32 0 - store ptr @52, ptr %2123, align 8 - %2124 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2122, i32 0, i32 1 - store i64 7, ptr %2124, align 4 - %2125 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2122, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1106, %"github.com/goplus/llgo/internal/runtime.String" %2121, %"github.com/goplus/llgo/internal/runtime.String" %2125, ptr %1293, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %2117) - br label %_llgo_68 - -_llgo_91: ; preds = %_llgo_68 - %2126 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1536) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2126) - store ptr %2126, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 - br label %_llgo_92 - -_llgo_92: ; preds = %_llgo_91, %_llgo_68 - %2127 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 - %2128 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %2129 = icmp eq ptr %2128, null - br i1 %2129, label %_llgo_93, label %_llgo_94 - -_llgo_93: ; preds = %_llgo_92 - %2130 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %2131 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %2132 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2131, i32 0, i32 0 - store ptr %2130, ptr %2132, align 8 - %2133 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2131, i32 0, i32 1 - store i64 0, ptr %2133, align 4 - %2134 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2131, i32 0, i32 2 - store i64 0, ptr %2134, align 4 - %2135 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2131, align 8 - %2136 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %2137 = getelementptr ptr, ptr %2136, i64 0 - store ptr %2127, ptr %2137, align 8 - %2138 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %2139 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2138, i32 0, i32 0 - store ptr %2136, ptr %2139, align 8 - %2140 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2138, i32 0, i32 1 - store i64 1, ptr %2140, align 4 - %2141 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2138, i32 0, i32 2 - store i64 1, ptr %2141, align 4 - %2142 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2138, align 8 - %2143 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %2135, %"github.com/goplus/llgo/internal/runtime.Slice" %2142, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2143) - store ptr %2143, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - br label %_llgo_94 - -_llgo_94: ; preds = %_llgo_93, %_llgo_92 - %2144 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %2145 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2146 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2145, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %1101, ptr %2146, align 8 - %2147 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2145, i32 0, i32 1 - store ptr %2144, ptr %2147, align 8 - %2148 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2145, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).MapType", ptr %2148, align 8 - %2149 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2145, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).MapType", ptr %2149, align 8 - %2150 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2145, align 8 - %2151 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2152 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2151, i32 0, i32 0 - store ptr @64, ptr %2152, align 8 - %2153 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2151, i32 0, i32 1 - store i64 9, ptr %2153, align 4 - %2154 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2151, align 8 - %2155 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %2156 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2157 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2156, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2154, ptr %2157, align 8 - %2158 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2156, i32 0, i32 1 - store ptr %2155, ptr %2158, align 8 - %2159 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2156, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).NumMethod", ptr %2159, align 8 - %2160 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2156, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).NumMethod", ptr %2160, align 8 - %2161 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2156, align 8 - %2162 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2163 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2162, i32 0, i32 0 - store ptr @65, ptr %2163, align 8 - %2164 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2162, i32 0, i32 1 - store i64 8, ptr %2164, align 4 - %2165 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2162, align 8 - %2166 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %2167 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2168 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2167, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2165, ptr %2168, align 8 - %2169 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2167, i32 0, i32 1 - store ptr %2166, ptr %2169, align 8 - %2170 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2167, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Pointers", ptr %2170, align 8 - %2171 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2167, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Pointers", ptr %2171, align 8 - %2172 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2167, align 8 - %2173 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2174 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2173, i32 0, i32 0 - store ptr @67, ptr %2174, align 8 - %2175 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2173, i32 0, i32 1 - store i64 4, ptr %2175, align 4 - %2176 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2173, align 8 - %2177 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %2178 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2179 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2178, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2176, ptr %2179, align 8 - %2180 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2178, i32 0, i32 1 - store ptr %2177, ptr %2180, align 8 - %2181 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2178, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Size", ptr %2181, align 8 - %2182 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2178, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Size", ptr %2182, align 8 - %2183 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2178, align 8 - %2184 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2185 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2184, i32 0, i32 0 - store ptr @51, ptr %2185, align 8 - %2186 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2184, i32 0, i32 1 - store i64 6, ptr %2186, align 4 - %2187 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2184, align 8 - %2188 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %2189 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2190 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2189, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2187, ptr %2190, align 8 - %2191 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2189, i32 0, i32 1 - store ptr %2188, ptr %2191, align 8 - %2192 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2189, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).String", ptr %2192, align 8 - %2193 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2189, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).String", ptr %2193, align 8 - %2194 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2189, align 8 - %2195 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2196 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2195, i32 0, i32 0 - store ptr @68, ptr %2196, align 8 - %2197 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2195, i32 0, i32 1 - store i64 10, ptr %2197, align 4 - %2198 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2195, align 8 - %2199 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %2200 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2201 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2200, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2198, ptr %2201, align 8 - %2202 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2200, i32 0, i32 1 - store ptr %2199, ptr %2202, align 8 - %2203 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2200, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).StructType", ptr %2203, align 8 - %2204 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2200, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).StructType", ptr %2204, align 8 - %2205 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2200, align 8 - %2206 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2207 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2206, i32 0, i32 0 - store ptr @72, ptr %2207, align 8 - %2208 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2206, i32 0, i32 1 - store i64 8, ptr %2208, align 4 - %2209 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2206, align 8 - %2210 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %2211 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2212 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2211, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2209, ptr %2212, align 8 - %2213 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2211, i32 0, i32 1 - store ptr %2210, ptr %2213, align 8 - %2214 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2211, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Uncommon", ptr %2214, align 8 - %2215 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2211, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Uncommon", ptr %2215, align 8 - %2216 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2211, align 8 - %2217 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 880) - %2218 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %849, ptr %2218, align 8 - %2219 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %860, ptr %2219, align 8 - %2220 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %871, ptr %2220, align 8 - %2221 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 3 - store %"github.com/goplus/llgo/internal/abi.Method" %882, ptr %2221, align 8 - %2222 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 4 - store %"github.com/goplus/llgo/internal/abi.Method" %893, ptr %2222, align 8 - %2223 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 5 - store %"github.com/goplus/llgo/internal/abi.Method" %904, ptr %2223, align 8 - %2224 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 6 - store %"github.com/goplus/llgo/internal/abi.Method" %915, ptr %2224, align 8 - %2225 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 7 - store %"github.com/goplus/llgo/internal/abi.Method" %926, ptr %2225, align 8 - %2226 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 8 - store %"github.com/goplus/llgo/internal/abi.Method" %937, ptr %2226, align 8 - %2227 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 9 - store %"github.com/goplus/llgo/internal/abi.Method" %948, ptr %2227, align 8 - %2228 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 10 - store %"github.com/goplus/llgo/internal/abi.Method" %959, ptr %2228, align 8 - %2229 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 11 - store %"github.com/goplus/llgo/internal/abi.Method" %970, ptr %2229, align 8 - %2230 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 12 - store %"github.com/goplus/llgo/internal/abi.Method" %981, ptr %2230, align 8 - %2231 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 13 - store %"github.com/goplus/llgo/internal/abi.Method" %1086, ptr %2231, align 8 - %2232 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 14 - store %"github.com/goplus/llgo/internal/abi.Method" %1097, ptr %2232, align 8 - %2233 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 15 - store %"github.com/goplus/llgo/internal/abi.Method" %2150, ptr %2233, align 8 - %2234 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 16 - store %"github.com/goplus/llgo/internal/abi.Method" %2161, ptr %2234, align 8 - %2235 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 17 - store %"github.com/goplus/llgo/internal/abi.Method" %2172, ptr %2235, align 8 - %2236 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 18 - store %"github.com/goplus/llgo/internal/abi.Method" %2183, ptr %2236, align 8 - %2237 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 19 - store %"github.com/goplus/llgo/internal/abi.Method" %2194, ptr %2237, align 8 - %2238 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 20 - store %"github.com/goplus/llgo/internal/abi.Method" %2205, ptr %2238, align 8 - %2239 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2217, i64 21 - store %"github.com/goplus/llgo/internal/abi.Method" %2216, ptr %2239, align 8 - %2240 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %2241 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2240, i32 0, i32 0 - store ptr %2217, ptr %2241, align 8 - %2242 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2240, i32 0, i32 1 - store i64 22, ptr %2242, align 4 - %2243 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2240, i32 0, i32 2 - store i64 22, ptr %2243, align 4 - %2244 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2240, align 8 - %2245 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2246 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2245, i32 0, i32 0 - store ptr @31, ptr %2246, align 8 - %2247 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2245, i32 0, i32 1 - store i64 35, ptr %2247, align 4 - %2248 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2245, align 8 - %2249 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2250 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2249, i32 0, i32 0 - store ptr @42, ptr %2250, align 8 - %2251 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2249, i32 0, i32 1 - store i64 13, ptr %2251, align 4 - %2252 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2249, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %780, %"github.com/goplus/llgo/internal/runtime.String" %2248, %"github.com/goplus/llgo/internal/runtime.String" %2252, ptr %838, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %2244) - br label %_llgo_50 - -_llgo_95: ; preds = %_llgo_50 - %2253 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %997) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2253) - store ptr %2253, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 - br label %_llgo_96 - -_llgo_96: ; preds = %_llgo_95, %_llgo_50 - %2254 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 - %2255 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %2256 = icmp eq ptr %2255, null - br i1 %2256, label %_llgo_97, label %_llgo_98 - -_llgo_97: ; preds = %_llgo_96 - %2257 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %2258 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %2259 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2258, i32 0, i32 0 - store ptr %2257, ptr %2259, align 8 - %2260 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2258, i32 0, i32 1 - store i64 0, ptr %2260, align 4 - %2261 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2258, i32 0, i32 2 - store i64 0, ptr %2261, align 4 - %2262 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2258, align 8 - %2263 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %2264 = getelementptr ptr, ptr %2263, i64 0 - store ptr %2254, ptr %2264, align 8 - %2265 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %2266 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2265, i32 0, i32 0 - store ptr %2263, ptr %2266, align 8 - %2267 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2265, i32 0, i32 1 - store i64 1, ptr %2267, align 4 - %2268 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2265, i32 0, i32 2 - store i64 1, ptr %2268, align 4 - %2269 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2265, align 8 - %2270 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %2262, %"github.com/goplus/llgo/internal/runtime.Slice" %2269, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2270) - store ptr %2270, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - br label %_llgo_98 - -_llgo_98: ; preds = %_llgo_97, %_llgo_96 - %2271 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 +_llgo_110: ; preds = %_llgo_130, %_llgo_108 + %2269 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %2270 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %2271 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 %2272 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 %2273 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2272, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %775, ptr %2273, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" %1802, ptr %2273, align 8 %2274 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2272, i32 0, i32 1 store ptr %2271, ptr %2274, align 8 %2275 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2272, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).InterfaceType", ptr %2275, align 8 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).MapType", ptr %2275, align 8 %2276 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2272, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).InterfaceType", ptr %2276, align 8 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).MapType", ptr %2276, align 8 %2277 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2272, align 8 %2278 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %2279 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2278, i32 0, i32 0 - store ptr @47, ptr %2279, align 8 + store ptr @65, ptr %2279, align 8 %2280 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2278, i32 0, i32 1 - store i64 13, ptr %2280, align 4 + store i64 9, ptr %2280, align 4 %2281 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2278, align 8 - %2282 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %2282 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 %2283 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 %2284 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2283, i32 0, i32 0 store %"github.com/goplus/llgo/internal/runtime.String" %2281, ptr %2284, align 8 %2285 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2283, i32 0, i32 1 store ptr %2282, ptr %2285, align 8 %2286 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2283, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IsDirectIface", ptr %2286, align 8 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).NumMethod", ptr %2286, align 8 %2287 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2283, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).IsDirectIface", ptr %2287, align 8 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).NumMethod", ptr %2287, align 8 %2288 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2283, align 8 %2289 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %2290 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2289, i32 0, i32 0 - store ptr @48, ptr %2290, align 8 + store ptr @66, ptr %2290, align 8 %2291 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2289, i32 0, i32 1 - store i64 3, ptr %2291, align 4 + store i64 8, ptr %2291, align 4 %2292 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2289, align 8 - %2293 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %2293 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 %2294 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 %2295 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2294, i32 0, i32 0 store %"github.com/goplus/llgo/internal/runtime.String" %2292, ptr %2295, align 8 %2296 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2294, i32 0, i32 1 store ptr %2293, ptr %2296, align 8 %2297 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2294, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Key", ptr %2297, align 8 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Pointers", ptr %2297, align 8 %2298 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2294, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Key", ptr %2298, align 8 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Pointers", ptr %2298, align 8 %2299 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2294, align 8 %2300 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %2301 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2300, i32 0, i32 0 - store ptr @49, ptr %2301, align 8 + store ptr @68, ptr %2301, align 8 %2302 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2300, i32 0, i32 1 store i64 4, ptr %2302, align 4 %2303 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2300, align 8 - %2304 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 + %2304 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 %2305 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 %2306 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2305, i32 0, i32 0 store %"github.com/goplus/llgo/internal/runtime.String" %2303, ptr %2306, align 8 %2307 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2305, i32 0, i32 1 store ptr %2304, ptr %2307, align 8 %2308 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2305, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Kind", ptr %2308, align 8 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Size", ptr %2308, align 8 %2309 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2305, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Kind", ptr %2309, align 8 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Size", ptr %2309, align 8 %2310 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2305, align 8 %2311 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %2312 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2311, i32 0, i32 0 - store ptr @28, ptr %2312, align 8 + store ptr @52, ptr %2312, align 8 %2313 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2311, i32 0, i32 1 - store i64 3, ptr %2313, align 4 + store i64 6, ptr %2313, align 4 %2314 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2311, align 8 - %2315 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %2315 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 %2316 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 %2317 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2316, i32 0, i32 0 store %"github.com/goplus/llgo/internal/runtime.String" %2314, ptr %2317, align 8 %2318 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2316, i32 0, i32 1 store ptr %2315, ptr %2318, align 8 %2319 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2316, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Len", ptr %2319, align 8 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).String", ptr %2319, align 8 %2320 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2316, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Len", ptr %2320, align 8 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).String", ptr %2320, align 8 %2321 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2316, align 8 %2322 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %2323 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2322, i32 0, i32 0 - store ptr @52, ptr %2323, align 8 + store ptr @69, ptr %2323, align 8 %2324 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2322, i32 0, i32 1 - store i64 7, ptr %2324, align 4 + store i64 10, ptr %2324, align 4 %2325 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2322, align 8 - %2326 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %2327 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2328 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2327, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2325, ptr %2328, align 8 - %2329 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2327, i32 0, i32 1 - store ptr %2326, ptr %2329, align 8 - %2330 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2327, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).MapType", ptr %2330, align 8 - %2331 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2327, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).MapType", ptr %2331, align 8 - %2332 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2327, align 8 - %2333 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2334 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2333, i32 0, i32 0 - store ptr @64, ptr %2334, align 8 - %2335 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2333, i32 0, i32 1 - store i64 9, ptr %2335, align 4 - %2336 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2333, align 8 - %2337 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %2338 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2339 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2338, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2336, ptr %2339, align 8 - %2340 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2338, i32 0, i32 1 - store ptr %2337, ptr %2340, align 8 - %2341 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2338, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).NumMethod", ptr %2341, align 8 - %2342 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2338, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).NumMethod", ptr %2342, align 8 - %2343 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2338, align 8 - %2344 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2345 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2344, i32 0, i32 0 - store ptr @65, ptr %2345, align 8 - %2346 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2344, i32 0, i32 1 - store i64 8, ptr %2346, align 4 - %2347 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2344, align 8 - %2348 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %2349 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2350 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2349, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2347, ptr %2350, align 8 - %2351 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2349, i32 0, i32 1 - store ptr %2348, ptr %2351, align 8 - %2352 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2349, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Pointers", ptr %2352, align 8 - %2353 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2349, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Pointers", ptr %2353, align 8 - %2354 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2349, align 8 - %2355 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2356 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2355, i32 0, i32 0 - store ptr @67, ptr %2356, align 8 - %2357 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2355, i32 0, i32 1 - store i64 4, ptr %2357, align 4 - %2358 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2355, align 8 - %2359 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %2360 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2361 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2360, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2358, ptr %2361, align 8 - %2362 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2360, i32 0, i32 1 - store ptr %2359, ptr %2362, align 8 - %2363 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2360, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Size", ptr %2363, align 8 - %2364 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2360, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Size", ptr %2364, align 8 - %2365 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2360, align 8 - %2366 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2367 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2366, i32 0, i32 0 - store ptr @51, ptr %2367, align 8 - %2368 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2366, i32 0, i32 1 - store i64 6, ptr %2368, align 4 - %2369 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2366, align 8 - %2370 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %2371 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2372 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2371, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2369, ptr %2372, align 8 - %2373 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2371, i32 0, i32 1 - store ptr %2370, ptr %2373, align 8 - %2374 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2371, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).String", ptr %2374, align 8 - %2375 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2371, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).String", ptr %2375, align 8 - %2376 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2371, align 8 + %2326 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %2327 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 + %2328 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2329 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2328, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2325, ptr %2329, align 8 + %2330 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2328, i32 0, i32 1 + store ptr %2327, ptr %2330, align 8 + %2331 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2328, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).StructType", ptr %2331, align 8 + %2332 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2328, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).StructType", ptr %2332, align 8 + %2333 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2328, align 8 + %2334 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2335 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2334, i32 0, i32 0 + store ptr @79, ptr %2335, align 8 + %2336 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2334, i32 0, i32 1 + store i64 8, ptr %2336, align 4 + %2337 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2334, align 8 + %2338 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 + %2339 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2340 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2339, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2337, ptr %2340, align 8 + %2341 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2339, i32 0, i32 1 + store ptr %2338, ptr %2341, align 8 + %2342 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2339, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Uncommon", ptr %2342, align 8 + %2343 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2339, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Uncommon", ptr %2343, align 8 + %2344 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2339, align 8 + %2345 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 880) + %2346 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %1363, ptr %2346, align 8 + %2347 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %1375, ptr %2347, align 8 + %2348 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %1386, ptr %2348, align 8 + %2349 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 3 + store %"github.com/goplus/llgo/internal/abi.Method" %1398, ptr %2349, align 8 + %2350 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 4 + store %"github.com/goplus/llgo/internal/abi.Method" %1410, ptr %2350, align 8 + %2351 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 5 + store %"github.com/goplus/llgo/internal/abi.Method" %1422, ptr %2351, align 8 + %2352 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 6 + store %"github.com/goplus/llgo/internal/abi.Method" %1433, ptr %2352, align 8 + %2353 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 7 + store %"github.com/goplus/llgo/internal/abi.Method" %1445, ptr %2353, align 8 + %2354 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 8 + store %"github.com/goplus/llgo/internal/abi.Method" %1456, ptr %2354, align 8 + %2355 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 9 + store %"github.com/goplus/llgo/internal/abi.Method" %1467, ptr %2355, align 8 + %2356 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 10 + store %"github.com/goplus/llgo/internal/abi.Method" %1685, ptr %2356, align 8 + %2357 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 11 + store %"github.com/goplus/llgo/internal/abi.Method" %1696, ptr %2357, align 8 + %2358 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 12 + store %"github.com/goplus/llgo/internal/abi.Method" %1708, ptr %2358, align 8 + %2359 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 13 + store %"github.com/goplus/llgo/internal/abi.Method" %1787, ptr %2359, align 8 + %2360 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 14 + store %"github.com/goplus/llgo/internal/abi.Method" %1798, ptr %2360, align 8 + %2361 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 15 + store %"github.com/goplus/llgo/internal/abi.Method" %2277, ptr %2361, align 8 + %2362 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 16 + store %"github.com/goplus/llgo/internal/abi.Method" %2288, ptr %2362, align 8 + %2363 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 17 + store %"github.com/goplus/llgo/internal/abi.Method" %2299, ptr %2363, align 8 + %2364 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 18 + store %"github.com/goplus/llgo/internal/abi.Method" %2310, ptr %2364, align 8 + %2365 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 19 + store %"github.com/goplus/llgo/internal/abi.Method" %2321, ptr %2365, align 8 + %2366 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 20 + store %"github.com/goplus/llgo/internal/abi.Method" %2333, ptr %2366, align 8 + %2367 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2345, i64 21 + store %"github.com/goplus/llgo/internal/abi.Method" %2344, ptr %2367, align 8 + %2368 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %2369 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2368, i32 0, i32 0 + store ptr %2345, ptr %2369, align 8 + %2370 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2368, i32 0, i32 1 + store i64 22, ptr %2370, align 4 + %2371 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2368, i32 0, i32 2 + store i64 22, ptr %2371, align 4 + %2372 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2368, align 8 + %2373 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2374 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2373, i32 0, i32 0 + store ptr @3, ptr %2374, align 8 + %2375 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2373, i32 0, i32 1 + store i64 35, ptr %2375, align 4 + %2376 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2373, align 8 %2377 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %2378 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2377, i32 0, i32 0 - store ptr @68, ptr %2378, align 8 + store ptr @37, ptr %2378, align 8 %2379 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2377, i32 0, i32 1 - store i64 10, ptr %2379, align 4 + store i64 13, ptr %2379, align 4 %2380 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2377, align 8 - %2381 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %2382 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2383 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2382, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2380, ptr %2383, align 8 - %2384 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2382, i32 0, i32 1 - store ptr %2381, ptr %2384, align 8 - %2385 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2382, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).StructType", ptr %2385, align 8 - %2386 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2382, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).StructType", ptr %2386, align 8 - %2387 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2382, align 8 - %2388 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2389 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2388, i32 0, i32 0 - store ptr @72, ptr %2389, align 8 - %2390 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2388, i32 0, i32 1 - store i64 8, ptr %2390, align 4 - %2391 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2388, align 8 - %2392 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %2393 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2394 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2393, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2391, ptr %2394, align 8 - %2395 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2393, i32 0, i32 1 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1168, %"github.com/goplus/llgo/internal/runtime.String" %2376, %"github.com/goplus/llgo/internal/runtime.String" %2380, ptr %1352, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %2372) + br label %_llgo_90 + +_llgo_111: ; preds = %_llgo_109 + %2381 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %2266) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2381) + store ptr %2381, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + br label %_llgo_112 + +_llgo_112: ; preds = %_llgo_111, %_llgo_109 + %2382 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %2383 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %2384 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 + %2385 = icmp eq ptr %2384, null + br i1 %2385, label %_llgo_113, label %_llgo_114 + +_llgo_113: ; preds = %_llgo_112 + %2386 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %2387 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %2388 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2387, i32 0, i32 0 + store ptr %2386, ptr %2388, align 8 + %2389 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2387, i32 0, i32 1 + store i64 0, ptr %2389, align 4 + %2390 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2387, i32 0, i32 2 + store i64 0, ptr %2390, align 4 + %2391 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2387, align 8 + %2392 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %2393 = getelementptr ptr, ptr %2392, i64 0 + store ptr %2383, ptr %2393, align 8 + %2394 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %2395 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2394, i32 0, i32 0 store ptr %2392, ptr %2395, align 8 - %2396 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2393, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Uncommon", ptr %2396, align 8 - %2397 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2393, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Uncommon", ptr %2397, align 8 - %2398 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2393, align 8 - %2399 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2400 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2399, i32 0, i32 0 - store ptr @78, ptr %2400, align 8 - %2401 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2399, i32 0, i32 1 - store i64 8, ptr %2401, align 4 - %2402 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2399, align 8 - %2403 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %2404 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2405 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2404, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2402, ptr %2405, align 8 - %2406 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2404, i32 0, i32 1 - store ptr %2403, ptr %2406, align 8 - %2407 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2404, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Variadic", ptr %2407, align 8 - %2408 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2404, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Variadic", ptr %2408, align 8 - %2409 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2404, align 8 - %2410 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 920) - %2411 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %648, ptr %2411, align 8 - %2412 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %659, ptr %2412, align 8 - %2413 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %670, ptr %2413, align 8 - %2414 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 3 - store %"github.com/goplus/llgo/internal/abi.Method" %681, ptr %2414, align 8 - %2415 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 4 - store %"github.com/goplus/llgo/internal/abi.Method" %692, ptr %2415, align 8 - %2416 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 5 - store %"github.com/goplus/llgo/internal/abi.Method" %703, ptr %2416, align 8 - %2417 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 6 - store %"github.com/goplus/llgo/internal/abi.Method" %714, ptr %2417, align 8 - %2418 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 7 - store %"github.com/goplus/llgo/internal/abi.Method" %725, ptr %2418, align 8 - %2419 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 8 - store %"github.com/goplus/llgo/internal/abi.Method" %760, ptr %2419, align 8 - %2420 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 9 - store %"github.com/goplus/llgo/internal/abi.Method" %771, ptr %2420, align 8 - %2421 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 10 - store %"github.com/goplus/llgo/internal/abi.Method" %2277, ptr %2421, align 8 - %2422 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 11 - store %"github.com/goplus/llgo/internal/abi.Method" %2288, ptr %2422, align 8 - %2423 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 12 - store %"github.com/goplus/llgo/internal/abi.Method" %2299, ptr %2423, align 8 - %2424 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 13 - store %"github.com/goplus/llgo/internal/abi.Method" %2310, ptr %2424, align 8 - %2425 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 14 - store %"github.com/goplus/llgo/internal/abi.Method" %2321, ptr %2425, align 8 - %2426 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 15 - store %"github.com/goplus/llgo/internal/abi.Method" %2332, ptr %2426, align 8 - %2427 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 16 - store %"github.com/goplus/llgo/internal/abi.Method" %2343, ptr %2427, align 8 - %2428 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 17 - store %"github.com/goplus/llgo/internal/abi.Method" %2354, ptr %2428, align 8 - %2429 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 18 - store %"github.com/goplus/llgo/internal/abi.Method" %2365, ptr %2429, align 8 - %2430 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 19 - store %"github.com/goplus/llgo/internal/abi.Method" %2376, ptr %2430, align 8 - %2431 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 20 - store %"github.com/goplus/llgo/internal/abi.Method" %2387, ptr %2431, align 8 - %2432 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 21 - store %"github.com/goplus/llgo/internal/abi.Method" %2398, ptr %2432, align 8 - %2433 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2410, i64 22 - store %"github.com/goplus/llgo/internal/abi.Method" %2409, ptr %2433, align 8 - %2434 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %2435 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2434, i32 0, i32 0 - store ptr %2410, ptr %2435, align 8 - %2436 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2434, i32 0, i32 1 - store i64 23, ptr %2436, align 4 - %2437 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2434, i32 0, i32 2 - store i64 23, ptr %2437, align 4 - %2438 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2434, align 8 - %2439 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2440 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2439, i32 0, i32 0 - store ptr @31, ptr %2440, align 8 - %2441 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2439, i32 0, i32 1 - store i64 35, ptr %2441, align 4 - %2442 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2439, align 8 - %2443 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2444 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2443, i32 0, i32 0 - store ptr @36, ptr %2444, align 8 - %2445 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2443, i32 0, i32 1 - store i64 8, ptr %2445, align 4 - %2446 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2443, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %572, %"github.com/goplus/llgo/internal/runtime.String" %2442, %"github.com/goplus/llgo/internal/runtime.String" %2446, ptr %637, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %2438) - br label %_llgo_42 + %2396 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2394, i32 0, i32 1 + store i64 1, ptr %2396, align 4 + %2397 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2394, i32 0, i32 2 + store i64 1, ptr %2397, align 4 + %2398 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2394, align 8 + %2399 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %2391, %"github.com/goplus/llgo/internal/runtime.Slice" %2398, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2399) + store ptr %2399, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 + br label %_llgo_114 -_llgo_99: ; preds = %_llgo_42 - %2447 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %737) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2447) - store ptr %2447, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - br label %_llgo_100 +_llgo_114: ; preds = %_llgo_113, %_llgo_112 + %2400 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 + %2401 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2402 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2401, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2261, ptr %2402, align 8 + %2403 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2401, i32 0, i32 1 + store ptr %2400, ptr %2403, align 8 + %2404 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2401, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).MapType", ptr %2404, align 8 + %2405 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2401, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).MapType", ptr %2405, align 8 + %2406 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2401, align 8 + %2407 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2408 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2407, i32 0, i32 0 + store ptr @64, ptr %2408, align 8 + %2409 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2407, i32 0, i32 1 + store i64 13, ptr %2409, align 4 + %2410 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2407, align 8 + %2411 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %2412 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2413 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2412, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2410, ptr %2413, align 8 + %2414 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2412, i32 0, i32 1 + store ptr %2411, ptr %2414, align 8 + %2415 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2412, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NeedKeyUpdate", ptr %2415, align 8 + %2416 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2412, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NeedKeyUpdate", ptr %2416, align 8 + %2417 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2412, align 8 + %2418 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2419 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2418, i32 0, i32 0 + store ptr @65, ptr %2419, align 8 + %2420 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2418, i32 0, i32 1 + store i64 9, ptr %2420, align 4 + %2421 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2418, align 8 + %2422 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %2423 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2424 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2423, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2421, ptr %2424, align 8 + %2425 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2423, i32 0, i32 1 + store ptr %2422, ptr %2425, align 8 + %2426 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2423, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NumMethod", ptr %2426, align 8 + %2427 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2423, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).NumMethod", ptr %2427, align 8 + %2428 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2423, align 8 + %2429 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2430 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2429, i32 0, i32 0 + store ptr @66, ptr %2430, align 8 + %2431 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2429, i32 0, i32 1 + store i64 8, ptr %2431, align 4 + %2432 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2429, align 8 + %2433 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %2434 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2435 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2434, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2432, ptr %2435, align 8 + %2436 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2434, i32 0, i32 1 + store ptr %2433, ptr %2436, align 8 + %2437 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2434, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Pointers", ptr %2437, align 8 + %2438 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2434, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Pointers", ptr %2438, align 8 + %2439 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2434, align 8 + %2440 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2441 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2440, i32 0, i32 0 + store ptr @67, ptr %2441, align 8 + %2442 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2440, i32 0, i32 1 + store i64 12, ptr %2442, align 4 + %2443 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2440, align 8 + %2444 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %2445 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2446 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2445, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2443, ptr %2446, align 8 + %2447 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2445, i32 0, i32 1 + store ptr %2444, ptr %2447, align 8 + %2448 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2445, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ReflexiveKey", ptr %2448, align 8 + %2449 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2445, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).ReflexiveKey", ptr %2449, align 8 + %2450 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2445, align 8 + %2451 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2452 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2451, i32 0, i32 0 + store ptr @68, ptr %2452, align 8 + %2453 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2451, i32 0, i32 1 + store i64 4, ptr %2453, align 4 + %2454 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2451, align 8 + %2455 = load ptr, ptr @_llgo_uintptr, align 8 + %2456 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 + %2457 = icmp eq ptr %2456, null + br i1 %2457, label %_llgo_115, label %_llgo_116 -_llgo_100: ; preds = %_llgo_99, %_llgo_42 - %2448 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 - %2449 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %2450 = icmp eq ptr %2449, null - br i1 %2450, label %_llgo_101, label %_llgo_102 - -_llgo_101: ; preds = %_llgo_100 - %2451 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %2452 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %2453 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2452, i32 0, i32 0 - store ptr %2451, ptr %2453, align 8 - %2454 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2452, i32 0, i32 1 - store i64 0, ptr %2454, align 4 - %2455 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2452, i32 0, i32 2 - store i64 0, ptr %2455, align 4 - %2456 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2452, align 8 - %2457 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %2458 = getelementptr ptr, ptr %2457, i64 0 - store ptr %2448, ptr %2458, align 8 +_llgo_115: ; preds = %_llgo_114 + %2458 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) %2459 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 %2460 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2459, i32 0, i32 0 - store ptr %2457, ptr %2460, align 8 + store ptr %2458, ptr %2460, align 8 %2461 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2459, i32 0, i32 1 - store i64 1, ptr %2461, align 4 + store i64 0, ptr %2461, align 4 %2462 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2459, i32 0, i32 2 - store i64 1, ptr %2462, align 4 + store i64 0, ptr %2462, align 4 %2463 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2459, align 8 - %2464 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %2456, %"github.com/goplus/llgo/internal/runtime.Slice" %2463, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2464) - store ptr %2464, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - br label %_llgo_102 + %2464 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %2465 = getelementptr ptr, ptr %2464, i64 0 + store ptr %2455, ptr %2465, align 8 + %2466 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %2467 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2466, i32 0, i32 0 + store ptr %2464, ptr %2467, align 8 + %2468 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2466, i32 0, i32 1 + store i64 1, ptr %2468, align 4 + %2469 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2466, i32 0, i32 2 + store i64 1, ptr %2469, align 4 + %2470 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2466, align 8 + %2471 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %2463, %"github.com/goplus/llgo/internal/runtime.Slice" %2470, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2471) + store ptr %2471, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 + br label %_llgo_116 -_llgo_102: ; preds = %_llgo_101, %_llgo_100 - %2465 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %2466 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2467 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2466, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %567, ptr %2467, align 8 - %2468 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2466, i32 0, i32 1 - store ptr %2465, ptr %2468, align 8 - %2469 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2466, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FuncType", ptr %2469, align 8 - %2470 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2466, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FuncType", ptr %2470, align 8 - %2471 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2466, align 8 - %2472 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2473 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2472, i32 0, i32 0 - store ptr @40, ptr %2473, align 8 - %2474 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2472, i32 0, i32 1 - store i64 7, ptr %2474, align 4 - %2475 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2472, align 8 - %2476 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %2477 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2478 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2477, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2475, ptr %2478, align 8 - %2479 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2477, i32 0, i32 1 - store ptr %2476, ptr %2479, align 8 - %2480 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2477, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).HasName", ptr %2480, align 8 - %2481 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2477, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).HasName", ptr %2481, align 8 - %2482 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2477, align 8 - %2483 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2484 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2483, i32 0, i32 0 - store ptr @41, ptr %2484, align 8 - %2485 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2483, i32 0, i32 1 - store i64 10, ptr %2485, align 4 - %2486 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2483, align 8 - %2487 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %2488 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2489 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2488, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2486, ptr %2489, align 8 - %2490 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2488, i32 0, i32 1 - store ptr %2487, ptr %2490, align 8 - %2491 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2488, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IfaceIndir", ptr %2491, align 8 - %2492 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2488, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IfaceIndir", ptr %2492, align 8 - %2493 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2488, align 8 +_llgo_116: ; preds = %_llgo_115, %_llgo_114 + %2472 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 + %2473 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2474 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2473, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2454, ptr %2474, align 8 + %2475 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2473, i32 0, i32 1 + store ptr %2472, ptr %2475, align 8 + %2476 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2473, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Size", ptr %2476, align 8 + %2477 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2473, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Size", ptr %2477, align 8 + %2478 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2473, align 8 + %2479 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2480 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2479, i32 0, i32 0 + store ptr @52, ptr %2480, align 8 + %2481 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2479, i32 0, i32 1 + store i64 6, ptr %2481, align 4 + %2482 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2479, align 8 + %2483 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %2484 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2485 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2484, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2482, ptr %2485, align 8 + %2486 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2484, i32 0, i32 1 + store ptr %2483, ptr %2486, align 8 + %2487 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2484, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).String", ptr %2487, align 8 + %2488 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2484, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).String", ptr %2488, align 8 + %2489 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2484, align 8 + %2490 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2491 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2490, i32 0, i32 0 + store ptr @69, ptr %2491, align 8 + %2492 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2490, i32 0, i32 1 + store i64 10, ptr %2492, align 4 + %2493 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2490, align 8 %2494 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %2495 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2494, i32 0, i32 0 - store ptr @42, ptr %2495, align 8 + store ptr @70, ptr %2495, align 8 %2496 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2494, i32 0, i32 1 - store i64 13, ptr %2496, align 4 + store i64 46, ptr %2496, align 4 %2497 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2494, align 8 - %2498 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %2499 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2500 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2499, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2497, ptr %2500, align 8 - %2501 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2499, i32 0, i32 1 - store ptr %2498, ptr %2501, align 8 - %2502 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2499, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).InterfaceType", ptr %2502, align 8 - %2503 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2499, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).InterfaceType", ptr %2503, align 8 - %2504 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2499, align 8 - %2505 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2506 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2505, i32 0, i32 0 - store ptr @47, ptr %2506, align 8 - %2507 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2505, i32 0, i32 1 - store i64 13, ptr %2507, align 4 - %2508 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2505, align 8 - %2509 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %2510 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2511 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2510, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2508, ptr %2511, align 8 - %2512 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2510, i32 0, i32 1 - store ptr %2509, ptr %2512, align 8 - %2513 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2510, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IsDirectIface", ptr %2513, align 8 - %2514 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2510, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IsDirectIface", ptr %2514, align 8 - %2515 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2510, align 8 + %2498 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %2497, i64 25, i64 120, i64 0, i64 22) + %2499 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %2500 = icmp eq ptr %2499, null + br i1 %2500, label %_llgo_117, label %_llgo_118 + +_llgo_117: ; preds = %_llgo_116 + store ptr %2498, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + br label %_llgo_118 + +_llgo_118: ; preds = %_llgo_117, %_llgo_116 + %2501 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2502 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2501, i32 0, i32 0 + store ptr @71, ptr %2502, align 8 + %2503 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2501, i32 0, i32 1 + store i64 47, ptr %2503, align 4 + %2504 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2501, align 8 + %2505 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %2504, i64 25, i64 56, i64 0, i64 2) + %2506 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 + %2507 = icmp eq ptr %2506, null + br i1 %2507, label %_llgo_119, label %_llgo_120 + +_llgo_119: ; preds = %_llgo_118 + store ptr %2505, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 + br label %_llgo_120 + +_llgo_120: ; preds = %_llgo_119, %_llgo_118 + %2508 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %2509 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2510 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2509, i32 0, i32 0 + store ptr @1, ptr %2510, align 8 + %2511 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2509, i32 0, i32 1 + store i64 40, ptr %2511, align 4 + %2512 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2509, align 8 + %2513 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %2512, i64 25, i64 80, i64 0, i64 22) + %2514 = load ptr, ptr @"_llgo_struct$GYlWrg0B_axMyyq9xClGPKuTjurG0iQMRoz8Me1fQig", align 8 + %2515 = icmp eq ptr %2514, null + br i1 %2515, label %_llgo_121, label %_llgo_122 + +_llgo_121: ; preds = %_llgo_120 %2516 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %2517 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2516, i32 0, i32 0 - store ptr @48, ptr %2517, align 8 + store ptr @40, ptr %2517, align 8 %2518 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2516, i32 0, i32 1 - store i64 3, ptr %2518, align 4 + store i64 5, ptr %2518, align 4 %2519 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2516, align 8 - %2520 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %2521 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2522 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2521, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2519, ptr %2522, align 8 - %2523 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2521, i32 0, i32 1 - store ptr %2520, ptr %2523, align 8 - %2524 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2521, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Key", ptr %2524, align 8 - %2525 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2521, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Key", ptr %2525, align 8 - %2526 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2521, align 8 - %2527 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2528 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2527, i32 0, i32 0 - store ptr @49, ptr %2528, align 8 - %2529 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2527, i32 0, i32 1 - store i64 4, ptr %2529, align 4 - %2530 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2527, align 8 - %2531 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %2532 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2533 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2532, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2530, ptr %2533, align 8 - %2534 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2532, i32 0, i32 1 - store ptr %2531, ptr %2534, align 8 - %2535 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2532, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Kind", ptr %2535, align 8 - %2536 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2532, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Kind", ptr %2536, align 8 - %2537 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2532, align 8 - %2538 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2539 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2538, i32 0, i32 0 - store ptr @52, ptr %2539, align 8 - %2540 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2538, i32 0, i32 1 - store i64 7, ptr %2540, align 4 - %2541 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2538, align 8 - %2542 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %2543 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2544 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2543, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2541, ptr %2544, align 8 - %2545 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2543, i32 0, i32 1 - store ptr %2542, ptr %2545, align 8 - %2546 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2543, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).MapType", ptr %2546, align 8 - %2547 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2543, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).MapType", ptr %2547, align 8 - %2548 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2543, align 8 - %2549 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2550 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2549, i32 0, i32 0 - store ptr @64, ptr %2550, align 8 - %2551 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2549, i32 0, i32 1 - store i64 9, ptr %2551, align 4 - %2552 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2549, align 8 - %2553 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %2554 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2555 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2554, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2552, ptr %2555, align 8 - %2556 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2554, i32 0, i32 1 - store ptr %2553, ptr %2556, align 8 - %2557 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2554, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).NumMethod", ptr %2557, align 8 - %2558 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2554, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).NumMethod", ptr %2558, align 8 - %2559 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2554, align 8 + %2520 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2521 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2520, i32 0, i32 0 + store ptr null, ptr %2521, align 8 + %2522 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2520, i32 0, i32 1 + store i64 0, ptr %2522, align 4 + %2523 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2520, align 8 + %2524 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %2525 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %2519, ptr %2524, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %2523, i1 false) + %2526 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2527 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2526, i32 0, i32 0 + store ptr @72, ptr %2527, align 8 + %2528 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2526, i32 0, i32 1 + store i64 3, ptr %2528, align 4 + %2529 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2526, align 8 + %2530 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2531 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2530, i32 0, i32 0 + store ptr null, ptr %2531, align 8 + %2532 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2530, i32 0, i32 1 + store i64 0, ptr %2532, align 4 + %2533 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2530, align 8 + %2534 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %2513) + %2535 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %2529, ptr %2534, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %2533, i1 false) + %2536 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2537 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2536, i32 0, i32 0 + store ptr @73, ptr %2537, align 8 + %2538 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2536, i32 0, i32 1 + store i64 6, ptr %2538, align 4 + %2539 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2536, align 8 + %2540 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2541 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2540, i32 0, i32 0 + store ptr null, ptr %2541, align 8 + %2542 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2540, i32 0, i32 1 + store i64 0, ptr %2542, align 4 + %2543 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2540, align 8 + %2544 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) + %2545 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %2539, ptr %2544, i64 24, %"github.com/goplus/llgo/internal/runtime.String" %2543, i1 false) + %2546 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2547 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2546, i32 0, i32 0 + store ptr @74, ptr %2547, align 8 + %2548 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2546, i32 0, i32 1 + store i64 4, ptr %2548, align 4 + %2549 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2546, align 8 + %2550 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2551 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2550, i32 0, i32 0 + store ptr null, ptr %2551, align 8 + %2552 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2550, i32 0, i32 1 + store i64 0, ptr %2552, align 4 + %2553 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2550, align 8 + %2554 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %2555 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %2549, ptr %2554, i64 32, %"github.com/goplus/llgo/internal/runtime.String" %2553, i1 false) + %2556 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2557 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2556, i32 0, i32 0 + store ptr @75, ptr %2557, align 8 + %2558 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2556, i32 0, i32 1 + store i64 9, ptr %2558, align 4 + %2559 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2556, align 8 %2560 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %2561 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2560, i32 0, i32 0 - store ptr @65, ptr %2561, align 8 + store ptr null, ptr %2561, align 8 %2562 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2560, i32 0, i32 1 - store i64 8, ptr %2562, align 4 + store i64 0, ptr %2562, align 4 %2563 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2560, align 8 - %2564 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %2565 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2566 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2565, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2563, ptr %2566, align 8 - %2567 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2565, i32 0, i32 1 - store ptr %2564, ptr %2567, align 8 - %2568 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2565, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Pointers", ptr %2568, align 8 - %2569 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2565, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Pointers", ptr %2569, align 8 - %2570 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2565, align 8 - %2571 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2572 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2571, i32 0, i32 0 - store ptr @67, ptr %2572, align 8 - %2573 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2571, i32 0, i32 1 - store i64 4, ptr %2573, align 4 - %2574 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2571, align 8 - %2575 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %2576 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2577 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2576, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2574, ptr %2577, align 8 - %2578 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2576, i32 0, i32 1 - store ptr %2575, ptr %2578, align 8 - %2579 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2576, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Size", ptr %2579, align 8 - %2580 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2576, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Size", ptr %2580, align 8 - %2581 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2576, align 8 - %2582 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2583 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2582, i32 0, i32 0 - store ptr @51, ptr %2583, align 8 - %2584 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2582, i32 0, i32 1 - store i64 6, ptr %2584, align 4 - %2585 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2582, align 8 - %2586 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %2587 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2588 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2587, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2585, ptr %2588, align 8 - %2589 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2587, i32 0, i32 1 - store ptr %2586, ptr %2589, align 8 - %2590 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2587, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).String", ptr %2590, align 8 - %2591 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2587, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).String", ptr %2591, align 8 - %2592 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2587, align 8 - %2593 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2594 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2593, i32 0, i32 0 - store ptr @68, ptr %2594, align 8 - %2595 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2593, i32 0, i32 1 - store i64 10, ptr %2595, align 4 - %2596 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2593, align 8 - %2597 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %2598 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2599 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2598, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2596, ptr %2599, align 8 - %2600 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2598, i32 0, i32 1 - store ptr %2597, ptr %2600, align 8 - %2601 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2598, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).StructType", ptr %2601, align 8 - %2602 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2598, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).StructType", ptr %2602, align 8 - %2603 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2598, align 8 - %2604 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2605 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2604, i32 0, i32 0 - store ptr @72, ptr %2605, align 8 - %2606 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2604, i32 0, i32 1 - store i64 8, ptr %2606, align 4 - %2607 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2604, align 8 - %2608 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %2609 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2610 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2609, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2607, ptr %2610, align 8 - %2611 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2609, i32 0, i32 1 - store ptr %2608, ptr %2611, align 8 - %2612 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2609, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Uncommon", ptr %2612, align 8 - %2613 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2609, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Uncommon", ptr %2613, align 8 - %2614 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2609, align 8 - %2615 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 800) - %2616 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %418, ptr %2616, align 8 - %2617 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %429, ptr %2617, align 8 - %2618 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %480, ptr %2618, align 8 - %2619 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 3 - store %"github.com/goplus/llgo/internal/abi.Method" %516, ptr %2619, align 8 - %2620 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 4 - store %"github.com/goplus/llgo/internal/abi.Method" %552, ptr %2620, align 8 - %2621 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 5 - store %"github.com/goplus/llgo/internal/abi.Method" %563, ptr %2621, align 8 - %2622 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 6 - store %"github.com/goplus/llgo/internal/abi.Method" %2471, ptr %2622, align 8 - %2623 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 7 - store %"github.com/goplus/llgo/internal/abi.Method" %2482, ptr %2623, align 8 - %2624 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 8 - store %"github.com/goplus/llgo/internal/abi.Method" %2493, ptr %2624, align 8 - %2625 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 9 - store %"github.com/goplus/llgo/internal/abi.Method" %2504, ptr %2625, align 8 - %2626 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 10 - store %"github.com/goplus/llgo/internal/abi.Method" %2515, ptr %2626, align 8 - %2627 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 11 - store %"github.com/goplus/llgo/internal/abi.Method" %2526, ptr %2627, align 8 - %2628 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 12 - store %"github.com/goplus/llgo/internal/abi.Method" %2537, ptr %2628, align 8 - %2629 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 13 - store %"github.com/goplus/llgo/internal/abi.Method" %2548, ptr %2629, align 8 - %2630 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 14 - store %"github.com/goplus/llgo/internal/abi.Method" %2559, ptr %2630, align 8 - %2631 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 15 - store %"github.com/goplus/llgo/internal/abi.Method" %2570, ptr %2631, align 8 - %2632 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 16 - store %"github.com/goplus/llgo/internal/abi.Method" %2581, ptr %2632, align 8 - %2633 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 17 - store %"github.com/goplus/llgo/internal/abi.Method" %2592, ptr %2633, align 8 - %2634 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 18 - store %"github.com/goplus/llgo/internal/abi.Method" %2603, ptr %2634, align 8 - %2635 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2615, i64 19 - store %"github.com/goplus/llgo/internal/abi.Method" %2614, ptr %2635, align 8 - %2636 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %2637 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2636, i32 0, i32 0 - store ptr %2615, ptr %2637, align 8 - %2638 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2636, i32 0, i32 1 - store i64 20, ptr %2638, align 4 - %2639 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2636, i32 0, i32 2 - store i64 20, ptr %2639, align 4 - %2640 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2636, align 8 - %2641 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2642 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2641, i32 0, i32 0 - store ptr @31, ptr %2642, align 8 - %2643 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2641, i32 0, i32 1 - store i64 35, ptr %2643, align 4 - %2644 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2641, align 8 - %2645 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2646 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2645, i32 0, i32 0 - store ptr @23, ptr %2646, align 8 - %2647 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2645, i32 0, i32 1 - store i64 9, ptr %2647, align 4 - %2648 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2645, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %333, %"github.com/goplus/llgo/internal/runtime.String" %2644, %"github.com/goplus/llgo/internal/runtime.String" %2648, ptr %407, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %2640) - br label %_llgo_22 + %2564 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 33) + %2565 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %2559, ptr %2564, i64 48, %"github.com/goplus/llgo/internal/runtime.String" %2563, i1 false) + %2566 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2567 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2566, i32 0, i32 0 + store ptr @7, ptr %2567, align 8 + %2568 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2566, i32 0, i32 1 + store i64 4, ptr %2568, align 4 + %2569 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2566, align 8 + %2570 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 280) + %2571 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2570, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %2525, ptr %2571, align 8 + %2572 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2570, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %2535, ptr %2572, align 8 + %2573 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2570, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %2545, ptr %2573, align 8 + %2574 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2570, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %2555, ptr %2574, align 8 + %2575 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2570, i64 4 + store %"github.com/goplus/llgo/internal/abi.StructField" %2565, ptr %2575, align 8 + %2576 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %2577 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2576, i32 0, i32 0 + store ptr %2570, ptr %2577, align 8 + %2578 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2576, i32 0, i32 1 + store i64 5, ptr %2578, align 4 + %2579 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2576, i32 0, i32 2 + store i64 5, ptr %2579, align 4 + %2580 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2576, align 8 + %2581 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %2569, i64 56, %"github.com/goplus/llgo/internal/runtime.Slice" %2580) + store ptr %2581, ptr @"_llgo_struct$GYlWrg0B_axMyyq9xClGPKuTjurG0iQMRoz8Me1fQig", align 8 + br label %_llgo_122 -_llgo_103: ; preds = %_llgo_22 - %2649 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %445) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2649) - store ptr %2649, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 - br label %_llgo_104 +_llgo_122: ; preds = %_llgo_121, %_llgo_120 + %2582 = load ptr, ptr @"_llgo_struct$GYlWrg0B_axMyyq9xClGPKuTjurG0iQMRoz8Me1fQig", align 8 + br i1 %2507, label %_llgo_123, label %_llgo_124 -_llgo_104: ; preds = %_llgo_103, %_llgo_22 - %2650 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 - %2651 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %2652 = icmp eq ptr %2651, null - br i1 %2652, label %_llgo_105, label %_llgo_106 +_llgo_123: ; preds = %_llgo_122 + %2583 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2584 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2583, i32 0, i32 0 + store ptr @76, ptr %2584, align 8 + %2585 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2583, i32 0, i32 1 + store i64 8, ptr %2585, align 4 + %2586 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2583, align 8 + %2587 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %2588 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2589 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2588, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2586, ptr %2589, align 8 + %2590 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2588, i32 0, i32 1 + store ptr %2587, ptr %2590, align 8 + %2591 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2588, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructField).Embedded", ptr %2591, align 8 + %2592 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2588, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructField).Embedded", ptr %2592, align 8 + %2593 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2588, align 8 + %2594 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2595 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2594, i32 0, i32 0 + store ptr @42, ptr %2595, align 8 + %2596 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2594, i32 0, i32 1 + store i64 8, ptr %2596, align 4 + %2597 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2594, align 8 + %2598 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %2599 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2600 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2599, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2597, ptr %2600, align 8 + %2601 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2599, i32 0, i32 1 + store ptr %2598, ptr %2601, align 8 + %2602 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2599, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructField).Exported", ptr %2602, align 8 + %2603 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2599, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructField).Exported", ptr %2603, align 8 + %2604 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2599, align 8 + %2605 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) + %2606 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2605, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %2593, ptr %2606, align 8 + %2607 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2605, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %2604, ptr %2607, align 8 + %2608 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %2609 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2608, i32 0, i32 0 + store ptr %2605, ptr %2609, align 8 + %2610 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2608, i32 0, i32 1 + store i64 2, ptr %2610, align 4 + %2611 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2608, i32 0, i32 2 + store i64 2, ptr %2611, align 4 + %2612 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2608, align 8 + %2613 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2614 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2613, i32 0, i32 0 + store ptr @3, ptr %2614, align 8 + %2615 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2613, i32 0, i32 1 + store i64 35, ptr %2615, align 4 + %2616 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2613, align 8 + %2617 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2618 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2617, i32 0, i32 0 + store ptr @77, ptr %2618, align 8 + %2619 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2617, i32 0, i32 1 + store i64 11, ptr %2619, align 4 + %2620 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2617, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %2505, %"github.com/goplus/llgo/internal/runtime.String" %2616, %"github.com/goplus/llgo/internal/runtime.String" %2620, ptr %2582, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %2612) + br label %_llgo_124 -_llgo_105: ; preds = %_llgo_104 - %2653 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %2654 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %2655 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2654, i32 0, i32 0 - store ptr %2653, ptr %2655, align 8 - %2656 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2654, i32 0, i32 1 - store i64 0, ptr %2656, align 4 - %2657 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2654, i32 0, i32 2 - store i64 0, ptr %2657, align 4 - %2658 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2654, align 8 - %2659 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %2660 = getelementptr ptr, ptr %2659, i64 0 - store ptr %2650, ptr %2660, align 8 - %2661 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %2662 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2661, i32 0, i32 0 - store ptr %2659, ptr %2662, align 8 - %2663 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2661, i32 0, i32 1 - store i64 1, ptr %2663, align 4 - %2664 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2661, i32 0, i32 2 - store i64 1, ptr %2664, align 4 - %2665 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2661, align 8 - %2666 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %2658, %"github.com/goplus/llgo/internal/runtime.Slice" %2665, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2666) - store ptr %2666, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - br label %_llgo_106 +_llgo_124: ; preds = %_llgo_123, %_llgo_122 + %2621 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 + %2622 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2623 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2622, i32 0, i32 0 + store ptr @71, ptr %2623, align 8 + %2624 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2622, i32 0, i32 1 + store i64 47, ptr %2624, align 4 + %2625 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2622, align 8 + %2626 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %2625, i64 25, i64 56, i64 0, i64 2) + %2627 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 + %2628 = icmp eq ptr %2627, null + br i1 %2628, label %_llgo_125, label %_llgo_126 -_llgo_106: ; preds = %_llgo_105, %_llgo_104 - %2667 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 - %2668 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2669 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2668, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %328, ptr %2669, align 8 - %2670 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2668, i32 0, i32 1 - store ptr %2667, ptr %2670, align 8 - %2671 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2668, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).ArrayType", ptr %2671, align 8 - %2672 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2668, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).ArrayType", ptr %2672, align 8 - %2673 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2668, align 8 - %2674 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2675 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2674, i32 0, i32 0 - store ptr @29, ptr %2675, align 8 - %2676 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2674, i32 0, i32 1 - store i64 7, ptr %2676, align 4 - %2677 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2674, align 8 - %2678 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 - %2679 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2680 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2679, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2677, ptr %2680, align 8 - %2681 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2679, i32 0, i32 1 - store ptr %2678, ptr %2681, align 8 - %2682 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2679, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).ChanDir", ptr %2682, align 8 - %2683 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2679, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).ChanDir", ptr %2683, align 8 - %2684 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2679, align 8 - %2685 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2686 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2685, i32 0, i32 0 - store ptr @32, ptr %2686, align 8 - %2687 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2685, i32 0, i32 1 - store i64 6, ptr %2687, align 4 - %2688 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2685, align 8 - %2689 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %2690 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2691 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2690, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2688, ptr %2691, align 8 - %2692 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2690, i32 0, i32 1 - store ptr %2689, ptr %2692, align 8 - %2693 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2690, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Common", ptr %2693, align 8 - %2694 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2690, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Common", ptr %2694, align 8 - %2695 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2690, align 8 - %2696 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2697 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2696, i32 0, i32 0 - store ptr @26, ptr %2697, align 8 - %2698 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2696, i32 0, i32 1 - store i64 4, ptr %2698, align 4 - %2699 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2696, align 8 - %2700 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %2701 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2702 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2701, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2699, ptr %2702, align 8 - %2703 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2701, i32 0, i32 1 - store ptr %2700, ptr %2703, align 8 - %2704 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2701, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Elem", ptr %2704, align 8 - %2705 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2701, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Elem", ptr %2705, align 8 - %2706 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2701, align 8 - %2707 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2708 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2707, i32 0, i32 0 - store ptr @33, ptr %2708, align 8 - %2709 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2707, i32 0, i32 1 - store i64 15, ptr %2709, align 4 - %2710 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2707, align 8 - %2711 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 - %2712 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2713 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2712, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2710, ptr %2713, align 8 - %2714 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2712, i32 0, i32 1 - store ptr %2711, ptr %2714, align 8 - %2715 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2712, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).ExportedMethods", ptr %2715, align 8 - %2716 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2712, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).ExportedMethods", ptr %2716, align 8 - %2717 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2712, align 8 - %2718 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2719 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2718, i32 0, i32 0 - store ptr @35, ptr %2719, align 8 - %2720 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2718, i32 0, i32 1 - store i64 10, ptr %2720, align 4 - %2721 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2718, align 8 - %2722 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %2723 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2724 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2723, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2721, ptr %2724, align 8 - %2725 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2723, i32 0, i32 1 - store ptr %2722, ptr %2725, align 8 - %2726 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2723, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).FieldAlign", ptr %2726, align 8 - %2727 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2723, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).FieldAlign", ptr %2727, align 8 - %2728 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2723, align 8 - %2729 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2730 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2729, i32 0, i32 0 - store ptr @36, ptr %2730, align 8 - %2731 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2729, i32 0, i32 1 - store i64 8, ptr %2731, align 4 - %2732 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2729, align 8 - %2733 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 - %2734 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2735 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2734, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2732, ptr %2735, align 8 - %2736 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2734, i32 0, i32 1 - store ptr %2733, ptr %2736, align 8 - %2737 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2734, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).FuncType", ptr %2737, align 8 - %2738 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2734, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).FuncType", ptr %2738, align 8 - %2739 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2734, align 8 - %2740 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2741 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2740, i32 0, i32 0 - store ptr @40, ptr %2741, align 8 - %2742 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2740, i32 0, i32 1 - store i64 7, ptr %2742, align 4 - %2743 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2740, align 8 - %2744 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %2745 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2746 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2745, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2743, ptr %2746, align 8 - %2747 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2745, i32 0, i32 1 - store ptr %2744, ptr %2747, align 8 - %2748 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2745, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).HasName", ptr %2748, align 8 - %2749 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2745, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).HasName", ptr %2749, align 8 - %2750 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2745, align 8 - %2751 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2752 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2751, i32 0, i32 0 - store ptr @41, ptr %2752, align 8 - %2753 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2751, i32 0, i32 1 - store i64 10, ptr %2753, align 4 - %2754 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2751, align 8 - %2755 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %2756 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2757 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2756, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2754, ptr %2757, align 8 - %2758 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2756, i32 0, i32 1 - store ptr %2755, ptr %2758, align 8 - %2759 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2756, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).IfaceIndir", ptr %2759, align 8 - %2760 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2756, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).IfaceIndir", ptr %2760, align 8 - %2761 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2756, align 8 - %2762 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2763 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2762, i32 0, i32 0 - store ptr @42, ptr %2763, align 8 - %2764 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2762, i32 0, i32 1 - store i64 13, ptr %2764, align 4 - %2765 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2762, align 8 - %2766 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 - %2767 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2768 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2767, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2765, ptr %2768, align 8 - %2769 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2767, i32 0, i32 1 - store ptr %2766, ptr %2769, align 8 - %2770 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2767, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).InterfaceType", ptr %2770, align 8 - %2771 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2767, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).InterfaceType", ptr %2771, align 8 - %2772 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2767, align 8 - %2773 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2774 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2773, i32 0, i32 0 - store ptr @47, ptr %2774, align 8 - %2775 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2773, i32 0, i32 1 - store i64 13, ptr %2775, align 4 - %2776 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2773, align 8 - %2777 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %2778 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2779 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2778, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2776, ptr %2779, align 8 - %2780 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2778, i32 0, i32 1 - store ptr %2777, ptr %2780, align 8 - %2781 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2778, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).IsDirectIface", ptr %2781, align 8 - %2782 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2778, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).IsDirectIface", ptr %2782, align 8 - %2783 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2778, align 8 - %2784 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2785 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2784, i32 0, i32 0 - store ptr @48, ptr %2785, align 8 - %2786 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2784, i32 0, i32 1 - store i64 3, ptr %2786, align 4 - %2787 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2784, align 8 - %2788 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 - %2789 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2790 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2789, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2787, ptr %2790, align 8 - %2791 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2789, i32 0, i32 1 - store ptr %2788, ptr %2791, align 8 - %2792 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2789, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Key", ptr %2792, align 8 - %2793 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2789, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Key", ptr %2793, align 8 - %2794 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2789, align 8 - %2795 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2796 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2795, i32 0, i32 0 - store ptr @49, ptr %2796, align 8 - %2797 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2795, i32 0, i32 1 - store i64 4, ptr %2797, align 4 - %2798 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2795, align 8 - %2799 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 - %2800 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2801 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2800, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2798, ptr %2801, align 8 - %2802 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2800, i32 0, i32 1 - store ptr %2799, ptr %2802, align 8 - %2803 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2800, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Kind", ptr %2803, align 8 - %2804 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2800, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Kind", ptr %2804, align 8 - %2805 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2800, align 8 - %2806 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2807 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2806, i32 0, i32 0 - store ptr @28, ptr %2807, align 8 - %2808 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2806, i32 0, i32 1 - store i64 3, ptr %2808, align 4 - %2809 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2806, align 8 - %2810 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %2811 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2812 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2811, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2809, ptr %2812, align 8 - %2813 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2811, i32 0, i32 1 - store ptr %2810, ptr %2813, align 8 - %2814 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2811, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Len", ptr %2814, align 8 - %2815 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2811, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Len", ptr %2815, align 8 - %2816 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2811, align 8 - %2817 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2818 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2817, i32 0, i32 0 - store ptr @52, ptr %2818, align 8 - %2819 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2817, i32 0, i32 1 - store i64 7, ptr %2819, align 4 - %2820 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2817, align 8 - %2821 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 - %2822 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2823 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2822, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2820, ptr %2823, align 8 - %2824 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2822, i32 0, i32 1 - store ptr %2821, ptr %2824, align 8 - %2825 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2822, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).MapType", ptr %2825, align 8 - %2826 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2822, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).MapType", ptr %2826, align 8 - %2827 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2822, align 8 - %2828 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2829 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2828, i32 0, i32 0 - store ptr @64, ptr %2829, align 8 - %2830 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2828, i32 0, i32 1 - store i64 9, ptr %2830, align 4 - %2831 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2828, align 8 - %2832 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 - %2833 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2834 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2833, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2831, ptr %2834, align 8 - %2835 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2833, i32 0, i32 1 - store ptr %2832, ptr %2835, align 8 - %2836 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2833, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).NumMethod", ptr %2836, align 8 - %2837 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2833, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).NumMethod", ptr %2837, align 8 - %2838 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2833, align 8 - %2839 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2840 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2839, i32 0, i32 0 - store ptr @65, ptr %2840, align 8 - %2841 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2839, i32 0, i32 1 - store i64 8, ptr %2841, align 4 - %2842 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2839, align 8 - %2843 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 - %2844 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2845 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2844, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2842, ptr %2845, align 8 - %2846 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2844, i32 0, i32 1 - store ptr %2843, ptr %2846, align 8 - %2847 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2844, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Pointers", ptr %2847, align 8 - %2848 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2844, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Pointers", ptr %2848, align 8 - %2849 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2844, align 8 - %2850 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2851 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2850, i32 0, i32 0 - store ptr @67, ptr %2851, align 8 - %2852 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2850, i32 0, i32 1 - store i64 4, ptr %2852, align 4 - %2853 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2850, align 8 - %2854 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 - %2855 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2856 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2855, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2853, ptr %2856, align 8 - %2857 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2855, i32 0, i32 1 - store ptr %2854, ptr %2857, align 8 - %2858 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2855, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Size", ptr %2858, align 8 - %2859 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2855, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Size", ptr %2859, align 8 - %2860 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2855, align 8 - %2861 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2862 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2861, i32 0, i32 0 - store ptr @51, ptr %2862, align 8 - %2863 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2861, i32 0, i32 1 - store i64 6, ptr %2863, align 4 - %2864 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2861, align 8 - %2865 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %2866 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2867 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2866, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2864, ptr %2867, align 8 - %2868 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2866, i32 0, i32 1 - store ptr %2865, ptr %2868, align 8 - %2869 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2866, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).String", ptr %2869, align 8 - %2870 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2866, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).String", ptr %2870, align 8 - %2871 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2866, align 8 - %2872 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2873 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2872, i32 0, i32 0 - store ptr @68, ptr %2873, align 8 - %2874 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2872, i32 0, i32 1 - store i64 10, ptr %2874, align 4 - %2875 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2872, align 8 - %2876 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 - %2877 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2878 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2877, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2875, ptr %2878, align 8 - %2879 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2877, i32 0, i32 1 - store ptr %2876, ptr %2879, align 8 - %2880 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2877, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).StructType", ptr %2880, align 8 - %2881 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2877, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).StructType", ptr %2881, align 8 - %2882 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2877, align 8 - %2883 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2884 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2883, i32 0, i32 0 - store ptr @72, ptr %2884, align 8 - %2885 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2883, i32 0, i32 1 - store i64 8, ptr %2885, align 4 - %2886 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2883, align 8 - %2887 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 - %2888 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %2889 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2888, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %2886, ptr %2889, align 8 - %2890 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2888, i32 0, i32 1 - store ptr %2887, ptr %2890, align 8 - %2891 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2888, i32 0, i32 2 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Uncommon", ptr %2891, align 8 - %2892 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2888, i32 0, i32 3 - store ptr @"github.com/goplus/llgo/internal/abi.(*Type).Uncommon", ptr %2892, align 8 - %2893 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2888, align 8 - %2894 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 880) - %2895 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %324, ptr %2895, align 8 - %2896 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %2673, ptr %2896, align 8 - %2897 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 2 - store %"github.com/goplus/llgo/internal/abi.Method" %2684, ptr %2897, align 8 - %2898 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 3 - store %"github.com/goplus/llgo/internal/abi.Method" %2695, ptr %2898, align 8 - %2899 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 4 - store %"github.com/goplus/llgo/internal/abi.Method" %2706, ptr %2899, align 8 - %2900 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 5 - store %"github.com/goplus/llgo/internal/abi.Method" %2717, ptr %2900, align 8 - %2901 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 6 - store %"github.com/goplus/llgo/internal/abi.Method" %2728, ptr %2901, align 8 - %2902 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 7 - store %"github.com/goplus/llgo/internal/abi.Method" %2739, ptr %2902, align 8 - %2903 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 8 - store %"github.com/goplus/llgo/internal/abi.Method" %2750, ptr %2903, align 8 - %2904 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 9 - store %"github.com/goplus/llgo/internal/abi.Method" %2761, ptr %2904, align 8 - %2905 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 10 - store %"github.com/goplus/llgo/internal/abi.Method" %2772, ptr %2905, align 8 - %2906 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 11 - store %"github.com/goplus/llgo/internal/abi.Method" %2783, ptr %2906, align 8 - %2907 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 12 - store %"github.com/goplus/llgo/internal/abi.Method" %2794, ptr %2907, align 8 - %2908 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 13 - store %"github.com/goplus/llgo/internal/abi.Method" %2805, ptr %2908, align 8 - %2909 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 14 - store %"github.com/goplus/llgo/internal/abi.Method" %2816, ptr %2909, align 8 - %2910 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 15 - store %"github.com/goplus/llgo/internal/abi.Method" %2827, ptr %2910, align 8 - %2911 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 16 - store %"github.com/goplus/llgo/internal/abi.Method" %2838, ptr %2911, align 8 - %2912 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 17 - store %"github.com/goplus/llgo/internal/abi.Method" %2849, ptr %2912, align 8 - %2913 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 18 - store %"github.com/goplus/llgo/internal/abi.Method" %2860, ptr %2913, align 8 - %2914 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 19 - store %"github.com/goplus/llgo/internal/abi.Method" %2871, ptr %2914, align 8 - %2915 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 20 - store %"github.com/goplus/llgo/internal/abi.Method" %2882, ptr %2915, align 8 - %2916 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2894, i64 21 - store %"github.com/goplus/llgo/internal/abi.Method" %2893, ptr %2916, align 8 - %2917 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %2918 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2917, i32 0, i32 0 - store ptr %2894, ptr %2918, align 8 - %2919 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2917, i32 0, i32 1 - store i64 22, ptr %2919, align 4 - %2920 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2917, i32 0, i32 2 - store i64 22, ptr %2920, align 4 - %2921 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2917, align 8 - %2922 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2923 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2922, i32 0, i32 0 - store ptr @31, ptr %2923, align 8 - %2924 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2922, i32 0, i32 1 - store i64 35, ptr %2924, align 4 - %2925 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2922, align 8 - %2926 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %2927 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2926, i32 0, i32 0 - store ptr @25, ptr %2927, align 8 - %2928 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2926, i32 0, i32 1 - store i64 4, ptr %2928, align 4 - %2929 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2926, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %90, %"github.com/goplus/llgo/internal/runtime.String" %2925, %"github.com/goplus/llgo/internal/runtime.String" %2929, ptr %293, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %2921) - br label %_llgo_12 +_llgo_125: ; preds = %_llgo_124 + %2629 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %2626) + store ptr %2629, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 + br label %_llgo_126 + +_llgo_126: ; preds = %_llgo_125, %_llgo_124 + %2630 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.StructField", align 8 + %2631 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2632 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2631, i32 0, i32 0 + store ptr @1, ptr %2632, align 8 + %2633 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2631, i32 0, i32 1 + store i64 40, ptr %2633, align 4 + %2634 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2631, align 8 + %2635 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %2634, i64 25, i64 80, i64 0, i64 22) + %2636 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2637 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2636, i32 0, i32 0 + store ptr @71, ptr %2637, align 8 + %2638 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2636, i32 0, i32 1 + store i64 47, ptr %2638, align 4 + %2639 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2636, align 8 + %2640 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %2639, i64 25, i64 56, i64 0, i64 2) + %2641 = load ptr, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 + %2642 = icmp eq ptr %2641, null + br i1 %2642, label %_llgo_127, label %_llgo_128 + +_llgo_127: ; preds = %_llgo_126 + %2643 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2644 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2643, i32 0, i32 0 + store ptr @21, ptr %2644, align 8 + %2645 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2643, i32 0, i32 1 + store i64 4, ptr %2645, align 4 + %2646 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2643, align 8 + %2647 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2648 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2647, i32 0, i32 0 + store ptr null, ptr %2648, align 8 + %2649 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2647, i32 0, i32 1 + store i64 0, ptr %2649, align 4 + %2650 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2647, align 8 + %2651 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %2646, ptr %2635, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %2650, i1 true) + %2652 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2653 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2652, i32 0, i32 0 + store ptr @46, ptr %2653, align 8 + %2654 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2652, i32 0, i32 1 + store i64 8, ptr %2654, align 4 + %2655 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2652, align 8 + %2656 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2657 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2656, i32 0, i32 0 + store ptr null, ptr %2657, align 8 + %2658 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2656, i32 0, i32 1 + store i64 0, ptr %2658, align 4 + %2659 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2656, align 8 + %2660 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %2661 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %2655, ptr %2660, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %2659, i1 false) + %2662 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2663 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2662, i32 0, i32 0 + store ptr @78, ptr %2663, align 8 + %2664 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2662, i32 0, i32 1 + store i64 6, ptr %2664, align 4 + %2665 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2662, align 8 + %2666 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2667 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2666, i32 0, i32 0 + store ptr null, ptr %2667, align 8 + %2668 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2666, i32 0, i32 1 + store i64 0, ptr %2668, align 4 + %2669 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2666, align 8 + %2670 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %2640) + %2671 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %2665, ptr %2670, i64 88, %"github.com/goplus/llgo/internal/runtime.String" %2669, i1 false) + %2672 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2673 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2672, i32 0, i32 0 + store ptr @7, ptr %2673, align 8 + %2674 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2672, i32 0, i32 1 + store i64 4, ptr %2674, align 4 + %2675 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2672, align 8 + %2676 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) + %2677 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2676, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %2651, ptr %2677, align 8 + %2678 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2676, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %2661, ptr %2678, align 8 + %2679 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %2676, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %2671, ptr %2679, align 8 + %2680 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %2681 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2680, i32 0, i32 0 + store ptr %2676, ptr %2681, align 8 + %2682 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2680, i32 0, i32 1 + store i64 3, ptr %2682, align 4 + %2683 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2680, i32 0, i32 2 + store i64 3, ptr %2683, align 4 + %2684 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2680, align 8 + %2685 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %2675, i64 112, %"github.com/goplus/llgo/internal/runtime.Slice" %2684) + store ptr %2685, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 + br label %_llgo_128 + +_llgo_128: ; preds = %_llgo_127, %_llgo_126 + %2686 = load ptr, ptr @"_llgo_struct$K_cvuhBwc2_5r7UW089ibWfcfsGoDb4pZ7K19IcMTk0", align 8 + br i1 %2500, label %_llgo_129, label %_llgo_130 + +_llgo_129: ; preds = %_llgo_128 + %2687 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2688 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2687, i32 0, i32 0 + store ptr @18, ptr %2688, align 8 + %2689 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2687, i32 0, i32 1 + store i64 5, ptr %2689, align 4 + %2690 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2687, align 8 + %2691 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %2692 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2693 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2692, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2690, ptr %2693, align 8 + %2694 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2692, i32 0, i32 1 + store ptr %2691, ptr %2694, align 8 + %2695 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2692, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Align", ptr %2695, align 8 + %2696 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2692, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Align", ptr %2696, align 8 + %2697 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2692, align 8 + %2698 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2699 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2698, i32 0, i32 0 + store ptr @19, ptr %2699, align 8 + %2700 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2698, i32 0, i32 1 + store i64 9, ptr %2700, align 4 + %2701 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2698, align 8 + %2702 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.ArrayType", align 8 + %2703 = load ptr, ptr @"_llgo_func$CsVqlCxhoEcIvPD5BSBukfSiD9C7Ic5_Gf32MLbCWB4", align 8 + %2704 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2705 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2704, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2701, ptr %2705, align 8 + %2706 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2704, i32 0, i32 1 + store ptr %2703, ptr %2706, align 8 + %2707 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2704, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ArrayType", ptr %2707, align 8 + %2708 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2704, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ArrayType", ptr %2708, align 8 + %2709 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2704, align 8 + %2710 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2711 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2710, i32 0, i32 0 + store ptr @25, ptr %2711, align 8 + %2712 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2710, i32 0, i32 1 + store i64 7, ptr %2712, align 4 + %2713 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2710, align 8 + %2714 = load ptr, ptr @"_llgo_func$TrNr0CVWj6qegOngzWbt2Jl7pr7IBJ5gOmgUf2ieIi4", align 8 + %2715 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2716 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2715, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2713, ptr %2716, align 8 + %2717 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2715, i32 0, i32 1 + store ptr %2714, ptr %2717, align 8 + %2718 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2715, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ChanDir", ptr %2718, align 8 + %2719 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2715, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ChanDir", ptr %2719, align 8 + %2720 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2715, align 8 + %2721 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2722 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2721, i32 0, i32 0 + store ptr @27, ptr %2722, align 8 + %2723 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2721, i32 0, i32 1 + store i64 6, ptr %2723, align 4 + %2724 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2721, align 8 + %2725 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %2726 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %2727 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2728 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2727, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2724, ptr %2728, align 8 + %2729 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2727, i32 0, i32 1 + store ptr %2726, ptr %2729, align 8 + %2730 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2727, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Common", ptr %2730, align 8 + %2731 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2727, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Common", ptr %2731, align 8 + %2732 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2727, align 8 + %2733 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2734 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2733, i32 0, i32 0 + store ptr @22, ptr %2734, align 8 + %2735 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2733, i32 0, i32 1 + store i64 4, ptr %2735, align 4 + %2736 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2733, align 8 + %2737 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %2738 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %2739 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2740 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2739, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2736, ptr %2740, align 8 + %2741 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2739, i32 0, i32 1 + store ptr %2738, ptr %2741, align 8 + %2742 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2739, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Elem", ptr %2742, align 8 + %2743 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2739, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Elem", ptr %2743, align 8 + %2744 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2739, align 8 + %2745 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2746 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2745, i32 0, i32 0 + store ptr @28, ptr %2746, align 8 + %2747 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2745, i32 0, i32 1 + store i64 15, ptr %2747, align 4 + %2748 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2745, align 8 + %2749 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %2750 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %2751 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2752 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2751, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2748, ptr %2752, align 8 + %2753 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2751, i32 0, i32 1 + store ptr %2750, ptr %2753, align 8 + %2754 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2751, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ExportedMethods", ptr %2754, align 8 + %2755 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2751, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ExportedMethods", ptr %2755, align 8 + %2756 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2751, align 8 + %2757 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2758 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2757, i32 0, i32 0 + store ptr @33, ptr %2758, align 8 + %2759 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2757, i32 0, i32 1 + store i64 10, ptr %2759, align 4 + %2760 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2757, align 8 + %2761 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %2762 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2763 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2762, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2760, ptr %2763, align 8 + %2764 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2762, i32 0, i32 1 + store ptr %2761, ptr %2764, align 8 + %2765 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2762, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FieldAlign", ptr %2765, align 8 + %2766 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2762, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FieldAlign", ptr %2766, align 8 + %2767 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2762, align 8 + %2768 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2769 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2768, i32 0, i32 0 + store ptr @34, ptr %2769, align 8 + %2770 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2768, i32 0, i32 1 + store i64 8, ptr %2770, align 4 + %2771 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2768, align 8 + %2772 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %2773 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 + %2774 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2775 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2774, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2771, ptr %2775, align 8 + %2776 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2774, i32 0, i32 1 + store ptr %2773, ptr %2776, align 8 + %2777 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2774, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FuncType", ptr %2777, align 8 + %2778 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2774, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).FuncType", ptr %2778, align 8 + %2779 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2774, align 8 + %2780 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2781 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2780, i32 0, i32 0 + store ptr @35, ptr %2781, align 8 + %2782 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2780, i32 0, i32 1 + store i64 7, ptr %2782, align 4 + %2783 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2780, align 8 + %2784 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %2785 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2786 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2785, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2783, ptr %2786, align 8 + %2787 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2785, i32 0, i32 1 + store ptr %2784, ptr %2787, align 8 + %2788 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2785, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).HasName", ptr %2788, align 8 + %2789 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2785, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).HasName", ptr %2789, align 8 + %2790 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2785, align 8 + %2791 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2792 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2791, i32 0, i32 0 + store ptr @36, ptr %2792, align 8 + %2793 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2791, i32 0, i32 1 + store i64 10, ptr %2793, align 4 + %2794 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2791, align 8 + %2795 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %2796 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2797 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2796, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2794, ptr %2797, align 8 + %2798 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2796, i32 0, i32 1 + store ptr %2795, ptr %2798, align 8 + %2799 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2796, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IfaceIndir", ptr %2799, align 8 + %2800 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2796, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IfaceIndir", ptr %2800, align 8 + %2801 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2796, align 8 + %2802 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2803 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2802, i32 0, i32 0 + store ptr @37, ptr %2803, align 8 + %2804 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2802, i32 0, i32 1 + store i64 13, ptr %2804, align 4 + %2805 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2802, align 8 + %2806 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %2807 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 + %2808 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2809 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2808, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2805, ptr %2809, align 8 + %2810 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2808, i32 0, i32 1 + store ptr %2807, ptr %2810, align 8 + %2811 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2808, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).InterfaceType", ptr %2811, align 8 + %2812 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2808, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).InterfaceType", ptr %2812, align 8 + %2813 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2808, align 8 + %2814 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2815 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2814, i32 0, i32 0 + store ptr @48, ptr %2815, align 8 + %2816 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2814, i32 0, i32 1 + store i64 13, ptr %2816, align 4 + %2817 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2814, align 8 + %2818 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %2819 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2820 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2819, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2817, ptr %2820, align 8 + %2821 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2819, i32 0, i32 1 + store ptr %2818, ptr %2821, align 8 + %2822 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2819, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IsDirectIface", ptr %2822, align 8 + %2823 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2819, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).IsDirectIface", ptr %2823, align 8 + %2824 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2819, align 8 + %2825 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2826 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2825, i32 0, i32 0 + store ptr @49, ptr %2826, align 8 + %2827 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2825, i32 0, i32 1 + store i64 3, ptr %2827, align 4 + %2828 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2825, align 8 + %2829 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %2830 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %2831 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2832 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2831, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2828, ptr %2832, align 8 + %2833 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2831, i32 0, i32 1 + store ptr %2830, ptr %2833, align 8 + %2834 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2831, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Key", ptr %2834, align 8 + %2835 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2831, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Key", ptr %2835, align 8 + %2836 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2831, align 8 + %2837 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2838 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2837, i32 0, i32 0 + store ptr @50, ptr %2838, align 8 + %2839 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2837, i32 0, i32 1 + store i64 4, ptr %2839, align 4 + %2840 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2837, align 8 + %2841 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 + %2842 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2843 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2842, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2840, ptr %2843, align 8 + %2844 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2842, i32 0, i32 1 + store ptr %2841, ptr %2844, align 8 + %2845 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2842, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Kind", ptr %2845, align 8 + %2846 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2842, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Kind", ptr %2846, align 8 + %2847 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2842, align 8 + %2848 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2849 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2848, i32 0, i32 0 + store ptr @24, ptr %2849, align 8 + %2850 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2848, i32 0, i32 1 + store i64 3, ptr %2850, align 4 + %2851 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2848, align 8 + %2852 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %2853 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2854 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2853, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2851, ptr %2854, align 8 + %2855 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2853, i32 0, i32 1 + store ptr %2852, ptr %2855, align 8 + %2856 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2853, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Len", ptr %2856, align 8 + %2857 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2853, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Len", ptr %2857, align 8 + %2858 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2853, align 8 + %2859 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2860 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2859, i32 0, i32 0 + store ptr @53, ptr %2860, align 8 + %2861 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2859, i32 0, i32 1 + store i64 7, ptr %2861, align 4 + %2862 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2859, align 8 + %2863 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %2864 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 + %2865 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2866 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2865, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2862, ptr %2866, align 8 + %2867 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2865, i32 0, i32 1 + store ptr %2864, ptr %2867, align 8 + %2868 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2865, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).MapType", ptr %2868, align 8 + %2869 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2865, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).MapType", ptr %2869, align 8 + %2870 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2865, align 8 + %2871 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2872 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2871, i32 0, i32 0 + store ptr @65, ptr %2872, align 8 + %2873 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2871, i32 0, i32 1 + store i64 9, ptr %2873, align 4 + %2874 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2871, align 8 + %2875 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %2876 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2877 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2876, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2874, ptr %2877, align 8 + %2878 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2876, i32 0, i32 1 + store ptr %2875, ptr %2878, align 8 + %2879 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2876, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).NumMethod", ptr %2879, align 8 + %2880 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2876, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).NumMethod", ptr %2880, align 8 + %2881 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2876, align 8 + %2882 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2883 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2882, i32 0, i32 0 + store ptr @66, ptr %2883, align 8 + %2884 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2882, i32 0, i32 1 + store i64 8, ptr %2884, align 4 + %2885 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2882, align 8 + %2886 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %2887 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2888 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2887, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2885, ptr %2888, align 8 + %2889 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2887, i32 0, i32 1 + store ptr %2886, ptr %2889, align 8 + %2890 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2887, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Pointers", ptr %2890, align 8 + %2891 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2887, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Pointers", ptr %2891, align 8 + %2892 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2887, align 8 + %2893 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2894 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2893, i32 0, i32 0 + store ptr @68, ptr %2894, align 8 + %2895 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2893, i32 0, i32 1 + store i64 4, ptr %2895, align 4 + %2896 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2893, align 8 + %2897 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 + %2898 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2899 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2898, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2896, ptr %2899, align 8 + %2900 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2898, i32 0, i32 1 + store ptr %2897, ptr %2900, align 8 + %2901 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2898, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Size", ptr %2901, align 8 + %2902 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2898, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Size", ptr %2902, align 8 + %2903 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2898, align 8 + %2904 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2905 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2904, i32 0, i32 0 + store ptr @52, ptr %2905, align 8 + %2906 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2904, i32 0, i32 1 + store i64 6, ptr %2906, align 4 + %2907 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2904, align 8 + %2908 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %2909 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2910 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2909, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2907, ptr %2910, align 8 + %2911 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2909, i32 0, i32 1 + store ptr %2908, ptr %2911, align 8 + %2912 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2909, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).String", ptr %2912, align 8 + %2913 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2909, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).String", ptr %2913, align 8 + %2914 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2909, align 8 + %2915 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2916 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2915, i32 0, i32 0 + store ptr @69, ptr %2916, align 8 + %2917 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2915, i32 0, i32 1 + store i64 10, ptr %2917, align 4 + %2918 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2915, align 8 + %2919 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2920 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2919, i32 0, i32 0 + store ptr @70, ptr %2920, align 8 + %2921 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2919, i32 0, i32 1 + store i64 46, ptr %2921, align 4 + %2922 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2919, align 8 + %2923 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %2922, i64 25, i64 120, i64 0, i64 22) + %2924 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %2925 = icmp eq ptr %2924, null + br i1 %2925, label %_llgo_131, label %_llgo_132 + +_llgo_130: ; preds = %_llgo_144, %_llgo_128 + %2926 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %2927 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %2928 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 + %2929 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2930 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2929, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2493, ptr %2930, align 8 + %2931 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2929, i32 0, i32 1 + store ptr %2928, ptr %2931, align 8 + %2932 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2929, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).StructType", ptr %2932, align 8 + %2933 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2929, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).StructType", ptr %2933, align 8 + %2934 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2929, align 8 + %2935 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2936 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2935, i32 0, i32 0 + store ptr @79, ptr %2936, align 8 + %2937 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2935, i32 0, i32 1 + store i64 8, ptr %2937, align 4 + %2938 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2935, align 8 + %2939 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 + %2940 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %2941 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2940, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2938, ptr %2941, align 8 + %2942 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2940, i32 0, i32 1 + store ptr %2939, ptr %2942, align 8 + %2943 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2940, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Uncommon", ptr %2943, align 8 + %2944 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %2940, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*MapType).Uncommon", ptr %2944, align 8 + %2945 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %2940, align 8 + %2946 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 1000) + %2947 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %2087, ptr %2947, align 8 + %2948 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %2099, ptr %2948, align 8 + %2949 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %2110, ptr %2949, align 8 + %2950 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 3 + store %"github.com/goplus/llgo/internal/abi.Method" %2122, ptr %2950, align 8 + %2951 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 4 + store %"github.com/goplus/llgo/internal/abi.Method" %2134, ptr %2951, align 8 + %2952 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 5 + store %"github.com/goplus/llgo/internal/abi.Method" %2145, ptr %2952, align 8 + %2953 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 6 + store %"github.com/goplus/llgo/internal/abi.Method" %2157, ptr %2953, align 8 + %2954 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 7 + store %"github.com/goplus/llgo/internal/abi.Method" %2168, ptr %2954, align 8 + %2955 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 8 + store %"github.com/goplus/llgo/internal/abi.Method" %2179, ptr %2955, align 8 + %2956 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 9 + store %"github.com/goplus/llgo/internal/abi.Method" %2190, ptr %2956, align 8 + %2957 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 10 + store %"github.com/goplus/llgo/internal/abi.Method" %2201, ptr %2957, align 8 + %2958 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 11 + store %"github.com/goplus/llgo/internal/abi.Method" %2212, ptr %2958, align 8 + %2959 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 12 + store %"github.com/goplus/llgo/internal/abi.Method" %2224, ptr %2959, align 8 + %2960 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 13 + store %"github.com/goplus/llgo/internal/abi.Method" %2235, ptr %2960, align 8 + %2961 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 14 + store %"github.com/goplus/llgo/internal/abi.Method" %2246, ptr %2961, align 8 + %2962 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 15 + store %"github.com/goplus/llgo/internal/abi.Method" %2257, ptr %2962, align 8 + %2963 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 16 + store %"github.com/goplus/llgo/internal/abi.Method" %2406, ptr %2963, align 8 + %2964 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 17 + store %"github.com/goplus/llgo/internal/abi.Method" %2417, ptr %2964, align 8 + %2965 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 18 + store %"github.com/goplus/llgo/internal/abi.Method" %2428, ptr %2965, align 8 + %2966 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 19 + store %"github.com/goplus/llgo/internal/abi.Method" %2439, ptr %2966, align 8 + %2967 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 20 + store %"github.com/goplus/llgo/internal/abi.Method" %2450, ptr %2967, align 8 + %2968 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 21 + store %"github.com/goplus/llgo/internal/abi.Method" %2478, ptr %2968, align 8 + %2969 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 22 + store %"github.com/goplus/llgo/internal/abi.Method" %2489, ptr %2969, align 8 + %2970 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 23 + store %"github.com/goplus/llgo/internal/abi.Method" %2934, ptr %2970, align 8 + %2971 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %2946, i64 24 + store %"github.com/goplus/llgo/internal/abi.Method" %2945, ptr %2971, align 8 + %2972 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %2973 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2972, i32 0, i32 0 + store ptr %2946, ptr %2973, align 8 + %2974 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2972, i32 0, i32 1 + store i64 25, ptr %2974, align 4 + %2975 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2972, i32 0, i32 2 + store i64 25, ptr %2975, align 4 + %2976 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2972, align 8 + %2977 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2978 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2977, i32 0, i32 0 + store ptr @3, ptr %2978, align 8 + %2979 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2977, i32 0, i32 1 + store i64 35, ptr %2979, align 4 + %2980 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2977, align 8 + %2981 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %2982 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2981, i32 0, i32 0 + store ptr @53, ptr %2982, align 8 + %2983 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2981, i32 0, i32 1 + store i64 7, ptr %2983, align 4 + %2984 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2981, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %1807, %"github.com/goplus/llgo/internal/runtime.String" %2980, %"github.com/goplus/llgo/internal/runtime.String" %2984, ptr %2076, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %2976) + br label %_llgo_110 + +_llgo_131: ; preds = %_llgo_129 + %2985 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %2923) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %2985) + store ptr %2985, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + br label %_llgo_132 + +_llgo_132: ; preds = %_llgo_131, %_llgo_129 + %2986 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %2987 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %2988 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 + %2989 = icmp eq ptr %2988, null + br i1 %2989, label %_llgo_133, label %_llgo_134 + +_llgo_133: ; preds = %_llgo_132 + %2990 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %2991 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %2992 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2991, i32 0, i32 0 + store ptr %2990, ptr %2992, align 8 + %2993 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2991, i32 0, i32 1 + store i64 0, ptr %2993, align 4 + %2994 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2991, i32 0, i32 2 + store i64 0, ptr %2994, align 4 + %2995 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2991, align 8 + %2996 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %2997 = getelementptr ptr, ptr %2996, i64 0 + store ptr %2987, ptr %2997, align 8 + %2998 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %2999 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2998, i32 0, i32 0 + store ptr %2996, ptr %2999, align 8 + %3000 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2998, i32 0, i32 1 + store i64 1, ptr %3000, align 4 + %3001 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2998, i32 0, i32 2 + store i64 1, ptr %3001, align 4 + %3002 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %2998, align 8 + %3003 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %2995, %"github.com/goplus/llgo/internal/runtime.Slice" %3002, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %3003) + store ptr %3003, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 + br label %_llgo_134 + +_llgo_134: ; preds = %_llgo_133, %_llgo_132 + %3004 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 + %3005 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3006 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3005, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %2918, ptr %3006, align 8 + %3007 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3005, i32 0, i32 1 + store ptr %3004, ptr %3007, align 8 + %3008 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3005, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).StructType", ptr %3008, align 8 + %3009 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3005, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).StructType", ptr %3009, align 8 + %3010 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3005, align 8 + %3011 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3012 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3011, i32 0, i32 0 + store ptr @79, ptr %3012, align 8 + %3013 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3011, i32 0, i32 1 + store i64 8, ptr %3013, align 4 + %3014 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3011, align 8 + %3015 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3016 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3015, i32 0, i32 0 + store ptr @80, ptr %3016, align 8 + %3017 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3015, i32 0, i32 1 + store i64 48, ptr %3017, align 4 + %3018 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3015, align 8 + %3019 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %3018, i64 25, i64 24, i64 0, i64 2) + %3020 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + %3021 = icmp eq ptr %3020, null + br i1 %3021, label %_llgo_135, label %_llgo_136 + +_llgo_135: ; preds = %_llgo_134 + store ptr %3019, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + br label %_llgo_136 + +_llgo_136: ; preds = %_llgo_135, %_llgo_134 + %3022 = load ptr, ptr @"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI", align 8 + %3023 = icmp eq ptr %3022, null + br i1 %3023, label %_llgo_137, label %_llgo_138 + +_llgo_137: ; preds = %_llgo_136 + %3024 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3025 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3024, i32 0, i32 0 + store ptr @46, ptr %3025, align 8 + %3026 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3024, i32 0, i32 1 + store i64 8, ptr %3026, align 4 + %3027 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3024, align 8 + %3028 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3029 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3028, i32 0, i32 0 + store ptr null, ptr %3029, align 8 + %3030 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3028, i32 0, i32 1 + store i64 0, ptr %3030, align 4 + %3031 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3028, align 8 + %3032 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %3033 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %3027, ptr %3032, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %3031, i1 false) + %3034 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3035 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3034, i32 0, i32 0 + store ptr @81, ptr %3035, align 8 + %3036 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3034, i32 0, i32 1 + store i64 6, ptr %3036, align 4 + %3037 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3034, align 8 + %3038 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3039 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3038, i32 0, i32 0 + store ptr null, ptr %3039, align 8 + %3040 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3038, i32 0, i32 1 + store i64 0, ptr %3040, align 4 + %3041 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3038, align 8 + %3042 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) + %3043 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %3037, ptr %3042, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %3041, i1 false) + %3044 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3045 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3044, i32 0, i32 0 + store ptr @82, ptr %3045, align 8 + %3046 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3044, i32 0, i32 1 + store i64 6, ptr %3046, align 4 + %3047 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3044, align 8 + %3048 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3049 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3048, i32 0, i32 0 + store ptr null, ptr %3049, align 8 + %3050 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3048, i32 0, i32 1 + store i64 0, ptr %3050, align 4 + %3051 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3048, align 8 + %3052 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41) + %3053 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %3047, ptr %3052, i64 18, %"github.com/goplus/llgo/internal/runtime.String" %3051, i1 false) + %3054 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3055 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3054, i32 0, i32 0 + store ptr @83, ptr %3055, align 8 + %3056 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3054, i32 0, i32 1 + store i64 4, ptr %3056, align 4 + %3057 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3054, align 8 + %3058 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3059 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3058, i32 0, i32 0 + store ptr null, ptr %3059, align 8 + %3060 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3058, i32 0, i32 1 + store i64 0, ptr %3060, align 4 + %3061 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3058, align 8 + %3062 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42) + %3063 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %3057, ptr %3062, i64 20, %"github.com/goplus/llgo/internal/runtime.String" %3061, i1 false) + %3064 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3065 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3064, i32 0, i32 0 + store ptr @7, ptr %3065, align 8 + %3066 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3064, i32 0, i32 1 + store i64 4, ptr %3066, align 4 + %3067 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3064, align 8 + %3068 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) + %3069 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %3068, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %3033, ptr %3069, align 8 + %3070 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %3068, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %3043, ptr %3070, align 8 + %3071 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %3068, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %3053, ptr %3071, align 8 + %3072 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %3068, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %3063, ptr %3072, align 8 + %3073 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %3074 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3073, i32 0, i32 0 + store ptr %3068, ptr %3074, align 8 + %3075 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3073, i32 0, i32 1 + store i64 4, ptr %3075, align 4 + %3076 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3073, i32 0, i32 2 + store i64 4, ptr %3076, align 4 + %3077 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3073, align 8 + %3078 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %3067, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %3077) + store ptr %3078, ptr @"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI", align 8 + br label %_llgo_138 + +_llgo_138: ; preds = %_llgo_137, %_llgo_136 + %3079 = load ptr, ptr @"_llgo_struct$OKIlItfBJsawrEMnVSc2VQ7pxNxCHIgSoitcM9n4FVI", align 8 + br i1 %3021, label %_llgo_139, label %_llgo_140 + +_llgo_139: ; preds = %_llgo_138 + %3080 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3081 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3080, i32 0, i32 0 + store ptr @28, ptr %3081, align 8 + %3082 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3080, i32 0, i32 1 + store i64 15, ptr %3082, align 4 + %3083 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3080, align 8 + %3084 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %3085 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %3086 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3087 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3086, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3083, ptr %3087, align 8 + %3088 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3086, i32 0, i32 1 + store ptr %3085, ptr %3088, align 8 + %3089 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3086, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).ExportedMethods", ptr %3089, align 8 + %3090 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3086, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).ExportedMethods", ptr %3090, align 8 + %3091 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3086, align 8 + %3092 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3093 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3092, i32 0, i32 0 + store ptr @47, ptr %3093, align 8 + %3094 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3092, i32 0, i32 1 + store i64 7, ptr %3094, align 4 + %3095 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3092, align 8 + %3096 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %3097 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %3098 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3099 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3098, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3095, ptr %3099, align 8 + %3100 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3098, i32 0, i32 1 + store ptr %3097, ptr %3100, align 8 + %3101 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3098, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).Methods", ptr %3101, align 8 + %3102 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3098, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*UncommonType).Methods", ptr %3102, align 8 + %3103 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3098, align 8 + %3104 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) + %3105 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3104, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %3091, ptr %3105, align 8 + %3106 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3104, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %3103, ptr %3106, align 8 + %3107 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %3108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3107, i32 0, i32 0 + store ptr %3104, ptr %3108, align 8 + %3109 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3107, i32 0, i32 1 + store i64 2, ptr %3109, align 4 + %3110 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3107, i32 0, i32 2 + store i64 2, ptr %3110, align 4 + %3111 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3107, align 8 + %3112 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3113 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3112, i32 0, i32 0 + store ptr @3, ptr %3113, align 8 + %3114 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3112, i32 0, i32 1 + store i64 35, ptr %3114, align 4 + %3115 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3112, align 8 + %3116 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3117 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3116, i32 0, i32 0 + store ptr @84, ptr %3117, align 8 + %3118 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3116, i32 0, i32 1 + store i64 12, ptr %3118, align 4 + %3119 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3116, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %3019, %"github.com/goplus/llgo/internal/runtime.String" %3115, %"github.com/goplus/llgo/internal/runtime.String" %3119, ptr %3079, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %3111) + br label %_llgo_140 + +_llgo_140: ; preds = %_llgo_139, %_llgo_138 + %3120 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + %3121 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3122 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3121, i32 0, i32 0 + store ptr @80, ptr %3122, align 8 + %3123 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3121, i32 0, i32 1 + store i64 48, ptr %3123, align 4 + %3124 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3121, align 8 + %3125 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %3124, i64 25, i64 24, i64 0, i64 2) + %3126 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + %3127 = icmp eq ptr %3126, null + br i1 %3127, label %_llgo_141, label %_llgo_142 + +_llgo_141: ; preds = %_llgo_140 + %3128 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %3125) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %3128) + store ptr %3128, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + br label %_llgo_142 + +_llgo_142: ; preds = %_llgo_141, %_llgo_140 + %3129 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + %3130 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.UncommonType", align 8 + %3131 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 + %3132 = icmp eq ptr %3131, null + br i1 %3132, label %_llgo_143, label %_llgo_144 + +_llgo_143: ; preds = %_llgo_142 + %3133 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %3134 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %3135 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3134, i32 0, i32 0 + store ptr %3133, ptr %3135, align 8 + %3136 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3134, i32 0, i32 1 + store i64 0, ptr %3136, align 4 + %3137 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3134, i32 0, i32 2 + store i64 0, ptr %3137, align 4 + %3138 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3134, align 8 + %3139 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %3140 = getelementptr ptr, ptr %3139, i64 0 + store ptr %3130, ptr %3140, align 8 + %3141 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %3142 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3141, i32 0, i32 0 + store ptr %3139, ptr %3142, align 8 + %3143 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3141, i32 0, i32 1 + store i64 1, ptr %3143, align 4 + %3144 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3141, i32 0, i32 2 + store i64 1, ptr %3144, align 4 + %3145 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3141, align 8 + %3146 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %3138, %"github.com/goplus/llgo/internal/runtime.Slice" %3145, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %3146) + store ptr %3146, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 + br label %_llgo_144 + +_llgo_144: ; preds = %_llgo_143, %_llgo_142 + %3147 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 + %3148 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3149 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3148, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3014, ptr %3149, align 8 + %3150 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3148, i32 0, i32 1 + store ptr %3147, ptr %3150, align 8 + %3151 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3148, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Uncommon", ptr %3151, align 8 + %3152 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3148, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*StructType).Uncommon", ptr %3152, align 8 + %3153 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3148, align 8 + %3154 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 880) + %3155 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %2697, ptr %3155, align 8 + %3156 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %2709, ptr %3156, align 8 + %3157 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %2720, ptr %3157, align 8 + %3158 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 3 + store %"github.com/goplus/llgo/internal/abi.Method" %2732, ptr %3158, align 8 + %3159 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 4 + store %"github.com/goplus/llgo/internal/abi.Method" %2744, ptr %3159, align 8 + %3160 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 5 + store %"github.com/goplus/llgo/internal/abi.Method" %2756, ptr %3160, align 8 + %3161 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 6 + store %"github.com/goplus/llgo/internal/abi.Method" %2767, ptr %3161, align 8 + %3162 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 7 + store %"github.com/goplus/llgo/internal/abi.Method" %2779, ptr %3162, align 8 + %3163 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 8 + store %"github.com/goplus/llgo/internal/abi.Method" %2790, ptr %3163, align 8 + %3164 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 9 + store %"github.com/goplus/llgo/internal/abi.Method" %2801, ptr %3164, align 8 + %3165 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 10 + store %"github.com/goplus/llgo/internal/abi.Method" %2813, ptr %3165, align 8 + %3166 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 11 + store %"github.com/goplus/llgo/internal/abi.Method" %2824, ptr %3166, align 8 + %3167 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 12 + store %"github.com/goplus/llgo/internal/abi.Method" %2836, ptr %3167, align 8 + %3168 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 13 + store %"github.com/goplus/llgo/internal/abi.Method" %2847, ptr %3168, align 8 + %3169 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 14 + store %"github.com/goplus/llgo/internal/abi.Method" %2858, ptr %3169, align 8 + %3170 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 15 + store %"github.com/goplus/llgo/internal/abi.Method" %2870, ptr %3170, align 8 + %3171 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 16 + store %"github.com/goplus/llgo/internal/abi.Method" %2881, ptr %3171, align 8 + %3172 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 17 + store %"github.com/goplus/llgo/internal/abi.Method" %2892, ptr %3172, align 8 + %3173 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 18 + store %"github.com/goplus/llgo/internal/abi.Method" %2903, ptr %3173, align 8 + %3174 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 19 + store %"github.com/goplus/llgo/internal/abi.Method" %2914, ptr %3174, align 8 + %3175 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 20 + store %"github.com/goplus/llgo/internal/abi.Method" %3010, ptr %3175, align 8 + %3176 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3154, i64 21 + store %"github.com/goplus/llgo/internal/abi.Method" %3153, ptr %3176, align 8 + %3177 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %3178 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3177, i32 0, i32 0 + store ptr %3154, ptr %3178, align 8 + %3179 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3177, i32 0, i32 1 + store i64 22, ptr %3179, align 4 + %3180 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3177, i32 0, i32 2 + store i64 22, ptr %3180, align 4 + %3181 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3177, align 8 + %3182 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3183 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3182, i32 0, i32 0 + store ptr @3, ptr %3183, align 8 + %3184 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3182, i32 0, i32 1 + store i64 35, ptr %3184, align 4 + %3185 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3182, align 8 + %3186 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3187 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3186, i32 0, i32 0 + store ptr @69, ptr %3187, align 8 + %3188 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3186, i32 0, i32 1 + store i64 10, ptr %3188, align 4 + %3189 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3186, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %2498, %"github.com/goplus/llgo/internal/runtime.String" %3185, %"github.com/goplus/llgo/internal/runtime.String" %3189, ptr %2686, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %3181) + br label %_llgo_130 + +_llgo_145: ; preds = %_llgo_64 + %3190 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3191 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3190, i32 0, i32 0 + store ptr @40, ptr %3191, align 8 + %3192 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3190, i32 0, i32 1 + store i64 5, ptr %3192, align 4 + %3193 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3190, align 8 + %3194 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3195 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3194, i32 0, i32 0 + store ptr null, ptr %3195, align 8 + %3196 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3194, i32 0, i32 1 + store i64 0, ptr %3196, align 4 + %3197 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3194, align 8 + %3198 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %3199 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %3193, ptr %3198, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %3197, i1 false) + %3200 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3201 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3200, i32 0, i32 0 + store ptr @86, ptr %3201, align 8 + %3202 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3200, i32 0, i32 1 + store i64 5, ptr %3202, align 4 + %3203 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3200, align 8 + %3204 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3205 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3204, i32 0, i32 0 + store ptr null, ptr %3205, align 8 + %3206 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3204, i32 0, i32 1 + store i64 0, ptr %3206, align 4 + %3207 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3204, align 8 + %3208 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %1044) + %3209 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %3203, ptr %3208, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %3207, i1 false) + %3210 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3211 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3210, i32 0, i32 0 + store ptr @87, ptr %3211, align 8 + %3212 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3210, i32 0, i32 1 + store i64 4, ptr %3212, align 4 + %3213 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3210, align 8 + %3214 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3215 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3214, i32 0, i32 0 + store ptr null, ptr %3215, align 8 + %3216 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3214, i32 0, i32 1 + store i64 0, ptr %3216, align 4 + %3217 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3214, align 8 + %3218 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %3219 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %3213, ptr %3218, i64 24, %"github.com/goplus/llgo/internal/runtime.String" %3217, i1 false) + %3220 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3221 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3220, i32 0, i32 0 + store ptr @88, ptr %3221, align 8 + %3222 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3220, i32 0, i32 1 + store i64 4, ptr %3222, align 4 + %3223 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3220, align 8 + %3224 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3225 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3224, i32 0, i32 0 + store ptr null, ptr %3225, align 8 + %3226 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3224, i32 0, i32 1 + store i64 0, ptr %3226, align 4 + %3227 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3224, align 8 + %3228 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %3229 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %3223, ptr %3228, i64 32, %"github.com/goplus/llgo/internal/runtime.String" %3227, i1 false) + %3230 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3231 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3230, i32 0, i32 0 + store ptr @7, ptr %3231, align 8 + %3232 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3230, i32 0, i32 1 + store i64 4, ptr %3232, align 4 + %3233 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3230, align 8 + %3234 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) + %3235 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %3234, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %3199, ptr %3235, align 8 + %3236 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %3234, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %3209, ptr %3236, align 8 + %3237 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %3234, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %3219, ptr %3237, align 8 + %3238 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %3234, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %3229, ptr %3238, align 8 + %3239 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %3240 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3239, i32 0, i32 0 + store ptr %3234, ptr %3240, align 8 + %3241 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3239, i32 0, i32 1 + store i64 4, ptr %3241, align 4 + %3242 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3239, i32 0, i32 2 + store i64 4, ptr %3242, align 4 + %3243 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3239, align 8 + %3244 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %3233, i64 40, %"github.com/goplus/llgo/internal/runtime.Slice" %3243) + store ptr %3244, ptr @"_llgo_struct$SDp3TNnYnxb26MhB1v8VMbmY71BX77YOaY7lgS1cFx0", align 8 + br label %_llgo_146 + +_llgo_146: ; preds = %_llgo_145, %_llgo_64 + %3245 = load ptr, ptr @"_llgo_struct$SDp3TNnYnxb26MhB1v8VMbmY71BX77YOaY7lgS1cFx0", align 8 + br i1 %885, label %_llgo_147, label %_llgo_148 + +_llgo_147: ; preds = %_llgo_146 + %3246 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3247 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3246, i32 0, i32 0 + store ptr @42, ptr %3247, align 8 + %3248 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3246, i32 0, i32 1 + store i64 8, ptr %3248, align 4 + %3249 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3246, align 8 + %3250 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %3251 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3252 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3251, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3249, ptr %3252, align 8 + %3253 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3251, i32 0, i32 1 + store ptr %3250, ptr %3253, align 8 + %3254 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3251, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Method).Exported", ptr %3254, align 8 + %3255 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3251, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Method).Exported", ptr %3255, align 8 + %3256 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3251, align 8 + %3257 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3258 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3257, i32 0, i32 0 + store ptr @43, ptr %3258, align 8 + %3259 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3257, i32 0, i32 1 + store i64 4, ptr %3259, align 4 + %3260 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3257, align 8 + %3261 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %3262 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3263 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3262, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3260, ptr %3263, align 8 + %3264 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3262, i32 0, i32 1 + store ptr %3261, ptr %3264, align 8 + %3265 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3262, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Method).Name", ptr %3265, align 8 + %3266 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3262, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Method).Name", ptr %3266, align 8 + %3267 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3262, align 8 + %3268 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3269 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3268, i32 0, i32 0 + store ptr @44, ptr %3269, align 8 + %3270 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3268, i32 0, i32 1 + store i64 7, ptr %3270, align 4 + %3271 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3268, align 8 + %3272 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %3273 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3274 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3273, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3271, ptr %3274, align 8 + %3275 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3273, i32 0, i32 1 + store ptr %3272, ptr %3275, align 8 + %3276 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3273, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*Method).PkgPath", ptr %3276, align 8 + %3277 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3273, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*Method).PkgPath", ptr %3277, align 8 + %3278 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3273, align 8 + %3279 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 120) + %3280 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3279, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %3256, ptr %3280, align 8 + %3281 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3279, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %3267, ptr %3281, align 8 + %3282 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3279, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %3278, ptr %3282, align 8 + %3283 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %3284 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3283, i32 0, i32 0 + store ptr %3279, ptr %3284, align 8 + %3285 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3283, i32 0, i32 1 + store i64 3, ptr %3285, align 4 + %3286 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3283, i32 0, i32 2 + store i64 3, ptr %3286, align 4 + %3287 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3283, align 8 + %3288 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3289 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3288, i32 0, i32 0 + store ptr @3, ptr %3289, align 8 + %3290 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3288, i32 0, i32 1 + store i64 35, ptr %3290, align 4 + %3291 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3288, align 8 + %3292 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3293 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3292, i32 0, i32 0 + store ptr @89, ptr %3293, align 8 + %3294 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3292, i32 0, i32 1 + store i64 6, ptr %3294, align 4 + %3295 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3292, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %883, %"github.com/goplus/llgo/internal/runtime.String" %3291, %"github.com/goplus/llgo/internal/runtime.String" %3295, ptr %3245, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %3287) + br label %_llgo_148 + +_llgo_148: ; preds = %_llgo_147, %_llgo_146 + %3296 = load ptr, ptr @"_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %3297 = load ptr, ptr @"[]_llgo_github.com/goplus/llgo/internal/abi.Method", align 8 + %3298 = load ptr, ptr @"_llgo_func$r0w3aCNVheLGqjxncuxitGhNtWJagb9gZLqOSrNI7dg", align 8 + %3299 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3300 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3299, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %878, ptr %3300, align 8 + %3301 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3299, i32 0, i32 1 + store ptr %3298, ptr %3301, align 8 + %3302 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3299, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ExportedMethods", ptr %3302, align 8 + %3303 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3299, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).ExportedMethods", ptr %3303, align 8 + %3304 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3299, align 8 + %3305 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3306 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3305, i32 0, i32 0 + store ptr @33, ptr %3306, align 8 + %3307 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3305, i32 0, i32 1 + store i64 10, ptr %3307, align 4 + %3308 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3305, align 8 + %3309 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %3310 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3311 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3310, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3308, ptr %3311, align 8 + %3312 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3310, i32 0, i32 1 + store ptr %3309, ptr %3312, align 8 + %3313 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3310, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FieldAlign", ptr %3313, align 8 + %3314 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3310, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FieldAlign", ptr %3314, align 8 + %3315 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3310, align 8 + %3316 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3317 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3316, i32 0, i32 0 + store ptr @34, ptr %3317, align 8 + %3318 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3316, i32 0, i32 1 + store i64 8, ptr %3318, align 4 + %3319 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3316, align 8 + %3320 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.FuncType", align 8 + %3321 = load ptr, ptr @"_llgo_func$DsoxgOnxqV7tLvokF3AA14v1gtHsHaThoC8Q_XGcQww", align 8 + %3322 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3323 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3322, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3319, ptr %3323, align 8 + %3324 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3322, i32 0, i32 1 + store ptr %3321, ptr %3324, align 8 + %3325 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3322, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FuncType", ptr %3325, align 8 + %3326 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3322, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FuncType", ptr %3326, align 8 + %3327 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3322, align 8 + %3328 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3329 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3328, i32 0, i32 0 + store ptr @35, ptr %3329, align 8 + %3330 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3328, i32 0, i32 1 + store i64 7, ptr %3330, align 4 + %3331 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3328, align 8 + %3332 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %3333 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3334 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3333, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3331, ptr %3334, align 8 + %3335 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3333, i32 0, i32 1 + store ptr %3332, ptr %3335, align 8 + %3336 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3333, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).HasName", ptr %3336, align 8 + %3337 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3333, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).HasName", ptr %3337, align 8 + %3338 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3333, align 8 + %3339 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3340 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3339, i32 0, i32 0 + store ptr @36, ptr %3340, align 8 + %3341 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3339, i32 0, i32 1 + store i64 10, ptr %3341, align 4 + %3342 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3339, align 8 + %3343 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %3344 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3345 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3344, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3342, ptr %3345, align 8 + %3346 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3344, i32 0, i32 1 + store ptr %3343, ptr %3346, align 8 + %3347 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3344, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IfaceIndir", ptr %3347, align 8 + %3348 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3344, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IfaceIndir", ptr %3348, align 8 + %3349 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3344, align 8 + %3350 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3351 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3350, i32 0, i32 0 + store ptr @37, ptr %3351, align 8 + %3352 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3350, i32 0, i32 1 + store i64 13, ptr %3352, align 4 + %3353 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3350, align 8 + %3354 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.InterfaceType", align 8 + %3355 = load ptr, ptr @"_llgo_func$1QmforOaCy2fBAssC2y1FWCCT6fpq9RKwP2j2HIASY8", align 8 + %3356 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3357 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3356, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3353, ptr %3357, align 8 + %3358 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3356, i32 0, i32 1 + store ptr %3355, ptr %3358, align 8 + %3359 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3356, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).InterfaceType", ptr %3359, align 8 + %3360 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3356, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).InterfaceType", ptr %3360, align 8 + %3361 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3356, align 8 + %3362 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3363 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3362, i32 0, i32 0 + store ptr @48, ptr %3363, align 8 + %3364 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3362, i32 0, i32 1 + store i64 13, ptr %3364, align 4 + %3365 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3362, align 8 + %3366 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %3367 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3368 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3367, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3365, ptr %3368, align 8 + %3369 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3367, i32 0, i32 1 + store ptr %3366, ptr %3369, align 8 + %3370 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3367, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IsDirectIface", ptr %3370, align 8 + %3371 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3367, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).IsDirectIface", ptr %3371, align 8 + %3372 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3367, align 8 + %3373 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3374 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3373, i32 0, i32 0 + store ptr @49, ptr %3374, align 8 + %3375 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3373, i32 0, i32 1 + store i64 3, ptr %3375, align 4 + %3376 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3373, align 8 + %3377 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.Type", align 8 + %3378 = load ptr, ptr @"_llgo_func$4-mqItKfDlL0CgVKnUxoresYgh6zW1WSlZYZSsVzLRo", align 8 + %3379 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3380 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3379, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3376, ptr %3380, align 8 + %3381 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3379, i32 0, i32 1 + store ptr %3378, ptr %3381, align 8 + %3382 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3379, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Key", ptr %3382, align 8 + %3383 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3379, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Key", ptr %3383, align 8 + %3384 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3379, align 8 + %3385 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3386 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3385, i32 0, i32 0 + store ptr @50, ptr %3386, align 8 + %3387 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3385, i32 0, i32 1 + store i64 4, ptr %3387, align 4 + %3388 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3385, align 8 + %3389 = load ptr, ptr @"_llgo_func$ntUE0UmVAWPS2O7GpCCGszSn-XnjHJntZZ2jYtwbFXI", align 8 + %3390 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3391 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3390, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3388, ptr %3391, align 8 + %3392 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3390, i32 0, i32 1 + store ptr %3389, ptr %3392, align 8 + %3393 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3390, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Kind", ptr %3393, align 8 + %3394 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3390, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Kind", ptr %3394, align 8 + %3395 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3390, align 8 + %3396 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3397 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3396, i32 0, i32 0 + store ptr @53, ptr %3397, align 8 + %3398 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3396, i32 0, i32 1 + store i64 7, ptr %3398, align 4 + %3399 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3396, align 8 + %3400 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.MapType", align 8 + %3401 = load ptr, ptr @"_llgo_func$d-NlqnjcQnaMjsBQY7qh2SWQmHb0XIigoceXdiJ8YT4", align 8 + %3402 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3403 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3402, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3399, ptr %3403, align 8 + %3404 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3402, i32 0, i32 1 + store ptr %3401, ptr %3404, align 8 + %3405 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3402, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).MapType", ptr %3405, align 8 + %3406 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3402, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).MapType", ptr %3406, align 8 + %3407 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3402, align 8 + %3408 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3409 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3408, i32 0, i32 0 + store ptr @65, ptr %3409, align 8 + %3410 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3408, i32 0, i32 1 + store i64 9, ptr %3410, align 4 + %3411 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3408, align 8 + %3412 = load ptr, ptr @"_llgo_func$ETeB8WwW04JEq0ztcm-XPTJtuYvtpkjIsAc0-2NT9zA", align 8 + %3413 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3414 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3413, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3411, ptr %3414, align 8 + %3415 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3413, i32 0, i32 1 + store ptr %3412, ptr %3415, align 8 + %3416 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3413, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).NumMethod", ptr %3416, align 8 + %3417 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3413, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).NumMethod", ptr %3417, align 8 + %3418 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3413, align 8 + %3419 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3420 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3419, i32 0, i32 0 + store ptr @66, ptr %3420, align 8 + %3421 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3419, i32 0, i32 1 + store i64 8, ptr %3421, align 4 + %3422 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3419, align 8 + %3423 = load ptr, ptr @"_llgo_func$YHeRw3AOvQtzv982-ZO3Yn8vh3Fx89RM3VvI8E4iKVk", align 8 + %3424 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3425 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3424, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3422, ptr %3425, align 8 + %3426 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3424, i32 0, i32 1 + store ptr %3423, ptr %3426, align 8 + %3427 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3424, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Pointers", ptr %3427, align 8 + %3428 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3424, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Pointers", ptr %3428, align 8 + %3429 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3424, align 8 + %3430 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3431 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3430, i32 0, i32 0 + store ptr @68, ptr %3431, align 8 + %3432 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3430, i32 0, i32 1 + store i64 4, ptr %3432, align 4 + %3433 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3430, align 8 + %3434 = load ptr, ptr @"_llgo_func$1kITCsyu7hFLMxHLR7kDlvu4SOra_HtrtdFUQH9P13s", align 8 + %3435 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3436 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3435, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3433, ptr %3436, align 8 + %3437 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3435, i32 0, i32 1 + store ptr %3434, ptr %3437, align 8 + %3438 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3435, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Size", ptr %3438, align 8 + %3439 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3435, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Size", ptr %3439, align 8 + %3440 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3435, align 8 + %3441 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3442 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3441, i32 0, i32 0 + store ptr @52, ptr %3442, align 8 + %3443 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3441, i32 0, i32 1 + store i64 6, ptr %3443, align 4 + %3444 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3441, align 8 + %3445 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %3446 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3447 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3446, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3444, ptr %3447, align 8 + %3448 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3446, i32 0, i32 1 + store ptr %3445, ptr %3448, align 8 + %3449 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3446, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).String", ptr %3449, align 8 + %3450 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3446, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).String", ptr %3450, align 8 + %3451 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3446, align 8 + %3452 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3453 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3452, i32 0, i32 0 + store ptr @69, ptr %3453, align 8 + %3454 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3452, i32 0, i32 1 + store i64 10, ptr %3454, align 4 + %3455 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3452, align 8 + %3456 = load ptr, ptr @"*_llgo_github.com/goplus/llgo/internal/abi.StructType", align 8 + %3457 = load ptr, ptr @"_llgo_func$qiNnn6Cbm3GtDp4gDI4U_DRV3h8zlz91s9jrfOXC--U", align 8 + %3458 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3459 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3458, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3455, ptr %3459, align 8 + %3460 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3458, i32 0, i32 1 + store ptr %3457, ptr %3460, align 8 + %3461 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3458, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).StructType", ptr %3461, align 8 + %3462 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3458, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).StructType", ptr %3462, align 8 + %3463 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3458, align 8 + %3464 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3465 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3464, i32 0, i32 0 + store ptr @79, ptr %3465, align 8 + %3466 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3464, i32 0, i32 1 + store i64 8, ptr %3466, align 4 + %3467 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3464, align 8 + %3468 = load ptr, ptr @"_llgo_func$DbD4nZv_bjE4tH8hh-VfAjMXMpNfIsMlLJJJPKupp34", align 8 + %3469 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %3470 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3469, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %3467, ptr %3470, align 8 + %3471 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3469, i32 0, i32 1 + store ptr %3468, ptr %3471, align 8 + %3472 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3469, i32 0, i32 2 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Uncommon", ptr %3472, align 8 + %3473 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %3469, i32 0, i32 3 + store ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Uncommon", ptr %3473, align 8 + %3474 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %3469, align 8 + %3475 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 800) + %3476 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %490, ptr %3476, align 8 + %3477 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %800, ptr %3477, align 8 + %3478 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 2 + store %"github.com/goplus/llgo/internal/abi.Method" %845, ptr %3478, align 8 + %3479 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 3 + store %"github.com/goplus/llgo/internal/abi.Method" %874, ptr %3479, align 8 + %3480 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 4 + store %"github.com/goplus/llgo/internal/abi.Method" %3304, ptr %3480, align 8 + %3481 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 5 + store %"github.com/goplus/llgo/internal/abi.Method" %3315, ptr %3481, align 8 + %3482 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 6 + store %"github.com/goplus/llgo/internal/abi.Method" %3327, ptr %3482, align 8 + %3483 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 7 + store %"github.com/goplus/llgo/internal/abi.Method" %3338, ptr %3483, align 8 + %3484 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 8 + store %"github.com/goplus/llgo/internal/abi.Method" %3349, ptr %3484, align 8 + %3485 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 9 + store %"github.com/goplus/llgo/internal/abi.Method" %3361, ptr %3485, align 8 + %3486 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 10 + store %"github.com/goplus/llgo/internal/abi.Method" %3372, ptr %3486, align 8 + %3487 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 11 + store %"github.com/goplus/llgo/internal/abi.Method" %3384, ptr %3487, align 8 + %3488 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 12 + store %"github.com/goplus/llgo/internal/abi.Method" %3395, ptr %3488, align 8 + %3489 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 13 + store %"github.com/goplus/llgo/internal/abi.Method" %3407, ptr %3489, align 8 + %3490 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 14 + store %"github.com/goplus/llgo/internal/abi.Method" %3418, ptr %3490, align 8 + %3491 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 15 + store %"github.com/goplus/llgo/internal/abi.Method" %3429, ptr %3491, align 8 + %3492 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 16 + store %"github.com/goplus/llgo/internal/abi.Method" %3440, ptr %3492, align 8 + %3493 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 17 + store %"github.com/goplus/llgo/internal/abi.Method" %3451, ptr %3493, align 8 + %3494 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 18 + store %"github.com/goplus/llgo/internal/abi.Method" %3463, ptr %3494, align 8 + %3495 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %3475, i64 19 + store %"github.com/goplus/llgo/internal/abi.Method" %3474, ptr %3495, align 8 + %3496 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %3497 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3496, i32 0, i32 0 + store ptr %3475, ptr %3497, align 8 + %3498 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3496, i32 0, i32 1 + store i64 20, ptr %3498, align 4 + %3499 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3496, i32 0, i32 2 + store i64 20, ptr %3499, align 4 + %3500 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3496, align 8 + %3501 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3502 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3501, i32 0, i32 0 + store ptr @3, ptr %3502, align 8 + %3503 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3501, i32 0, i32 1 + store i64 35, ptr %3503, align 4 + %3504 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3501, align 8 + %3505 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3506 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3505, i32 0, i32 0 + store ptr @19, ptr %3506, align 8 + %3507 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3505, i32 0, i32 1 + store i64 9, ptr %3507, align 4 + %3508 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3505, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %403, %"github.com/goplus/llgo/internal/runtime.String" %3504, %"github.com/goplus/llgo/internal/runtime.String" %3508, ptr %479, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %3500) + br label %_llgo_42 + +_llgo_149: ; preds = %_llgo_32 + %3509 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %366) + store ptr %3509, ptr @"[]_llgo_main.T", align 8 + br label %_llgo_150 + +_llgo_150: ; preds = %_llgo_149, %_llgo_32 + %3510 = load ptr, ptr @"[]_llgo_main.T", align 8 + %3511 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3512 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3511, i32 0, i32 0 + store ptr @0, ptr %3512, align 8 + %3513 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3511, i32 0, i32 1 + store i64 6, ptr %3513, align 4 + %3514 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3511, align 8 + %3515 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %3514, i64 25, i64 48, i64 0, i64 0) + %3516 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3517 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3516, i32 0, i32 0 + store ptr @1, ptr %3517, align 8 + %3518 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3516, i32 0, i32 1 + store i64 40, ptr %3518, align 4 + %3519 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3516, align 8 + %3520 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %3519, i64 25, i64 80, i64 0, i64 22) + %3521 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3522 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3521, i32 0, i32 0 + store ptr @0, ptr %3522, align 8 + %3523 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3521, i32 0, i32 1 + store i64 6, ptr %3523, align 4 + %3524 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3521, align 8 + %3525 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %3524, i64 25, i64 48, i64 0, i64 0) + %3526 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3527 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3526, i32 0, i32 0 + store ptr @90, ptr %3527, align 8 + %3528 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3526, i32 0, i32 1 + store i64 1, ptr %3528, align 4 + %3529 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3526, align 8 + %3530 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3531 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3530, i32 0, i32 0 + store ptr null, ptr %3531, align 8 + %3532 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3530, i32 0, i32 1 + store i64 0, ptr %3532, align 4 + %3533 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3530, align 8 + %3534 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %3515) + %3535 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %3529, ptr %3534, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %3533, i1 false) + %3536 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3537 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3536, i32 0, i32 0 + store ptr @91, ptr %3537, align 8 + %3538 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3536, i32 0, i32 1 + store i64 1, ptr %3538, align 4 + %3539 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3536, align 8 + %3540 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3541 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3540, i32 0, i32 0 + store ptr null, ptr %3541, align 8 + %3542 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3540, i32 0, i32 1 + store i64 0, ptr %3542, align 4 + %3543 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3540, align 8 + %3544 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %3520) + %3545 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %3539, ptr %3544, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %3543, i1 false) + %3546 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3547 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3546, i32 0, i32 0 + store ptr @92, ptr %3547, align 8 + %3548 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3546, i32 0, i32 1 + store i64 1, ptr %3548, align 4 + %3549 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3546, align 8 + %3550 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3551 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3550, i32 0, i32 0 + store ptr null, ptr %3551, align 8 + %3552 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3550, i32 0, i32 1 + store i64 0, ptr %3552, align 4 + %3553 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3550, align 8 + %3554 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44) + %3555 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %3549, ptr %3554, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %3553, i1 false) + %3556 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3557 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3556, i32 0, i32 0 + store ptr @93, ptr %3557, align 8 + %3558 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3556, i32 0, i32 1 + store i64 1, ptr %3558, align 4 + %3559 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3556, align 8 + %3560 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3561 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3560, i32 0, i32 0 + store ptr null, ptr %3561, align 8 + %3562 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3560, i32 0, i32 1 + store i64 0, ptr %3562, align 4 + %3563 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3560, align 8 + %3564 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %3525) + %3565 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %3559, ptr %3564, i64 24, %"github.com/goplus/llgo/internal/runtime.String" %3563, i1 false) + %3566 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3567 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3566, i32 0, i32 0 + store ptr @7, ptr %3567, align 8 + %3568 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3566, i32 0, i32 1 + store i64 4, ptr %3568, align 4 + %3569 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3566, align 8 + %3570 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) + %3571 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %3570, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %3535, ptr %3571, align 8 + %3572 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %3570, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %3545, ptr %3572, align 8 + %3573 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %3570, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %3555, ptr %3573, align 8 + %3574 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %3570, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %3565, ptr %3574, align 8 + %3575 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %3576 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3575, i32 0, i32 0 + store ptr %3570, ptr %3576, align 8 + %3577 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3575, i32 0, i32 1 + store i64 4, ptr %3577, align 4 + %3578 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3575, i32 0, i32 2 + store i64 4, ptr %3578, align 4 + %3579 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %3575, align 8 + %3580 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %3569, i64 48, %"github.com/goplus/llgo/internal/runtime.Slice" %3579) + store ptr %3580, ptr @"main.struct$FYfyNCnlvkYOztpQWjt-y8D_WY3tpxyt5Qo62CJffTE", align 8 + %3581 = load ptr, ptr @"main.struct$FYfyNCnlvkYOztpQWjt-y8D_WY3tpxyt5Qo62CJffTE", align 8 + br i1 %6, label %_llgo_151, label %_llgo_152 + +_llgo_151: ; preds = %_llgo_150 + %3582 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3583 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3582, i32 0, i32 0 + store ptr @7, ptr %3583, align 8 + %3584 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3582, i32 0, i32 1 + store i64 4, ptr %3584, align 4 + %3585 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3582, align 8 + %3586 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3587 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3586, i32 0, i32 0 + store ptr @94, ptr %3587, align 8 + %3588 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3586, i32 0, i32 1 + store i64 1, ptr %3588, align 4 + %3589 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3586, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %4, %"github.com/goplus/llgo/internal/runtime.String" %3585, %"github.com/goplus/llgo/internal/runtime.String" %3589, ptr %3581, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + br label %_llgo_152 + +_llgo_152: ; preds = %_llgo_151, %_llgo_150 + ret void } declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, i64) -declare ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String", i64, %"github.com/goplus/llgo/internal/runtime.Slice") - -declare %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String", ptr, i64, %"github.com/goplus/llgo/internal/runtime.String", i1) - declare ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr) -declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64) - -declare ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr) - -declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64) - -declare void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr, %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", ptr, %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice") - declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr) +declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64) + +declare void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr, %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", ptr, %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice") + declare 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 ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String", i64, %"github.com/goplus/llgo/internal/runtime.Slice") + +declare %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String", ptr, i64, %"github.com/goplus/llgo/internal/runtime.String", i1) + declare i64 @"github.com/goplus/llgo/internal/abi.(*Type).Align"(ptr) declare i64 @"github.com/goplus/llgo/internal/abi.(*ArrayType).Align"(ptr) @@ -5315,9 +6422,7 @@ declare i64 @"github.com/goplus/llgo/internal/abi.(*ArrayType).ChanDir"(ptr) declare ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).Common"(ptr) -declare %"github.com/goplus/llgo/internal/runtime.Slice" @"github.com/goplus/llgo/internal/abi.(*ArrayType).ExportedMethods"(ptr) - -declare i64 @"github.com/goplus/llgo/internal/abi.(*ArrayType).FieldAlign"(ptr) +declare ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr) declare i64 @"github.com/goplus/llgo/internal/abi.(*FuncType).Align"(ptr) @@ -5339,6 +6444,12 @@ declare i1 @"github.com/goplus/llgo/internal/abi.(*FuncType).HasName"(ptr) declare i1 @"github.com/goplus/llgo/internal/abi.(*FuncType).IfaceIndir"(ptr) +declare i1 @"github.com/goplus/llgo/internal/abi.(*Imethod).Exported"(ptr) + +declare %"github.com/goplus/llgo/internal/runtime.String" @"github.com/goplus/llgo/internal/abi.(*Imethod).Name"(ptr) + +declare %"github.com/goplus/llgo/internal/runtime.String" @"github.com/goplus/llgo/internal/abi.(*Imethod).PkgPath"(ptr) + declare i64 @"github.com/goplus/llgo/internal/abi.(*InterfaceType).Align"(ptr) declare ptr @"github.com/goplus/llgo/internal/abi.(*InterfaceType).ArrayType"(ptr) @@ -5419,6 +6530,10 @@ declare i64 @"github.com/goplus/llgo/internal/abi.(*MapType).Size"(ptr) declare %"github.com/goplus/llgo/internal/runtime.String" @"github.com/goplus/llgo/internal/abi.(*MapType).String"(ptr) +declare i1 @"github.com/goplus/llgo/internal/abi.(*StructField).Embedded"(ptr) + +declare i1 @"github.com/goplus/llgo/internal/abi.(*StructField).Exported"(ptr) + declare i64 @"github.com/goplus/llgo/internal/abi.(*StructType).Align"(ptr) declare ptr @"github.com/goplus/llgo/internal/abi.(*StructType).ArrayType"(ptr) @@ -5511,6 +6626,16 @@ declare ptr @"github.com/goplus/llgo/internal/abi.(*FuncType).Uncommon"(ptr) declare i1 @"github.com/goplus/llgo/internal/abi.(*FuncType).Variadic"(ptr) +declare i1 @"github.com/goplus/llgo/internal/abi.(*Method).Exported"(ptr) + +declare %"github.com/goplus/llgo/internal/runtime.String" @"github.com/goplus/llgo/internal/abi.(*Method).Name"(ptr) + +declare %"github.com/goplus/llgo/internal/runtime.String" @"github.com/goplus/llgo/internal/abi.(*Method).PkgPath"(ptr) + +declare %"github.com/goplus/llgo/internal/runtime.Slice" @"github.com/goplus/llgo/internal/abi.(*ArrayType).ExportedMethods"(ptr) + +declare i64 @"github.com/goplus/llgo/internal/abi.(*ArrayType).FieldAlign"(ptr) + declare ptr @"github.com/goplus/llgo/internal/abi.(*ArrayType).FuncType"(ptr) declare i1 @"github.com/goplus/llgo/internal/abi.(*ArrayType).HasName"(ptr) diff --git a/cl/_testrt/any/out.ll b/cl/_testrt/any/out.ll index 088408a5..f5a7b2ba 100644 --- a/cl/_testrt/any/out.ll +++ b/cl/_testrt/any/out.ll @@ -18,31 +18,32 @@ source_filename = "main" define ptr @main.hi(%"github.com/goplus/llgo/internal/runtime.eface" %0) { _llgo_0: %1 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %0, 0 - %2 = load ptr, ptr @"*_llgo_int8", align 8 - %3 = icmp eq ptr %1, %2 - br i1 %3, label %_llgo_1, label %_llgo_2 + %2 = load ptr, ptr @_llgo_int8, align 8 + %3 = load ptr, ptr @"*_llgo_int8", align 8 + %4 = icmp eq ptr %1, %3 + br i1 %4, label %_llgo_1, label %_llgo_2 _llgo_1: ; preds = %_llgo_0 - %4 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %0, 1 - ret ptr %4 + %5 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %0, 1 + ret ptr %5 _llgo_2: ; preds = %_llgo_0 - %5 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %5, i32 0, i32 0 - store ptr @0, ptr %6, align 8 - %7 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %5, i32 0, i32 1 - store i64 21, ptr %7, align 4 - %8 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %5, align 8 - %9 = load ptr, ptr @_llgo_string, align 8 - %10 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %8, ptr %10, align 8 - %11 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %12 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %11, i32 0, i32 0 - store ptr %9, ptr %12, align 8 - %13 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %11, i32 0, i32 1 + %6 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %7 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %6, i32 0, i32 0 + store ptr @0, ptr %7, align 8 + %8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %6, i32 0, i32 1 + store i64 21, ptr %8, align 4 + %9 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %6, align 8 + %10 = load ptr, ptr @_llgo_string, align 8 + %11 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %9, ptr %11, align 8 + %12 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %13 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %12, i32 0, i32 0 store ptr %10, ptr %13, align 8 - %14 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %11, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %14) + %14 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %12, i32 0, i32 1 + store ptr %11, ptr %14, align 8 + %15 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %12, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %15) unreachable } diff --git a/cl/_testrt/eface/out.ll b/cl/_testrt/eface/out.ll index 3b9f81fc..d62e71f1 100644 --- a/cl/_testrt/eface/out.ll +++ b/cl/_testrt/eface/out.ll @@ -31,8 +31,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 -@"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o" = 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 @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 @@ -322,102 +323,103 @@ _llgo_0: store ptr null, ptr %70, align 8 %71 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %68, align 8 call void @main.dump(%"github.com/goplus/llgo/internal/runtime.eface" %71) - %72 = load ptr, ptr @_llgo_int, align 8 - %73 = load ptr, ptr @"[10]_llgo_int", align 8 - %74 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) - store [10 x i64] zeroinitializer, ptr %74, align 4 - %75 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %76 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %75, i32 0, i32 0 + %72 = load ptr, ptr @"[10]_llgo_int", align 8 + %73 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) + store [10 x i64] zeroinitializer, ptr %73, align 4 + %74 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %75 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %74, i32 0, i32 0 + store ptr %72, ptr %75, align 8 + %76 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %74, i32 0, i32 1 store ptr %73, ptr %76, align 8 - %77 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %75, i32 0, i32 1 - store ptr %74, ptr %77, align 8 - %78 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %75, align 8 - call void @main.dump(%"github.com/goplus/llgo/internal/runtime.eface" %78) - %79 = alloca { ptr, ptr }, align 8 - %80 = getelementptr inbounds { ptr, ptr }, ptr %79, i32 0, i32 0 - store ptr @"__llgo_stub.main.main$1", ptr %80, align 8 - %81 = getelementptr inbounds { ptr, ptr }, ptr %79, i32 0, i32 1 - store ptr null, ptr %81, align 8 - %82 = load { ptr, ptr }, ptr %79, align 8 - %83 = load ptr, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 - %84 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store { ptr, ptr } %82, ptr %84, align 8 - %85 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %86 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %85, i32 0, i32 0 - store ptr %83, ptr %86, align 8 - %87 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %85, i32 0, i32 1 + %77 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %74, align 8 + call void @main.dump(%"github.com/goplus/llgo/internal/runtime.eface" %77) + %78 = alloca { ptr, ptr }, align 8 + %79 = getelementptr inbounds { ptr, ptr }, ptr %78, i32 0, i32 0 + store ptr @"__llgo_stub.main.main$1", ptr %79, align 8 + %80 = getelementptr inbounds { ptr, ptr }, ptr %78, i32 0, i32 1 + store ptr null, ptr %80, align 8 + %81 = load { ptr, ptr }, ptr %78, align 8 + %82 = load ptr, ptr @_llgo_Pointer, align 8 + %83 = load ptr, ptr @"_llgo_func$CqBkokmWG3Ia8PBDErMKLrnXwWQ3khfTBm7VXk_2y30", align 8 + %84 = load ptr, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 + %85 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store { ptr, ptr } %81, ptr %85, align 8 + %86 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %87 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %86, i32 0, i32 0 store ptr %84, ptr %87, align 8 - %88 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %85, align 8 - call void @main.dump(%"github.com/goplus/llgo/internal/runtime.eface" %88) - %89 = load ptr, ptr @"*_llgo_int", align 8 - %90 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %90, i32 0, i32 0 - store ptr %89, ptr %91, align 8 - %92 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %90, i32 0, i32 1 - store ptr null, ptr %92, align 8 - %93 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %90, align 8 - call void @main.dump(%"github.com/goplus/llgo/internal/runtime.eface" %93) - %94 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 0) - %95 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %96 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %95, i32 0, i32 0 - store ptr %94, ptr %96, align 8 - %97 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %95, i32 0, i32 1 - store i64 0, ptr %97, align 4 - %98 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %95, i32 0, i32 2 + %88 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %86, i32 0, i32 1 + store ptr %85, ptr %88, align 8 + %89 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %86, align 8 + call void @main.dump(%"github.com/goplus/llgo/internal/runtime.eface" %89) + %90 = load ptr, ptr @"*_llgo_int", align 8 + %91 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %92 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %91, i32 0, i32 0 + store ptr %90, ptr %92, align 8 + %93 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %91, i32 0, i32 1 + store ptr null, ptr %93, align 8 + %94 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %91, align 8 + call void @main.dump(%"github.com/goplus/llgo/internal/runtime.eface" %94) + %95 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 0) + %96 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %97 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %96, i32 0, i32 0 + store ptr %95, ptr %97, align 8 + %98 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %96, i32 0, i32 1 store i64 0, ptr %98, align 4 - %99 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %95, align 8 - %100 = load ptr, ptr @"[]_llgo_int", align 8 - %101 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - store %"github.com/goplus/llgo/internal/runtime.Slice" %99, ptr %101, align 8 - %102 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %103 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %102, i32 0, i32 0 - store ptr %100, ptr %103, align 8 - %104 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %102, i32 0, i32 1 + %99 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %96, i32 0, i32 2 + store i64 0, ptr %99, align 4 + %100 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %96, align 8 + %101 = load ptr, ptr @"[]_llgo_int", align 8 + %102 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + store %"github.com/goplus/llgo/internal/runtime.Slice" %100, ptr %102, align 8 + %103 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %104 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %103, i32 0, i32 0 store ptr %101, ptr %104, align 8 - %105 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %102, align 8 - call void @main.dump(%"github.com/goplus/llgo/internal/runtime.eface" %105) - %106 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %107 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %106, i32 0, i32 0 - store ptr @6, ptr %107, align 8 - %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %106, i32 0, i32 1 - store i64 5, ptr %108, align 4 - %109 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %106, align 8 - %110 = load ptr, ptr @_llgo_string, align 8 - %111 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %109, ptr %111, align 8 - %112 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %113 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %112, i32 0, i32 0 - store ptr %110, ptr %113, align 8 - %114 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %112, i32 0, i32 1 + %105 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %103, i32 0, i32 1 + store ptr %102, ptr %105, align 8 + %106 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %103, align 8 + call void @main.dump(%"github.com/goplus/llgo/internal/runtime.eface" %106) + %107 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %107, i32 0, i32 0 + store ptr @6, ptr %108, align 8 + %109 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %107, i32 0, i32 1 + store i64 5, ptr %109, align 4 + %110 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %107, align 8 + %111 = load ptr, ptr @_llgo_string, align 8 + %112 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %110, ptr %112, align 8 + %113 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %114 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %113, i32 0, i32 0 store ptr %111, ptr %114, align 8 - %115 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %112, align 8 - call void @main.dump(%"github.com/goplus/llgo/internal/runtime.eface" %115) - %116 = load ptr, ptr @"main.struct$RKbUG45GE4henGMAdmt0Rju0JptyR8NsX7IZLsOI0OM", align 8 - %117 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - store { i8, i64, i64 } zeroinitializer, ptr %117, align 4 - %118 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %119 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %118, i32 0, i32 0 - store ptr %116, ptr %119, align 8 - %120 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %118, i32 0, i32 1 + %115 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %113, i32 0, i32 1 + store ptr %112, ptr %115, align 8 + %116 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %113, align 8 + call void @main.dump(%"github.com/goplus/llgo/internal/runtime.eface" %116) + %117 = load ptr, ptr @"main.struct$RKbUG45GE4henGMAdmt0Rju0JptyR8NsX7IZLsOI0OM", align 8 + %118 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + store { i8, i64, i64 } zeroinitializer, ptr %118, align 4 + %119 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %120 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %119, i32 0, i32 0 store ptr %117, ptr %120, align 8 - %121 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %118, align 8 - call void @main.dump(%"github.com/goplus/llgo/internal/runtime.eface" %121) - %122 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %123 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %122, i32 0, i32 0 - store ptr null, ptr %123, align 8 - %124 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %122, i32 0, i32 1 - store i64 0, ptr %124, align 4 - %125 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %122, align 8 - %126 = load ptr, ptr @_llgo_main.T, align 8 - %127 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %125, ptr %127, align 8 - %128 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %129 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %128, i32 0, i32 0 - store ptr %126, ptr %129, align 8 - %130 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %128, i32 0, i32 1 + %121 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %119, i32 0, i32 1 + store ptr %118, ptr %121, align 8 + %122 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %119, align 8 + call void @main.dump(%"github.com/goplus/llgo/internal/runtime.eface" %122) + %123 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %124 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %123, i32 0, i32 0 + store ptr null, ptr %124, align 8 + %125 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %123, i32 0, i32 1 + store i64 0, ptr %125, align 4 + %126 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %123, align 8 + %127 = load ptr, ptr @_llgo_main.T, align 8 + %128 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %126, ptr %128, align 8 + %129 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %130 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %129, i32 0, i32 0 store ptr %127, ptr %130, align 8 - %131 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %128, align 8 - call void @main.dump(%"github.com/goplus/llgo/internal/runtime.eface" %131) + %131 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %129, i32 0, i32 1 + store ptr %128, ptr %131, align 8 + %132 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %129, align 8 + call void @main.dump(%"github.com/goplus/llgo/internal/runtime.eface" %132) ret i32 0 } @@ -613,267 +615,299 @@ _llgo_31: ; preds = %_llgo_30 _llgo_32: ; preds = %_llgo_31, %_llgo_30 %49 = load ptr, ptr @_llgo_Pointer, align 8 - %50 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %50, i32 0, i32 0 - store ptr @3, ptr %51, align 8 - %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %50, i32 0, i32 1 - store i64 1, ptr %52, align 4 - %53 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %50, align 8 - %54 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %55 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %54, i32 0, i32 0 - store ptr null, ptr %55, align 8 - %56 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %54, i32 0, i32 1 - store i64 0, ptr %56, align 4 - %57 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %54, align 8 - %58 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %59 = getelementptr ptr, ptr %58, i64 0 - store ptr %49, ptr %59, align 8 - %60 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %61 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %60, i32 0, i32 0 - store ptr %58, ptr %61, align 8 - %62 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %60, i32 0, i32 1 - store i64 1, ptr %62, align 4 - %63 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %60, i32 0, i32 2 - store i64 1, ptr %63, align 4 - %64 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %60, align 8 - %65 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %66 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %67 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %66, i32 0, i32 0 - store ptr %65, ptr %67, align 8 - %68 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %66, i32 0, i32 1 - store i64 0, ptr %68, align 4 - %69 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %66, i32 0, i32 2 - store i64 0, ptr %69, align 4 - %70 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %66, align 8 - %71 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %64, %"github.com/goplus/llgo/internal/runtime.Slice" %70, i1 false) - %72 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %53, ptr %71, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %57, i1 false) - %73 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %74 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %73, i32 0, i32 0 - store ptr @4, ptr %74, align 8 - %75 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %73, i32 0, i32 1 - store i64 4, ptr %75, align 4 - %76 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %73, align 8 - %77 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %78 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %77, i32 0, i32 0 - store ptr null, ptr %78, align 8 - %79 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %77, i32 0, i32 1 - store i64 0, ptr %79, align 4 - %80 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %77, align 8 - %81 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %82 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %76, ptr %81, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %80, i1 false) - %83 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %84 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %83, i32 0, i32 0 - store ptr @5, ptr %84, align 8 - %85 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %83, i32 0, i32 1 - store i64 4, ptr %85, align 4 - %86 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %83, align 8 - %87 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %88 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %87, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %72, ptr %88, align 8 - %89 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %87, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %82, ptr %89, align 8 - %90 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %90, i32 0, i32 0 - store ptr %87, ptr %91, align 8 - %92 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %90, i32 0, i32 1 - store i64 2, ptr %92, align 4 - %93 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %90, i32 0, i32 2 - store i64 2, ptr %93, align 4 - %94 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %90, align 8 - %95 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %86, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %94) - store ptr %95, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 - %96 = load ptr, ptr @"*_llgo_int", align 8 - %97 = icmp eq ptr %96, null - br i1 %97, label %_llgo_33, label %_llgo_34 + %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 _llgo_33: ; preds = %_llgo_32 - %98 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %99 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %98) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %99) - store ptr %99, ptr @"*_llgo_int", align 8 + %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 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %55 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %54, i32 0, i32 0 + store ptr %52, ptr %55, align 8 + %56 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %54, i32 0, i32 1 + store i64 1, ptr %56, align 4 + %57 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %54, i32 0, i32 2 + store i64 1, ptr %57, align 4 + %58 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %54, align 8 + %59 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %60 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %61 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %60, i32 0, i32 0 + store ptr %59, ptr %61, align 8 + %62 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %60, i32 0, i32 1 + store i64 0, ptr %62, align 4 + %63 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %60, i32 0, i32 2 + store i64 0, ptr %63, align 4 + %64 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %60, align 8 + %65 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %58, %"github.com/goplus/llgo/internal/runtime.Slice" %64, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %65) + store ptr %65, ptr @"_llgo_func$CqBkokmWG3Ia8PBDErMKLrnXwWQ3khfTBm7VXk_2y30", align 8 br label %_llgo_34 _llgo_34: ; preds = %_llgo_33, %_llgo_32 - %100 = load ptr, ptr @"[]_llgo_int", align 8 - %101 = icmp eq ptr %100, null - br i1 %101, label %_llgo_35, label %_llgo_36 + %66 = load ptr, ptr @_llgo_Pointer, align 8 + %67 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %68 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %67, i32 0, i32 0 + store ptr @3, ptr %68, align 8 + %69 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %67, i32 0, i32 1 + store i64 1, ptr %69, align 4 + %70 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %67, align 8 + %71 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %72 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %71, i32 0, i32 0 + store ptr null, ptr %72, align 8 + %73 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %71, i32 0, i32 1 + store i64 0, ptr %73, align 4 + %74 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %71, align 8 + %75 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %76 = getelementptr ptr, ptr %75, i64 0 + store ptr %66, ptr %76, align 8 + %77 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %78 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, i32 0, i32 0 + store ptr %75, ptr %78, align 8 + %79 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, i32 0, i32 1 + store i64 1, ptr %79, align 4 + %80 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, i32 0, i32 2 + store i64 1, ptr %80, align 4 + %81 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, align 8 + %82 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %83 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %84 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %83, i32 0, i32 0 + store ptr %82, ptr %84, align 8 + %85 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %83, i32 0, i32 1 + store i64 0, ptr %85, align 4 + %86 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %83, i32 0, i32 2 + store i64 0, ptr %86, align 4 + %87 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %83, align 8 + %88 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %81, %"github.com/goplus/llgo/internal/runtime.Slice" %87, i1 false) + %89 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %70, ptr %88, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %74, i1 false) + %90 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %90, i32 0, i32 0 + store ptr @4, ptr %91, align 8 + %92 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %90, i32 0, i32 1 + store i64 4, ptr %92, align 4 + %93 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %90, align 8 + %94 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %95 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %94, i32 0, i32 0 + store ptr null, ptr %95, align 8 + %96 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %94, i32 0, i32 1 + store i64 0, ptr %96, align 4 + %97 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %94, align 8 + %98 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %99 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %93, ptr %98, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %97, i1 false) + %100 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %101 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %100, i32 0, i32 0 + store ptr @5, ptr %101, align 8 + %102 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %100, i32 0, i32 1 + store i64 4, ptr %102, align 4 + %103 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %100, align 8 + %104 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %105 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %104, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %89, ptr %105, align 8 + %106 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %104, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %99, ptr %106, align 8 + %107 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %107, i32 0, i32 0 + store ptr %104, ptr %108, align 8 + %109 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %107, i32 0, i32 1 + store i64 2, ptr %109, align 4 + %110 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %107, i32 0, i32 2 + store i64 2, ptr %110, align 4 + %111 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %107, align 8 + %112 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %103, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %111) + store ptr %112, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 + %113 = load ptr, ptr @"*_llgo_int", align 8 + %114 = icmp eq ptr %113, null + br i1 %114, label %_llgo_35, label %_llgo_36 _llgo_35: ; preds = %_llgo_34 - %102 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %103 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %102) - store ptr %103, ptr @"[]_llgo_int", align 8 + %115 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %116 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %115) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %116) + store ptr %116, ptr @"*_llgo_int", align 8 br label %_llgo_36 _llgo_36: ; preds = %_llgo_35, %_llgo_34 - %104 = load ptr, ptr @_llgo_string, align 8 - %105 = icmp eq ptr %104, null - br i1 %105, label %_llgo_37, label %_llgo_38 + %117 = load ptr, ptr @"[]_llgo_int", align 8 + %118 = icmp eq ptr %117, null + br i1 %118, label %_llgo_37, label %_llgo_38 _llgo_37: ; preds = %_llgo_36 - %106 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - store ptr %106, ptr @_llgo_string, align 8 + %119 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %120 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %119) + store ptr %120, ptr @"[]_llgo_int", align 8 br label %_llgo_38 _llgo_38: ; preds = %_llgo_37, %_llgo_36 - %107 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %107, i32 0, i32 0 - store ptr @7, ptr %108, align 8 - %109 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %107, i32 0, i32 1 - store i64 1, ptr %109, align 4 - %110 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %107, align 8 - %111 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %112 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %111, i32 0, i32 0 - store ptr null, ptr %112, align 8 - %113 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %111, i32 0, i32 1 - store i64 0, ptr %113, align 4 - %114 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %111, align 8 - %115 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35) - %116 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %110, ptr %115, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %114, i1 false) - %117 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %118 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %117, i32 0, i32 0 - store ptr @8, ptr %118, align 8 - %119 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %117, i32 0, i32 1 - store i64 1, ptr %119, align 4 - %120 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %117, align 8 - %121 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %122 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %121, i32 0, i32 0 - store ptr null, ptr %122, align 8 - %123 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %121, i32 0, i32 1 - store i64 0, ptr %123, align 4 - %124 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %121, align 8 - %125 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %126 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %120, ptr %125, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %124, i1 false) - %127 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %128 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %127, i32 0, i32 0 - store ptr @9, ptr %128, align 8 - %129 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %127, i32 0, i32 1 - store i64 1, ptr %129, align 4 - %130 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %127, align 8 - %131 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %132 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %131, i32 0, i32 0 - store ptr null, ptr %132, align 8 - %133 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %131, i32 0, i32 1 - store i64 0, ptr %133, align 4 - %134 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %131, align 8 - %135 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %136 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %130, ptr %135, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %134, i1 false) - %137 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %138 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %137, i32 0, i32 0 - store ptr @5, ptr %138, align 8 - %139 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %137, i32 0, i32 1 - store i64 4, ptr %139, align 4 - %140 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %137, align 8 - %141 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) - %142 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %141, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %116, ptr %142, align 8 - %143 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %141, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %126, ptr %143, align 8 - %144 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %141, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %136, ptr %144, align 8 - %145 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %146 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %145, i32 0, i32 0 - store ptr %141, ptr %146, align 8 - %147 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %145, i32 0, i32 1 - store i64 3, ptr %147, align 4 - %148 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %145, i32 0, i32 2 - store i64 3, ptr %148, align 4 - %149 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %145, align 8 - %150 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %140, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %149) - store ptr %150, ptr @"main.struct$RKbUG45GE4henGMAdmt0Rju0JptyR8NsX7IZLsOI0OM", align 8 - %151 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %152 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %151, i32 0, i32 0 - store ptr @10, ptr %152, align 8 - %153 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %151, i32 0, i32 1 - store i64 6, ptr %153, align 4 - %154 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %151, align 8 - %155 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %154, i64 24, i64 16, i64 0, i64 1) - %156 = load ptr, ptr @_llgo_main.T, align 8 - %157 = icmp eq ptr %156, null - br i1 %157, label %_llgo_39, label %_llgo_40 + %121 = load ptr, ptr @_llgo_string, align 8 + %122 = icmp eq ptr %121, null + br i1 %122, label %_llgo_39, label %_llgo_40 _llgo_39: ; preds = %_llgo_38 - store ptr %155, ptr @_llgo_main.T, align 8 + %123 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + store ptr %123, ptr @_llgo_string, align 8 br label %_llgo_40 _llgo_40: ; preds = %_llgo_39, %_llgo_38 - %158 = load ptr, ptr @_llgo_string, align 8 - br i1 %157, label %_llgo_41, label %_llgo_42 + %124 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %125 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %124, i32 0, i32 0 + store ptr @7, ptr %125, align 8 + %126 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %124, i32 0, i32 1 + store i64 1, ptr %126, align 4 + %127 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %124, align 8 + %128 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %129 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %128, i32 0, i32 0 + store ptr null, ptr %129, align 8 + %130 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %128, i32 0, i32 1 + store i64 0, ptr %130, align 4 + %131 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %128, align 8 + %132 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35) + %133 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %127, ptr %132, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %131, i1 false) + %134 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %135 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %134, i32 0, i32 0 + store ptr @8, ptr %135, align 8 + %136 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %134, i32 0, i32 1 + store i64 1, ptr %136, align 4 + %137 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %134, align 8 + %138 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %139 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %138, i32 0, i32 0 + store ptr null, ptr %139, align 8 + %140 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %138, i32 0, i32 1 + store i64 0, ptr %140, align 4 + %141 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %138, align 8 + %142 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %143 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %137, ptr %142, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %141, i1 false) + %144 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %145 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %144, i32 0, i32 0 + store ptr @9, ptr %145, align 8 + %146 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %144, i32 0, i32 1 + store i64 1, ptr %146, align 4 + %147 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %144, align 8 + %148 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %149 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %148, i32 0, i32 0 + store ptr null, ptr %149, align 8 + %150 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %148, i32 0, i32 1 + store i64 0, ptr %150, align 4 + %151 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %148, align 8 + %152 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %153 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %147, ptr %152, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %151, i1 false) + %154 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %155 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %154, i32 0, i32 0 + store ptr @5, ptr %155, align 8 + %156 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %154, i32 0, i32 1 + store i64 4, ptr %156, align 4 + %157 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %154, align 8 + %158 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168) + %159 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %158, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %133, ptr %159, align 8 + %160 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %158, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %143, ptr %160, align 8 + %161 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %158, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %153, ptr %161, align 8 + %162 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %163 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %162, i32 0, i32 0 + store ptr %158, ptr %163, align 8 + %164 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %162, i32 0, i32 1 + store i64 3, ptr %164, align 4 + %165 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %162, i32 0, i32 2 + store i64 3, ptr %165, align 4 + %166 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %162, align 8 + %167 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %157, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %166) + store ptr %167, ptr @"main.struct$RKbUG45GE4henGMAdmt0Rju0JptyR8NsX7IZLsOI0OM", align 8 + %168 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %169 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %168, i32 0, i32 0 + store ptr @10, ptr %169, align 8 + %170 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %168, i32 0, i32 1 + store i64 6, ptr %170, align 4 + %171 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %168, align 8 + %172 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %171, i64 24, i64 16, i64 0, i64 1) + %173 = load ptr, ptr @_llgo_main.T, align 8 + %174 = icmp eq ptr %173, null + br i1 %174, label %_llgo_41, label %_llgo_42 _llgo_41: ; preds = %_llgo_40 - %159 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %160 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %159, i32 0, i32 0 - store ptr @11, ptr %160, align 8 - %161 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %159, i32 0, i32 1 - store i64 6, ptr %161, align 4 - %162 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %159, align 8 - %163 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %164 = icmp eq ptr %163, null - br i1 %164, label %_llgo_43, label %_llgo_44 + store ptr %172, ptr @_llgo_main.T, align 8 + br label %_llgo_42 -_llgo_42: ; preds = %_llgo_44, %_llgo_40 +_llgo_42: ; preds = %_llgo_41, %_llgo_40 + %175 = load ptr, ptr @_llgo_string, align 8 + br i1 %174, label %_llgo_43, label %_llgo_44 + +_llgo_43: ; preds = %_llgo_42 + %176 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %177 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %176, i32 0, i32 0 + store ptr @11, ptr %177, align 8 + %178 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %176, i32 0, i32 1 + store i64 6, ptr %178, align 4 + %179 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %176, align 8 + %180 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %181 = icmp eq ptr %180, null + br i1 %181, label %_llgo_45, label %_llgo_46 + +_llgo_44: ; preds = %_llgo_46, %_llgo_42 ret void -_llgo_43: ; preds = %_llgo_41 - %165 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %166 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %167 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %166, i32 0, i32 0 - store ptr %165, ptr %167, align 8 - %168 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %166, i32 0, i32 1 - store i64 0, ptr %168, align 4 - %169 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %166, i32 0, i32 2 - store i64 0, ptr %169, align 4 - %170 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %166, align 8 - %171 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %172 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %173 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %172, i32 0, i32 0 - store ptr %171, ptr %173, align 8 - %174 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %172, i32 0, i32 1 - store i64 0, ptr %174, align 4 - %175 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %172, i32 0, i32 2 - store i64 0, ptr %175, align 4 - %176 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %172, align 8 - %177 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %170, %"github.com/goplus/llgo/internal/runtime.Slice" %176, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %177) - store ptr %177, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - br label %_llgo_44 +_llgo_45: ; preds = %_llgo_43 + %182 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %183 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %184 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %183, i32 0, i32 0 + store ptr %182, ptr %184, align 8 + %185 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %183, i32 0, i32 1 + store i64 0, ptr %185, align 4 + %186 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %183, i32 0, i32 2 + store i64 0, ptr %186, align 4 + %187 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %183, align 8 + %188 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %189 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %190 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %189, i32 0, i32 0 + store ptr %188, ptr %190, align 8 + %191 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %189, i32 0, i32 1 + store i64 0, ptr %191, align 4 + %192 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %189, i32 0, i32 2 + store i64 0, ptr %192, align 4 + %193 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %189, align 8 + %194 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %187, %"github.com/goplus/llgo/internal/runtime.Slice" %193, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %194) + store ptr %194, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + br label %_llgo_46 -_llgo_44: ; preds = %_llgo_43, %_llgo_41 - %178 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %179 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %180 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %179, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %162, ptr %180, align 8 - %181 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %179, i32 0, i32 1 - store ptr %178, ptr %181, align 8 - %182 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %179, i32 0, i32 2 - store ptr @"main.(*T).Invoke", ptr %182, align 8 - %183 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %179, i32 0, i32 3 - store ptr @"main.(*T).Invoke", ptr %183, align 8 - %184 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %179, align 8 - %185 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %186 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %185, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %184, ptr %186, align 8 - %187 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %188 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %187, i32 0, i32 0 - store ptr %185, ptr %188, align 8 - %189 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %187, i32 0, i32 1 - store i64 1, ptr %189, align 4 - %190 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %187, i32 0, i32 2 - store i64 1, ptr %190, align 4 - %191 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %187, align 8 - %192 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %193 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %192, i32 0, i32 0 - store ptr @5, ptr %193, align 8 - %194 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %192, i32 0, i32 1 - store i64 4, ptr %194, align 4 - %195 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %192, align 8 - %196 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %197 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %196, i32 0, i32 0 - store ptr @12, ptr %197, align 8 - %198 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %196, i32 0, i32 1 - store i64 1, ptr %198, align 4 - %199 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %196, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %155, %"github.com/goplus/llgo/internal/runtime.String" %195, %"github.com/goplus/llgo/internal/runtime.String" %199, ptr %158, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %191) - br label %_llgo_42 +_llgo_46: ; preds = %_llgo_45, %_llgo_43 + %195 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %196 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %197 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %196, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %179, ptr %197, align 8 + %198 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %196, i32 0, i32 1 + store ptr %195, ptr %198, align 8 + %199 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %196, i32 0, i32 2 + store ptr @"main.(*T).Invoke", ptr %199, align 8 + %200 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %196, i32 0, i32 3 + store ptr @"main.(*T).Invoke", ptr %200, align 8 + %201 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %196, align 8 + %202 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %203 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %202, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %201, ptr %203, align 8 + %204 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %205 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %204, i32 0, i32 0 + store ptr %202, ptr %205, align 8 + %206 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %204, i32 0, i32 1 + store i64 1, ptr %206, align 4 + %207 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %204, i32 0, i32 2 + store i64 1, ptr %207, align 4 + %208 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %204, align 8 + %209 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %210 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %209, i32 0, i32 0 + store ptr @5, ptr %210, align 8 + %211 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %209, i32 0, i32 1 + store i64 4, ptr %211, align 4 + %212 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %209, align 8 + %213 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %214 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %213, i32 0, i32 0 + store ptr @12, ptr %214, align 8 + %215 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %213, i32 0, i32 1 + store i64 1, ptr %215, align 4 + %216 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %213, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %172, %"github.com/goplus/llgo/internal/runtime.String" %212, %"github.com/goplus/llgo/internal/runtime.String" %216, ptr %175, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %208) + br label %_llgo_44 } declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64) @@ -890,12 +924,12 @@ _llgo_0: 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.Struct"(%"github.com/goplus/llgo/internal/runtime.String", i64, %"github.com/goplus/llgo/internal/runtime.Slice") declare %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String", ptr, i64, %"github.com/goplus/llgo/internal/runtime.String", i1) -declare 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.PointerTo"(ptr) declare ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr) diff --git a/cl/_testrt/funcdecl/out.ll b/cl/_testrt/funcdecl/out.ll index 5b91767a..73d3073a 100644 --- a/cl/_testrt/funcdecl/out.ll +++ b/cl/_testrt/funcdecl/out.ll @@ -8,8 +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 -@"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o" = 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 @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 @@ -28,98 +29,100 @@ _llgo_0: %3 = getelementptr inbounds { ptr, ptr }, ptr %1, i32 0, i32 1 store ptr null, ptr %3, align 8 %4 = load { ptr, ptr }, ptr %1, align 8 - %5 = load ptr, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 - %6 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store { ptr, ptr } %4, ptr %6, align 8 - %7 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %7, i32 0, i32 0 - store ptr %5, ptr %8, align 8 - %9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %7, i32 0, i32 1 - store ptr %6, ptr %9, align 8 - %10 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %7, align 8 - %11 = load ptr, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 - %12 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store { ptr, ptr } %0, ptr %12, align 8 - %13 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %14 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %13, i32 0, i32 0 - store ptr %11, ptr %14, align 8 - %15 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %13, i32 0, i32 1 - store ptr %12, ptr %15, align 8 - %16 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %13, align 8 - %17 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %10, 0 - %18 = load ptr, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 - %19 = icmp eq ptr %17, %18 - br i1 %19, label %_llgo_1, label %_llgo_2 + %5 = load ptr, ptr @_llgo_Pointer, align 8 + %6 = load ptr, ptr @"_llgo_func$CqBkokmWG3Ia8PBDErMKLrnXwWQ3khfTBm7VXk_2y30", align 8 + %7 = load ptr, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 + %8 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store { ptr, ptr } %4, ptr %8, align 8 + %9 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %10 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %9, i32 0, i32 0 + store ptr %7, ptr %10, align 8 + %11 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %9, i32 0, i32 1 + store ptr %8, ptr %11, align 8 + %12 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %9, align 8 + %13 = load ptr, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 + %14 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store { ptr, ptr } %0, ptr %14, align 8 + %15 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %16 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %15, i32 0, i32 0 + store ptr %13, ptr %16, align 8 + %17 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %15, i32 0, i32 1 + store ptr %14, ptr %17, align 8 + %18 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %15, align 8 + %19 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %12, 0 + %20 = load ptr, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 + %21 = icmp eq ptr %19, %20 + br i1 %21, label %_llgo_1, label %_llgo_2 _llgo_1: ; preds = %_llgo_0 - %20 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %10, 1 - %21 = load { ptr, ptr }, ptr %20, align 8 - %22 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %16, 0 - %23 = load ptr, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 - %24 = icmp eq ptr %22, %23 - br i1 %24, label %_llgo_3, label %_llgo_4 + %22 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %12, 1 + %23 = load { ptr, ptr }, ptr %22, align 8 + %24 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %18, 0 + %25 = load ptr, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 + %26 = icmp eq ptr %24, %25 + br i1 %26, label %_llgo_3, label %_llgo_4 _llgo_2: ; preds = %_llgo_0 - %25 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %26 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %25, i32 0, i32 0 - store ptr @3, ptr %26, align 8 - %27 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %25, i32 0, i32 1 - store i64 21, ptr %27, align 4 - %28 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %25, align 8 - %29 = load ptr, ptr @_llgo_string, align 8 - %30 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %28, ptr %30, align 8 - %31 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %32 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %31, i32 0, i32 0 - store ptr %29, ptr %32, align 8 - %33 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %31, i32 0, i32 1 - store ptr %30, ptr %33, align 8 - %34 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %31, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %34) + %27 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %28 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %27, i32 0, i32 0 + store ptr @3, ptr %28, align 8 + %29 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %27, i32 0, i32 1 + store i64 21, ptr %29, align 4 + %30 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %27, align 8 + %31 = load ptr, ptr @_llgo_string, align 8 + %32 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %30, ptr %32, align 8 + %33 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %34 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %33, i32 0, i32 0 + store ptr %31, ptr %34, align 8 + %35 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %33, i32 0, i32 1 + store ptr %32, ptr %35, align 8 + %36 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %33, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %36) unreachable _llgo_3: ; preds = %_llgo_1 - %35 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %16, 1 - %36 = load { ptr, ptr }, ptr %35, align 8 - call void @"github.com/goplus/llgo/internal/runtime.PrintEface"(%"github.com/goplus/llgo/internal/runtime.eface" %10) + %37 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %18, 1 + %38 = load { ptr, ptr }, ptr %37, align 8 + call void @"github.com/goplus/llgo/internal/runtime.PrintEface"(%"github.com/goplus/llgo/internal/runtime.eface" %12) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintEface"(%"github.com/goplus/llgo/internal/runtime.eface" %16) + call void @"github.com/goplus/llgo/internal/runtime.PrintEface"(%"github.com/goplus/llgo/internal/runtime.eface" %18) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - %37 = extractvalue { ptr, ptr } %0, 0 - call void @"github.com/goplus/llgo/internal/runtime.PrintPointer"(ptr %37) - call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - %38 = extractvalue { ptr, ptr } %21, 0 - call void @"github.com/goplus/llgo/internal/runtime.PrintPointer"(ptr %38) - call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - %39 = extractvalue { ptr, ptr } %36, 0 + %39 = extractvalue { ptr, ptr } %0, 0 call void @"github.com/goplus/llgo/internal/runtime.PrintPointer"(ptr %39) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) + %40 = extractvalue { ptr, ptr } %23, 0 + call void @"github.com/goplus/llgo/internal/runtime.PrintPointer"(ptr %40) + call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) + %41 = extractvalue { ptr, ptr } %38, 0 + call void @"github.com/goplus/llgo/internal/runtime.PrintPointer"(ptr %41) + call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) call void @"github.com/goplus/llgo/internal/runtime.PrintPointer"(ptr @main.demo) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) - %40 = call ptr @main.closurePtr(%"github.com/goplus/llgo/internal/runtime.eface" %10) - %41 = call ptr @main.closurePtr(%"github.com/goplus/llgo/internal/runtime.eface" %16) - %42 = icmp eq ptr %40, %41 - call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %42) + %42 = call ptr @main.closurePtr(%"github.com/goplus/llgo/internal/runtime.eface" %12) + %43 = call ptr @main.closurePtr(%"github.com/goplus/llgo/internal/runtime.eface" %18) + %44 = icmp eq ptr %42, %43 + call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %44) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) ret void _llgo_4: ; preds = %_llgo_1 - %43 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %44 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %43, i32 0, i32 0 - store ptr @3, ptr %44, align 8 - %45 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %43, i32 0, i32 1 - store i64 21, ptr %45, align 4 - %46 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %43, align 8 - %47 = load ptr, ptr @_llgo_string, align 8 - %48 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %46, ptr %48, align 8 - %49 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %49, i32 0, i32 0 - store ptr %47, ptr %50, align 8 - %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %49, i32 0, i32 1 - store ptr %48, ptr %51, align 8 - %52 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %49, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %52) + %45 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %46 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %45, i32 0, i32 0 + store ptr @3, ptr %46, align 8 + %47 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %45, i32 0, i32 1 + store i64 21, ptr %47, align 4 + %48 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %45, align 8 + %49 = load ptr, ptr @_llgo_string, align 8 + %50 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %48, ptr %50, align 8 + %51 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %51, i32 0, i32 0 + store ptr %49, ptr %52, align 8 + %53 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %51, i32 0, i32 1 + store ptr %50, ptr %53, align 8 + %54 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %51, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %54) unreachable } @@ -205,85 +208,117 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_1, %_llgo_0 %3 = load ptr, ptr @_llgo_Pointer, align 8 - %4 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %5 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %4, i32 0, i32 0 - store ptr @0, ptr %5, align 8 - %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %4, i32 0, i32 1 - store i64 1, ptr %6, align 4 - %7 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %4, align 8 - %8 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %8, i32 0, i32 0 - store ptr null, ptr %9, align 8 - %10 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %8, i32 0, i32 1 - store i64 0, ptr %10, align 4 - %11 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %8, align 8 - %12 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %13 = getelementptr ptr, ptr %12, i64 0 - store ptr %3, ptr %13, align 8 - %14 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %15 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %14, i32 0, i32 0 - store ptr %12, ptr %15, align 8 - %16 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %14, i32 0, i32 1 - store i64 1, ptr %16, align 4 - %17 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %14, i32 0, i32 2 - store i64 1, ptr %17, align 4 - %18 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %14, align 8 - %19 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %20 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %21 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %20, i32 0, i32 0 - store ptr %19, ptr %21, align 8 - %22 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %20, i32 0, i32 1 - store i64 0, ptr %22, align 4 - %23 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %20, i32 0, i32 2 - store i64 0, ptr %23, align 4 - %24 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %20, align 8 - %25 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %18, %"github.com/goplus/llgo/internal/runtime.Slice" %24, i1 false) - %26 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %7, ptr %25, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %11, i1 false) - %27 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %28 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %27, i32 0, i32 0 - store ptr @1, ptr %28, align 8 - %29 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %27, i32 0, i32 1 - store i64 4, ptr %29, align 4 - %30 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %27, align 8 - %31 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %32 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %31, i32 0, i32 0 - store ptr null, ptr %32, align 8 - %33 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %31, i32 0, i32 1 - store i64 0, ptr %33, align 4 - %34 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %31, align 8 - %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" %30, ptr %35, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %34, i1 false) - %37 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %38 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %37, i32 0, i32 0 - store ptr @2, ptr %38, align 8 - %39 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %37, i32 0, i32 1 - store i64 4, ptr %39, align 4 - %40 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %37, align 8 - %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" %26, 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" %36, ptr %43, align 8 - %44 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %45 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %44, i32 0, i32 0 - store ptr %41, ptr %45, align 8 - %46 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %44, i32 0, i32 1 - store i64 2, ptr %46, align 4 - %47 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %44, i32 0, i32 2 - store i64 2, ptr %47, align 4 - %48 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %44, align 8 - %49 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %40, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %48) - store ptr %49, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 - %50 = load ptr, ptr @_llgo_string, align 8 - %51 = icmp eq ptr %50, null - br i1 %51, label %_llgo_3, label %_llgo_4 + %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 _llgo_3: ; preds = %_llgo_2 - %52 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - store ptr %52, ptr @_llgo_string, align 8 + %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 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %8, i32 0, i32 0 + store ptr %6, ptr %9, align 8 + %10 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %8, i32 0, i32 1 + store i64 1, ptr %10, align 4 + %11 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %8, i32 0, i32 2 + store i64 1, ptr %11, align 4 + %12 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %8, align 8 + %13 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %14 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %15 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %14, i32 0, i32 0 + store ptr %13, ptr %15, align 8 + %16 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %14, i32 0, i32 1 + store i64 0, ptr %16, align 4 + %17 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %14, i32 0, i32 2 + store i64 0, ptr %17, align 4 + %18 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %14, align 8 + %19 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %12, %"github.com/goplus/llgo/internal/runtime.Slice" %18, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %19) + store ptr %19, ptr @"_llgo_func$CqBkokmWG3Ia8PBDErMKLrnXwWQ3khfTBm7VXk_2y30", align 8 br label %_llgo_4 _llgo_4: ; preds = %_llgo_3, %_llgo_2 + %20 = load ptr, ptr @_llgo_Pointer, align 8 + %21 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %22 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %21, i32 0, i32 0 + store ptr @0, ptr %22, align 8 + %23 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %21, i32 0, i32 1 + store i64 1, ptr %23, align 4 + %24 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %21, align 8 + %25 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %26 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %25, i32 0, i32 0 + store ptr null, ptr %26, align 8 + %27 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %25, i32 0, i32 1 + store i64 0, ptr %27, align 4 + %28 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %25, align 8 + %29 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %30 = getelementptr ptr, ptr %29, i64 0 + store ptr %20, ptr %30, align 8 + %31 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %32 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %31, i32 0, i32 0 + store ptr %29, ptr %32, align 8 + %33 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %31, i32 0, i32 1 + store i64 1, ptr %33, align 4 + %34 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %31, i32 0, i32 2 + store i64 1, ptr %34, align 4 + %35 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %31, align 8 + %36 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %37 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %38 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %37, i32 0, i32 0 + store ptr %36, ptr %38, align 8 + %39 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %37, i32 0, i32 1 + store i64 0, ptr %39, align 4 + %40 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %37, i32 0, i32 2 + store i64 0, ptr %40, align 4 + %41 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %37, align 8 + %42 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %35, %"github.com/goplus/llgo/internal/runtime.Slice" %41, i1 false) + %43 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %24, ptr %42, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %28, i1 false) + %44 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %45 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %44, i32 0, i32 0 + store ptr @1, ptr %45, align 8 + %46 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %44, i32 0, i32 1 + store i64 4, ptr %46, align 4 + %47 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %44, align 8 + %48 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %49 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %48, i32 0, i32 0 + store ptr null, ptr %49, align 8 + %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %48, i32 0, i32 1 + store i64 0, ptr %50, align 4 + %51 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %48, align 8 + %52 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %53 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %47, ptr %52, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %51, i1 false) + %54 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %55 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %54, i32 0, i32 0 + store ptr @2, ptr %55, align 8 + %56 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %54, i32 0, i32 1 + store i64 4, ptr %56, align 4 + %57 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %54, align 8 + %58 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %59 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %58, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %43, ptr %59, align 8 + %60 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %58, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %53, ptr %60, align 8 + %61 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %62 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %61, i32 0, i32 0 + store ptr %58, ptr %62, align 8 + %63 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %61, i32 0, i32 1 + store i64 2, ptr %63, align 4 + %64 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %61, i32 0, i32 2 + store i64 2, ptr %64, align 4 + %65 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %61, align 8 + %66 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %57, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %65) + store ptr %66, ptr @"main.struct$hWvPvnlB9uIZSm1cMlcssbAfCpkLhNdpCzAk4conL0o", align 8 + %67 = load ptr, ptr @_llgo_string, align 8 + %68 = icmp eq ptr %67, null + br i1 %68, label %_llgo_5, label %_llgo_6 + +_llgo_5: ; preds = %_llgo_4 + %69 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + store ptr %69, ptr @_llgo_string, align 8 + br label %_llgo_6 + +_llgo_6: ; preds = %_llgo_5, %_llgo_4 ret void } @@ -291,14 +326,14 @@ 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.Struct"(%"github.com/goplus/llgo/internal/runtime.String", i64, %"github.com/goplus/llgo/internal/runtime.Slice") - -declare %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String", ptr, i64, %"github.com/goplus/llgo/internal/runtime.String", i1) - declare 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 ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String", i64, %"github.com/goplus/llgo/internal/runtime.Slice") + +declare %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String", ptr, i64, %"github.com/goplus/llgo/internal/runtime.String", i1) + declare void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface") declare void @"github.com/goplus/llgo/internal/runtime.PrintEface"(%"github.com/goplus/llgo/internal/runtime.eface") diff --git a/cl/_testrt/len/out.ll b/cl/_testrt/len/out.ll index 57a8c49a..15ba8ab0 100644 --- a/cl/_testrt/len/out.ll +++ b/cl/_testrt/len/out.ll @@ -85,68 +85,66 @@ _llgo_0: %32 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %30, i32 0, i32 1 store i64 5, ptr %32, align 4 %33 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %30, align 8 - %34 = load ptr, ptr @_llgo_int, align 8 - %35 = load ptr, ptr @_llgo_string, align 8 - %36 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 - %37 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - store i64 1, ptr %37, align 4 - %38 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %36, ptr %29, ptr %37) - store %"github.com/goplus/llgo/internal/runtime.String" %33, ptr %38, align 8 - %39 = getelementptr inbounds %main.data, ptr %21, i32 0, i32 3 - %40 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 24) - %41 = getelementptr inbounds i64, ptr %40, i64 0 - store i64 1, ptr %41, align 4 - %42 = getelementptr inbounds i64, ptr %40, i64 1 - store i64 2, ptr %42, align 4 - %43 = getelementptr inbounds i64, ptr %40, i64 2 - store i64 3, ptr %43, align 4 - %44 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %45 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %44, i32 0, i32 0 - store ptr %40, ptr %45, align 8 - %46 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %44, i32 0, i32 1 - store i64 3, ptr %46, align 4 - %47 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %44, i32 0, i32 2 - store i64 3, ptr %47, align 4 - %48 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %44, align 8 - %49 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %49, i32 0, i32 0 - store ptr @5, ptr %50, align 8 - %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %49, i32 0, i32 1 - store i64 5, ptr %51, align 4 - %52 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %49, align 8 - store %"github.com/goplus/llgo/internal/runtime.String" %52, ptr %22, align 8 + %34 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 + %35 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + store i64 1, ptr %35, align 4 + %36 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %34, ptr %29, ptr %35) + store %"github.com/goplus/llgo/internal/runtime.String" %33, ptr %36, align 8 + %37 = getelementptr inbounds %main.data, ptr %21, i32 0, i32 3 + %38 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 24) + %39 = getelementptr inbounds i64, ptr %38, i64 0 + store i64 1, ptr %39, align 4 + %40 = getelementptr inbounds i64, ptr %38, i64 1 + store i64 2, ptr %40, align 4 + %41 = getelementptr inbounds i64, ptr %38, i64 2 + store i64 3, ptr %41, align 4 + %42 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, i32 0, i32 0 + store ptr %38, ptr %43, align 8 + %44 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, i32 0, i32 1 + store i64 3, ptr %44, align 4 + %45 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, i32 0, i32 2 + store i64 3, ptr %45, align 4 + %46 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, align 8 + %47 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %48 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %47, i32 0, i32 0 + store ptr @5, ptr %48, align 8 + %49 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %47, i32 0, i32 1 + store i64 5, ptr %49, align 4 + %50 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %47, align 8 + store %"github.com/goplus/llgo/internal/runtime.String" %50, ptr %22, align 8 store ptr %24, ptr %23, align 8 store ptr %29, ptr %25, align 8 - store %"github.com/goplus/llgo/internal/runtime.Slice" %48, ptr %39, align 8 - %53 = getelementptr inbounds %main.data, ptr %21, i32 0, i32 0 - %54 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %53, align 8 - %55 = extractvalue %"github.com/goplus/llgo/internal/runtime.String" %54, 1 - %56 = getelementptr inbounds %main.data, ptr %21, i32 0, i32 1 - %57 = load ptr, ptr %56, align 8 - %58 = call i64 @"github.com/goplus/llgo/internal/runtime.ChanLen"(ptr %57) - %59 = getelementptr inbounds %main.data, ptr %21, i32 0, i32 2 - %60 = load ptr, ptr %59, align 8 - %61 = call i64 @"github.com/goplus/llgo/internal/runtime.MapLen"(ptr %60) - %62 = getelementptr inbounds %main.data, ptr %21, i32 0, i32 3 - %63 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %62, align 8 - %64 = extractvalue %"github.com/goplus/llgo/internal/runtime.Slice" %63, 1 - %65 = getelementptr inbounds %main.data, ptr %21, i32 0, i32 1 - %66 = load ptr, ptr %65, align 8 - %67 = call i64 @"github.com/goplus/llgo/internal/runtime.ChanCap"(ptr %66) - %68 = getelementptr inbounds %main.data, ptr %21, i32 0, i32 3 - %69 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %68, align 8 - %70 = extractvalue %"github.com/goplus/llgo/internal/runtime.Slice" %69, 2 - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %55) + store %"github.com/goplus/llgo/internal/runtime.Slice" %46, ptr %37, align 8 + %51 = getelementptr inbounds %main.data, ptr %21, i32 0, i32 0 + %52 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %51, align 8 + %53 = extractvalue %"github.com/goplus/llgo/internal/runtime.String" %52, 1 + %54 = getelementptr inbounds %main.data, ptr %21, i32 0, i32 1 + %55 = load ptr, ptr %54, align 8 + %56 = call i64 @"github.com/goplus/llgo/internal/runtime.ChanLen"(ptr %55) + %57 = getelementptr inbounds %main.data, ptr %21, i32 0, i32 2 + %58 = load ptr, ptr %57, align 8 + %59 = call i64 @"github.com/goplus/llgo/internal/runtime.MapLen"(ptr %58) + %60 = getelementptr inbounds %main.data, ptr %21, i32 0, i32 3 + %61 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %60, align 8 + %62 = extractvalue %"github.com/goplus/llgo/internal/runtime.Slice" %61, 1 + %63 = getelementptr inbounds %main.data, ptr %21, i32 0, i32 1 + %64 = load ptr, ptr %63, align 8 + %65 = call i64 @"github.com/goplus/llgo/internal/runtime.ChanCap"(ptr %64) + %66 = getelementptr inbounds %main.data, ptr %21, i32 0, i32 3 + %67 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %66, align 8 + %68 = extractvalue %"github.com/goplus/llgo/internal/runtime.Slice" %67, 2 + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %53) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %58) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %56) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %61) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %59) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %64) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %62) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %67) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %65) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %70) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %68) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) ret i32 0 } diff --git a/cl/_testrt/makemap/out.ll b/cl/_testrt/makemap/out.ll index aae4b111..c780b316 100644 --- a/cl/_testrt/makemap/out.ll +++ b/cl/_testrt/makemap/out.ll @@ -37,6 +37,7 @@ source_filename = "main" @15 = private unnamed_addr constant [6 x i8] c"main.K", align 1 @_llgo_main.N = linkonce global ptr null, align 8 @16 = private unnamed_addr constant [6 x i8] c"main.N", align 1 +@_llgo_int8 = linkonce global ptr null, align 8 @"main.struct$e65EDK9vxC36Nz3YTgO1ulssLlNH03Bva_WWaCjH-4A" = linkonce global ptr null, align 8 @17 = private unnamed_addr constant [2 x i8] c"n1", align 1 @18 = private unnamed_addr constant [2 x i8] c"n2", align 1 @@ -98,132 +99,145 @@ _llgo_0: %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %4, i32 0, i32 1 store i64 5, ptr %6, align 4 %7 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %4, align 8 - %8 = load ptr, ptr @_llgo_int, align 8 - %9 = load ptr, ptr @_llgo_string, align 8 - %10 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 - %11 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - store i64 1, ptr %11, align 4 - %12 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %10, ptr %3, ptr %11) - store %"github.com/goplus/llgo/internal/runtime.String" %7, ptr %12, align 8 - %13 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %14 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %13, i32 0, i32 0 - store ptr @6, ptr %14, align 8 - %15 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %13, i32 0, i32 1 - store i64 5, ptr %15, align 4 - %16 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %13, align 8 - %17 = load ptr, ptr @_llgo_int, align 8 - %18 = load ptr, ptr @_llgo_string, align 8 - %19 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 - %20 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - store i64 2, ptr %20, align 4 - %21 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %19, ptr %3, ptr %20) - store %"github.com/goplus/llgo/internal/runtime.String" %16, ptr %21, align 8 - %22 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %23 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %22, i32 0, i32 0 - store ptr @7, ptr %23, align 8 - %24 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %22, i32 0, i32 1 - store i64 4, ptr %24, align 4 - %25 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %22, align 8 - %26 = load ptr, ptr @_llgo_int, align 8 - %27 = load ptr, ptr @_llgo_string, align 8 - %28 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 - %29 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - store i64 3, ptr %29, align 4 - %30 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %28, ptr %3, ptr %29) - store %"github.com/goplus/llgo/internal/runtime.String" %25, ptr %30, align 8 - %31 = load ptr, ptr @_llgo_int, align 8 - %32 = load ptr, ptr @_llgo_string, align 8 - %33 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 - %34 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - store i64 1, ptr %34, align 4 - %35 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAccess1"(ptr %33, ptr %3, ptr %34) - %36 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %35, align 8 - %37 = load ptr, ptr @_llgo_int, align 8 - %38 = load ptr, ptr @_llgo_string, align 8 - %39 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 - %40 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - store i64 2, ptr %40, align 4 - %41 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAccess1"(ptr %39, ptr %3, ptr %40) - %42 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %41, align 8 - %43 = call i64 @"github.com/goplus/llgo/internal/runtime.MapLen"(ptr %3) + %8 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 + %9 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + store i64 1, ptr %9, align 4 + %10 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %8, ptr %3, ptr %9) + store %"github.com/goplus/llgo/internal/runtime.String" %7, ptr %10, align 8 + %11 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %12 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %11, i32 0, i32 0 + store ptr @6, ptr %12, align 8 + %13 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %11, i32 0, i32 1 + store i64 5, ptr %13, align 4 + %14 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %11, align 8 + %15 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 + %16 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + store i64 2, ptr %16, align 4 + %17 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %15, ptr %3, ptr %16) + store %"github.com/goplus/llgo/internal/runtime.String" %14, ptr %17, align 8 + %18 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %19 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %18, i32 0, i32 0 + store ptr @7, ptr %19, align 8 + %20 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %18, i32 0, i32 1 + store i64 4, ptr %20, align 4 + %21 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %18, align 8 + %22 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 + %23 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + store i64 3, ptr %23, align 4 + %24 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %22, ptr %3, ptr %23) + store %"github.com/goplus/llgo/internal/runtime.String" %21, ptr %24, align 8 + %25 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 + %26 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + store i64 1, ptr %26, align 4 + %27 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAccess1"(ptr %25, ptr %3, ptr %26) + %28 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %27, align 8 + %29 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 + %30 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + store i64 2, ptr %30, align 4 + %31 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAccess1"(ptr %29, ptr %3, ptr %30) + %32 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %31, align 8 + %33 = call i64 @"github.com/goplus/llgo/internal/runtime.MapLen"(ptr %3) call void @"github.com/goplus/llgo/internal/runtime.PrintPointer"(ptr %3) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %36) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %28) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %42) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %32) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %43) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %33) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) - %44 = load ptr, ptr @_llgo_int, align 8 - %45 = load ptr, ptr @_llgo_string, align 8 - %46 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 - %47 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %46, ptr %3) + %34 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 + %35 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %34, ptr %3) br label %_llgo_1 _llgo_1: ; preds = %_llgo_2, %_llgo_0 - %48 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %47) - %49 = extractvalue { i1, ptr, ptr } %48, 0 - br i1 %49, label %_llgo_11, label %_llgo_12 + %36 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %35) + %37 = extractvalue { i1, ptr, ptr } %36, 0 + br i1 %37, label %_llgo_11, label %_llgo_12 _llgo_2: ; preds = %_llgo_13 - %50 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %180, 1 - %51 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %180, 2 - %52 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %53 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %52, i32 0, i32 0 - store ptr @8, ptr %53, align 8 - %54 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %52, i32 0, i32 1 - store i64 1, ptr %54, align 4 - %55 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %52, align 8 - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %50) + %38 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %154, 1 + %39 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %154, 2 + %40 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %41 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %40, i32 0, i32 0 + store ptr @8, ptr %41, align 8 + %42 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %40, i32 0, i32 1 + store i64 1, ptr %42, align 4 + %43 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %40, align 8 + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %38) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %55) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %43) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %51) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %39) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) br label %_llgo_1 _llgo_3: ; preds = %_llgo_13 - %56 = call i64 @"github.com/goplus/llgo/internal/runtime.MapLen"(ptr %3) - %57 = load ptr, ptr @_llgo_string, align 8 - %58 = load ptr, ptr @_llgo_int, align 8 - %59 = load ptr, ptr @"map[_llgo_string]_llgo_int", align 8 - %60 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %59, i64 %56) - %61 = load ptr, ptr @_llgo_int, align 8 - %62 = load ptr, ptr @_llgo_string, align 8 - %63 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 - %64 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %63, ptr %3) + %44 = call i64 @"github.com/goplus/llgo/internal/runtime.MapLen"(ptr %3) + %45 = load ptr, ptr @"map[_llgo_string]_llgo_int", align 8 + %46 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %45, i64 %44) + %47 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 + %48 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %47, ptr %3) br label %_llgo_4 _llgo_4: ; preds = %_llgo_5, %_llgo_3 - %65 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %64) - %66 = extractvalue { i1, ptr, ptr } %65, 0 - br i1 %66, label %_llgo_14, label %_llgo_15 + %49 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %48) + %50 = extractvalue { i1, ptr, ptr } %49, 0 + br i1 %50, label %_llgo_14, label %_llgo_15 _llgo_5: ; preds = %_llgo_16 - %67 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %196, 1 - %68 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %196, 2 - %69 = load ptr, ptr @_llgo_string, align 8 - %70 = load ptr, ptr @_llgo_int, align 8 - %71 = load ptr, ptr @"map[_llgo_string]_llgo_int", align 8 - %72 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %68, ptr %72, align 8 - %73 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %71, ptr %60, ptr %72) - store i64 %67, ptr %73, align 4 + %51 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %170, 1 + %52 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %170, 2 + %53 = load ptr, ptr @"map[_llgo_string]_llgo_int", align 8 + %54 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %52, ptr %54, align 8 + %55 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %53, ptr %46, ptr %54) + store i64 %51, ptr %55, align 4 br label %_llgo_4 _llgo_6: ; preds = %_llgo_16 - %74 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %75 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %74, i32 0, i32 0 - store ptr @7, ptr %75, align 8 - %76 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %74, i32 0, i32 1 - store i64 4, ptr %76, align 4 - %77 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %74, align 8 - %78 = load ptr, ptr @_llgo_string, align 8 - %79 = load ptr, ptr @_llgo_int, align 8 + %56 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %57 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %56, i32 0, i32 0 + store ptr @7, ptr %57, align 8 + %58 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %56, i32 0, i32 1 + store i64 4, ptr %58, align 4 + %59 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %56, align 8 + %60 = load ptr, ptr @"map[_llgo_string]_llgo_int", align 8 + %61 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %59, ptr %61, align 8 + %62 = call { ptr, i1 } @"github.com/goplus/llgo/internal/runtime.MapAccess2"(ptr %60, ptr %46, ptr %61) + %63 = extractvalue { ptr, i1 } %62, 0 + %64 = load i64, ptr %63, align 4 + %65 = extractvalue { ptr, i1 } %62, 1 + %66 = alloca { i64, i1 }, align 8 + %67 = getelementptr inbounds { i64, i1 }, ptr %66, i32 0, i32 0 + store i64 %64, ptr %67, align 4 + %68 = getelementptr inbounds { i64, i1 }, ptr %66, i32 0, i32 1 + store i1 %65, ptr %68, align 1 + %69 = load { i64, i1 }, ptr %66, align 4 + %70 = extractvalue { i64, i1 } %69, 0 + %71 = extractvalue { i64, i1 } %69, 1 + %72 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %73 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %72, i32 0, i32 0 + store ptr @7, ptr %73, align 8 + %74 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %72, i32 0, i32 1 + store i64 4, ptr %74, align 4 + %75 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %72, align 8 + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %75) + call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %70) + call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) + call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %71) + call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) + %76 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %77 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %76, i32 0, i32 0 + store ptr @9, ptr %77, align 8 + %78 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %76, i32 0, i32 1 + store i64 2, ptr %78, align 4 + %79 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %76, align 8 %80 = load ptr, ptr @"map[_llgo_string]_llgo_int", align 8 %81 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %77, ptr %81, align 8 - %82 = call { ptr, i1 } @"github.com/goplus/llgo/internal/runtime.MapAccess2"(ptr %80, ptr %60, ptr %81) + store %"github.com/goplus/llgo/internal/runtime.String" %79, ptr %81, align 8 + %82 = call { ptr, i1 } @"github.com/goplus/llgo/internal/runtime.MapAccess2"(ptr %80, ptr %46, ptr %81) %83 = extractvalue { ptr, i1 } %82, 0 %84 = load i64, ptr %83, align 4 %85 = extractvalue { ptr, i1 } %82, 1 @@ -237,9 +251,9 @@ _llgo_6: ; preds = %_llgo_16 %91 = extractvalue { i64, i1 } %89, 1 %92 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %93 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %92, i32 0, i32 0 - store ptr @7, ptr %93, align 8 + store ptr @9, ptr %93, align 8 %94 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %92, i32 0, i32 1 - store i64 4, ptr %94, align 4 + store i64 2, ptr %94, align 4 %95 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %92, align 8 call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %95) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) @@ -249,378 +263,326 @@ _llgo_6: ; preds = %_llgo_16 call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) %96 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 %97 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %96, i32 0, i32 0 - store ptr @9, ptr %97, align 8 + store ptr @7, ptr %97, align 8 %98 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %96, i32 0, i32 1 - store i64 2, ptr %98, align 4 + store i64 4, ptr %98, align 4 %99 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %96, align 8 - %100 = load ptr, ptr @_llgo_string, align 8 - %101 = load ptr, ptr @_llgo_int, align 8 - %102 = load ptr, ptr @"map[_llgo_string]_llgo_int", align 8 - %103 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %99, ptr %103, align 8 - %104 = call { ptr, i1 } @"github.com/goplus/llgo/internal/runtime.MapAccess2"(ptr %102, ptr %60, ptr %103) - %105 = extractvalue { ptr, i1 } %104, 0 - %106 = load i64, ptr %105, align 4 - %107 = extractvalue { ptr, i1 } %104, 1 - %108 = alloca { i64, i1 }, align 8 - %109 = getelementptr inbounds { i64, i1 }, ptr %108, i32 0, i32 0 - store i64 %106, ptr %109, align 4 - %110 = getelementptr inbounds { i64, i1 }, ptr %108, i32 0, i32 1 - store i1 %107, ptr %110, align 1 - %111 = load { i64, i1 }, ptr %108, align 4 - %112 = extractvalue { i64, i1 } %111, 0 - %113 = extractvalue { i64, i1 } %111, 1 - %114 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %115 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %114, i32 0, i32 0 - store ptr @9, ptr %115, align 8 - %116 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %114, i32 0, i32 1 - store i64 2, ptr %116, align 4 - %117 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %114, align 8 - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %117) - call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %112) - call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %113) - call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) - %118 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %119 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %118, i32 0, i32 0 - store ptr @7, ptr %119, align 8 - %120 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %118, i32 0, i32 1 - store i64 4, ptr %120, align 4 - %121 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %118, align 8 - %122 = load ptr, ptr @_llgo_string, align 8 - %123 = load ptr, ptr @_llgo_int, align 8 - %124 = load ptr, ptr @"map[_llgo_string]_llgo_int", align 8 - %125 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %121, ptr %125, align 8 - call void @"github.com/goplus/llgo/internal/runtime.MapDelete"(ptr %124, ptr %60, ptr %125) - %126 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %127 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %126, i32 0, i32 0 - store ptr @7, ptr %127, align 8 - %128 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %126, i32 0, i32 1 - store i64 4, ptr %128, align 4 - %129 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %126, align 8 - %130 = load ptr, ptr @_llgo_string, align 8 - %131 = load ptr, ptr @_llgo_int, align 8 - %132 = load ptr, ptr @"map[_llgo_string]_llgo_int", align 8 - %133 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %129, ptr %133, align 8 - %134 = call { ptr, i1 } @"github.com/goplus/llgo/internal/runtime.MapAccess2"(ptr %132, ptr %60, ptr %133) - %135 = extractvalue { ptr, i1 } %134, 0 - %136 = load i64, ptr %135, align 4 - %137 = extractvalue { ptr, i1 } %134, 1 - %138 = alloca { i64, i1 }, align 8 - %139 = getelementptr inbounds { i64, i1 }, ptr %138, i32 0, i32 0 - store i64 %136, ptr %139, align 4 - %140 = getelementptr inbounds { i64, i1 }, ptr %138, i32 0, i32 1 - store i1 %137, ptr %140, align 1 - %141 = load { i64, i1 }, ptr %138, align 4 - %142 = extractvalue { i64, i1 } %141, 0 - %143 = extractvalue { i64, i1 } %141, 1 - br i1 %143, label %_llgo_7, label %_llgo_8 + %100 = load ptr, ptr @"map[_llgo_string]_llgo_int", align 8 + %101 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %99, ptr %101, align 8 + call void @"github.com/goplus/llgo/internal/runtime.MapDelete"(ptr %100, ptr %46, ptr %101) + %102 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %103 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %102, i32 0, i32 0 + store ptr @7, ptr %103, align 8 + %104 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %102, i32 0, i32 1 + store i64 4, ptr %104, align 4 + %105 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %102, align 8 + %106 = load ptr, ptr @"map[_llgo_string]_llgo_int", align 8 + %107 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %105, ptr %107, align 8 + %108 = call { ptr, i1 } @"github.com/goplus/llgo/internal/runtime.MapAccess2"(ptr %106, ptr %46, ptr %107) + %109 = extractvalue { ptr, i1 } %108, 0 + %110 = load i64, ptr %109, align 4 + %111 = extractvalue { ptr, i1 } %108, 1 + %112 = alloca { i64, i1 }, align 8 + %113 = getelementptr inbounds { i64, i1 }, ptr %112, i32 0, i32 0 + store i64 %110, ptr %113, align 4 + %114 = getelementptr inbounds { i64, i1 }, ptr %112, i32 0, i32 1 + store i1 %111, ptr %114, align 1 + %115 = load { i64, i1 }, ptr %112, align 4 + %116 = extractvalue { i64, i1 } %115, 0 + %117 = extractvalue { i64, i1 } %115, 1 + br i1 %117, label %_llgo_7, label %_llgo_8 _llgo_7: ; preds = %_llgo_6 - %144 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %145 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %144, i32 0, i32 0 - store ptr @10, ptr %145, align 8 - %146 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %144, i32 0, i32 1 - store i64 7, ptr %146, align 4 - %147 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %144, align 8 - %148 = load ptr, ptr @_llgo_string, align 8 - %149 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %147, ptr %149, align 8 - %150 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %151 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %150, i32 0, i32 0 - store ptr %148, ptr %151, align 8 - %152 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %150, i32 0, i32 1 - store ptr %149, ptr %152, align 8 - %153 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %150, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %153) + %118 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %119 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %118, i32 0, i32 0 + store ptr @10, ptr %119, align 8 + %120 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %118, i32 0, i32 1 + store i64 7, ptr %120, align 4 + %121 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %118, align 8 + %122 = load ptr, ptr @_llgo_string, align 8 + %123 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %121, ptr %123, align 8 + %124 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %125 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %124, i32 0, i32 0 + store ptr %122, ptr %125, align 8 + %126 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %124, i32 0, i32 1 + store ptr %123, ptr %126, align 8 + %127 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %124, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %127) unreachable _llgo_8: ; preds = %_llgo_6 - %154 = call i64 @"github.com/goplus/llgo/internal/runtime.MapLen"(ptr %60) - %155 = icmp ne i64 %154, 2 - br i1 %155, label %_llgo_9, label %_llgo_10 + %128 = call i64 @"github.com/goplus/llgo/internal/runtime.MapLen"(ptr %46) + %129 = icmp ne i64 %128, 2 + br i1 %129, label %_llgo_9, label %_llgo_10 _llgo_9: ; preds = %_llgo_8 - %156 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %157 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %156, i32 0, i32 0 - store ptr @11, ptr %157, align 8 - %158 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %156, i32 0, i32 1 - store i64 7, ptr %158, align 4 - %159 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %156, align 8 - %160 = load ptr, ptr @_llgo_string, align 8 - %161 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %159, ptr %161, align 8 - %162 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %163 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %162, i32 0, i32 0 - store ptr %160, ptr %163, align 8 - %164 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %162, i32 0, i32 1 - store ptr %161, ptr %164, align 8 - %165 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %162, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %165) + %130 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %131 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %130, i32 0, i32 0 + store ptr @11, ptr %131, align 8 + %132 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %130, i32 0, i32 1 + store i64 7, ptr %132, align 4 + %133 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %130, align 8 + %134 = load ptr, ptr @_llgo_string, align 8 + %135 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %133, ptr %135, align 8 + %136 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %137 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %136, i32 0, i32 0 + store ptr %134, ptr %137, align 8 + %138 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %136, i32 0, i32 1 + store ptr %135, ptr %138, align 8 + %139 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %136, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %139) unreachable _llgo_10: ; preds = %_llgo_8 ret void _llgo_11: ; preds = %_llgo_1 - %166 = extractvalue { i1, ptr, ptr } %48, 1 - %167 = extractvalue { i1, ptr, ptr } %48, 2 - %168 = load i64, ptr %166, align 4 - %169 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %167, align 8 - %170 = alloca { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, align 8 - %171 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %170, i32 0, i32 0 - store i1 true, ptr %171, align 1 - %172 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %170, i32 0, i32 1 - store i64 %168, ptr %172, align 4 - %173 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %170, i32 0, i32 2 - store %"github.com/goplus/llgo/internal/runtime.String" %169, ptr %173, align 8 - %174 = load { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %170, align 8 + %140 = extractvalue { i1, ptr, ptr } %36, 1 + %141 = extractvalue { i1, ptr, ptr } %36, 2 + %142 = load i64, ptr %140, align 4 + %143 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %141, align 8 + %144 = alloca { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, align 8 + %145 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %144, i32 0, i32 0 + store i1 true, ptr %145, align 1 + %146 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %144, i32 0, i32 1 + store i64 %142, ptr %146, align 4 + %147 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %144, i32 0, i32 2 + store %"github.com/goplus/llgo/internal/runtime.String" %143, ptr %147, align 8 + %148 = load { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %144, align 8 br label %_llgo_13 _llgo_12: ; preds = %_llgo_1 - %175 = alloca { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, align 8 - %176 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %175, i32 0, i32 0 - store i1 false, ptr %176, align 1 - %177 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %175, i32 0, i32 1 - store i64 0, ptr %177, align 4 - %178 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %175, i32 0, i32 2 - store %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, ptr %178, align 8 - %179 = load { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %175, align 8 + %149 = alloca { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, align 8 + %150 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %149, i32 0, i32 0 + store i1 false, ptr %150, align 1 + %151 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %149, i32 0, i32 1 + store i64 0, ptr %151, align 4 + %152 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %149, i32 0, i32 2 + store %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, ptr %152, align 8 + %153 = load { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %149, align 8 br label %_llgo_13 _llgo_13: ; preds = %_llgo_12, %_llgo_11 - %180 = phi { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } [ %174, %_llgo_11 ], [ %179, %_llgo_12 ] - %181 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %180, 0 - br i1 %181, label %_llgo_2, label %_llgo_3 + %154 = phi { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } [ %148, %_llgo_11 ], [ %153, %_llgo_12 ] + %155 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %154, 0 + br i1 %155, label %_llgo_2, label %_llgo_3 _llgo_14: ; preds = %_llgo_4 - %182 = extractvalue { i1, ptr, ptr } %65, 1 - %183 = extractvalue { i1, ptr, ptr } %65, 2 - %184 = load i64, ptr %182, align 4 - %185 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %183, align 8 - %186 = alloca { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, align 8 - %187 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %186, i32 0, i32 0 - store i1 true, ptr %187, align 1 - %188 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %186, i32 0, i32 1 - store i64 %184, ptr %188, align 4 - %189 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %186, i32 0, i32 2 - store %"github.com/goplus/llgo/internal/runtime.String" %185, ptr %189, align 8 - %190 = load { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %186, align 8 + %156 = extractvalue { i1, ptr, ptr } %49, 1 + %157 = extractvalue { i1, ptr, ptr } %49, 2 + %158 = load i64, ptr %156, align 4 + %159 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %157, align 8 + %160 = alloca { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, align 8 + %161 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %160, i32 0, i32 0 + store i1 true, ptr %161, align 1 + %162 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %160, i32 0, i32 1 + store i64 %158, ptr %162, align 4 + %163 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %160, i32 0, i32 2 + store %"github.com/goplus/llgo/internal/runtime.String" %159, ptr %163, align 8 + %164 = load { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %160, align 8 br label %_llgo_16 _llgo_15: ; preds = %_llgo_4 - %191 = alloca { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, align 8 - %192 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %191, i32 0, i32 0 - store i1 false, ptr %192, align 1 - %193 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %191, i32 0, i32 1 - store i64 0, ptr %193, align 4 - %194 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %191, i32 0, i32 2 - store %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, ptr %194, align 8 - %195 = load { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %191, align 8 + %165 = alloca { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, align 8 + %166 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %165, i32 0, i32 0 + store i1 false, ptr %166, align 1 + %167 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %165, i32 0, i32 1 + store i64 0, ptr %167, align 4 + %168 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %165, i32 0, i32 2 + store %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, ptr %168, align 8 + %169 = load { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %165, align 8 br label %_llgo_16 _llgo_16: ; preds = %_llgo_15, %_llgo_14 - %196 = phi { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } [ %190, %_llgo_14 ], [ %195, %_llgo_15 ] - %197 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %196, 0 - br i1 %197, label %_llgo_5, label %_llgo_6 + %170 = phi { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } [ %164, %_llgo_14 ], [ %169, %_llgo_15 ] + %171 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %170, 0 + br i1 %171, label %_llgo_5, label %_llgo_6 } define void @main.make2() { _llgo_0: - %0 = load ptr, ptr @_llgo_int, align 8 - %1 = load ptr, ptr @_llgo_string, align 8 - %2 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 - %3 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %2, i64 0) - %4 = call i64 @"github.com/goplus/llgo/internal/runtime.MapLen"(ptr %3) - %5 = icmp eq ptr %3, null - %6 = icmp ne ptr %3, null - call void @"github.com/goplus/llgo/internal/runtime.PrintPointer"(ptr %3) + %0 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 + %1 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %0, i64 0) + %2 = call i64 @"github.com/goplus/llgo/internal/runtime.MapLen"(ptr %1) + %3 = icmp eq ptr %1, null + %4 = icmp ne ptr %1, null + call void @"github.com/goplus/llgo/internal/runtime.PrintPointer"(ptr %1) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %4) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %2) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %5) + call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %3) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %6) + call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %4) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) - %7 = call i64 @"github.com/goplus/llgo/internal/runtime.MapLen"(ptr null) + %5 = call i64 @"github.com/goplus/llgo/internal/runtime.MapLen"(ptr null) call void @"github.com/goplus/llgo/internal/runtime.PrintPointer"(ptr null) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %7) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %5) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 true) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 false) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) - %8 = load ptr, ptr @_llgo_any, align 8 - %9 = load ptr, ptr @_llgo_int, align 8 - %10 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 - %11 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %10, i64 0) - %12 = alloca [1 x i64], align 8 - call void @llvm.memset(ptr %12, i8 0, i64 8, i1 false) - %13 = getelementptr inbounds i64, ptr %12, i64 0 - store i64 1, ptr %13, align 4 - %14 = load [1 x i64], ptr %12, align 4 - %15 = load ptr, ptr @_llgo_main.N1, align 8 - %16 = extractvalue [1 x i64] %14, 0 - %17 = inttoptr i64 %16 to ptr - %18 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %19 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %18, i32 0, i32 0 - store ptr %15, ptr %19, align 8 - %20 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %18, i32 0, i32 1 - store ptr %17, ptr %20, align 8 - %21 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %18, align 8 - %22 = load ptr, ptr @_llgo_any, align 8 - %23 = load ptr, ptr @_llgo_int, align 8 - %24 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 - %25 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.eface" %21, ptr %25, align 8 - %26 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %24, ptr %11, ptr %25) - store i64 100, ptr %26, align 4 - %27 = alloca [1 x i64], align 8 - call void @llvm.memset(ptr %27, i8 0, i64 8, i1 false) - %28 = getelementptr inbounds i64, ptr %27, i64 0 - store i64 2, ptr %28, align 4 - %29 = load [1 x i64], ptr %27, align 4 - %30 = load ptr, ptr @_llgo_main.N1, align 8 - %31 = extractvalue [1 x i64] %29, 0 - %32 = inttoptr i64 %31 to ptr - %33 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %34 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %33, i32 0, i32 0 - store ptr %30, ptr %34, align 8 - %35 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %33, i32 0, i32 1 - store ptr %32, ptr %35, align 8 - %36 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %33, align 8 - %37 = load ptr, ptr @_llgo_any, align 8 - %38 = load ptr, ptr @_llgo_int, align 8 - %39 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 - %40 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.eface" %36, ptr %40, align 8 - %41 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %39, ptr %11, ptr %40) - store i64 200, ptr %41, align 4 - %42 = alloca [1 x i64], align 8 - call void @llvm.memset(ptr %42, i8 0, i64 8, i1 false) - %43 = getelementptr inbounds i64, ptr %42, i64 0 - store i64 3, ptr %43, align 4 - %44 = load [1 x i64], ptr %42, align 4 - %45 = load ptr, ptr @_llgo_main.N1, align 8 - %46 = extractvalue [1 x i64] %44, 0 - %47 = inttoptr i64 %46 to ptr - %48 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %49 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %48, i32 0, i32 0 - store ptr %45, ptr %49, align 8 - %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %48, i32 0, i32 1 - store ptr %47, ptr %50, align 8 - %51 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %48, align 8 - %52 = load ptr, ptr @_llgo_any, align 8 - %53 = load ptr, ptr @_llgo_int, align 8 - %54 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 - %55 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.eface" %51, ptr %55, align 8 - %56 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %54, ptr %11, ptr %55) - store i64 300, ptr %56, align 4 - %57 = alloca [1 x i64], align 8 - call void @llvm.memset(ptr %57, i8 0, i64 8, i1 false) - %58 = getelementptr inbounds i64, ptr %57, i64 0 - store i64 2, ptr %58, align 4 - %59 = load [1 x i64], ptr %57, align 4 - %60 = load ptr, ptr @_llgo_main.N1, align 8 - %61 = extractvalue [1 x i64] %59, 0 - %62 = inttoptr i64 %61 to ptr - %63 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %64 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %63, i32 0, i32 0 - store ptr %60, ptr %64, align 8 - %65 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %63, i32 0, i32 1 - store ptr %62, ptr %65, align 8 - %66 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %63, align 8 - %67 = load ptr, ptr @_llgo_any, align 8 - %68 = load ptr, ptr @_llgo_int, align 8 - %69 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 - %70 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.eface" %66, ptr %70, align 8 - %71 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %69, ptr %11, ptr %70) - store i64 -200, ptr %71, align 4 - %72 = load ptr, ptr @_llgo_any, align 8 - %73 = load ptr, ptr @_llgo_int, align 8 - %74 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 - %75 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %74, ptr %11) + %6 = load ptr, ptr @_llgo_any, align 8 + %7 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 + %8 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %7, i64 0) + %9 = alloca [1 x i64], align 8 + call void @llvm.memset(ptr %9, i8 0, i64 8, i1 false) + %10 = getelementptr inbounds i64, ptr %9, i64 0 + store i64 1, ptr %10, align 4 + %11 = load [1 x i64], ptr %9, align 4 + %12 = load ptr, ptr @_llgo_main.N1, align 8 + %13 = extractvalue [1 x i64] %11, 0 + %14 = inttoptr i64 %13 to ptr + %15 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %16 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %15, i32 0, i32 0 + store ptr %12, ptr %16, align 8 + %17 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %15, i32 0, i32 1 + store ptr %14, ptr %17, align 8 + %18 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %15, align 8 + %19 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 + %20 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.eface" %18, ptr %20, align 8 + %21 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %19, ptr %8, ptr %20) + store i64 100, ptr %21, align 4 + %22 = alloca [1 x i64], align 8 + call void @llvm.memset(ptr %22, i8 0, i64 8, i1 false) + %23 = getelementptr inbounds i64, ptr %22, i64 0 + store i64 2, ptr %23, align 4 + %24 = load [1 x i64], ptr %22, align 4 + %25 = load ptr, ptr @_llgo_main.N1, align 8 + %26 = extractvalue [1 x i64] %24, 0 + %27 = inttoptr i64 %26 to ptr + %28 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %29 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %28, i32 0, i32 0 + store ptr %25, ptr %29, align 8 + %30 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %28, i32 0, i32 1 + store ptr %27, ptr %30, align 8 + %31 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %28, align 8 + %32 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 + %33 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.eface" %31, ptr %33, align 8 + %34 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %32, ptr %8, ptr %33) + store i64 200, ptr %34, align 4 + %35 = alloca [1 x i64], align 8 + call void @llvm.memset(ptr %35, i8 0, i64 8, i1 false) + %36 = getelementptr inbounds i64, ptr %35, i64 0 + store i64 3, ptr %36, align 4 + %37 = load [1 x i64], ptr %35, align 4 + %38 = load ptr, ptr @_llgo_main.N1, align 8 + %39 = extractvalue [1 x i64] %37, 0 + %40 = inttoptr i64 %39 to ptr + %41 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %42 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %41, i32 0, i32 0 + store ptr %38, ptr %42, align 8 + %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %41, i32 0, i32 1 + store ptr %40, ptr %43, align 8 + %44 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %41, align 8 + %45 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 + %46 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.eface" %44, ptr %46, align 8 + %47 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %45, ptr %8, ptr %46) + store i64 300, ptr %47, align 4 + %48 = alloca [1 x i64], align 8 + call void @llvm.memset(ptr %48, i8 0, i64 8, i1 false) + %49 = getelementptr inbounds i64, ptr %48, i64 0 + store i64 2, ptr %49, align 4 + %50 = load [1 x i64], ptr %48, align 4 + %51 = load ptr, ptr @_llgo_main.N1, align 8 + %52 = extractvalue [1 x i64] %50, 0 + %53 = inttoptr i64 %52 to ptr + %54 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %55 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %54, i32 0, i32 0 + store ptr %51, ptr %55, align 8 + %56 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %54, i32 0, i32 1 + store ptr %53, ptr %56, align 8 + %57 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %54, align 8 + %58 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 + %59 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.eface" %57, ptr %59, align 8 + %60 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %58, ptr %8, ptr %59) + store i64 -200, ptr %60, align 4 + %61 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 + %62 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %61, ptr %8) br label %_llgo_1 _llgo_1: ; preds = %_llgo_7, %_llgo_0 - %76 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %75) - %77 = extractvalue { i1, ptr, ptr } %76, 0 - br i1 %77, label %_llgo_4, label %_llgo_5 + %63 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %62) + %64 = extractvalue { i1, ptr, ptr } %63, 0 + br i1 %64, label %_llgo_4, label %_llgo_5 _llgo_2: ; preds = %_llgo_6 - %78 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %97, 1 - %79 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %97, 2 - %80 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %78, 0 - %81 = load ptr, ptr @_llgo_main.N1, align 8 - %82 = icmp eq ptr %80, %81 - br i1 %82, label %_llgo_7, label %_llgo_8 + %65 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %84, 1 + %66 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %84, 2 + %67 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %65, 0 + %68 = load ptr, ptr @_llgo_main.N1, align 8 + %69 = icmp eq ptr %67, %68 + br i1 %69, label %_llgo_7, label %_llgo_8 _llgo_3: ; preds = %_llgo_6 ret void _llgo_4: ; preds = %_llgo_1 - %83 = extractvalue { i1, ptr, ptr } %76, 1 - %84 = extractvalue { i1, ptr, ptr } %76, 2 - %85 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %83, align 8 - %86 = load i64, ptr %84, align 4 - %87 = alloca { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, align 8 - %88 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %87, i32 0, i32 0 - store i1 true, ptr %88, align 1 - %89 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %87, i32 0, i32 1 - store %"github.com/goplus/llgo/internal/runtime.eface" %85, ptr %89, align 8 - %90 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %87, i32 0, i32 2 - store i64 %86, ptr %90, align 4 - %91 = load { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %87, align 8 + %70 = extractvalue { i1, ptr, ptr } %63, 1 + %71 = extractvalue { i1, ptr, ptr } %63, 2 + %72 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %70, align 8 + %73 = load i64, ptr %71, align 4 + %74 = alloca { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, align 8 + %75 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %74, i32 0, i32 0 + store i1 true, ptr %75, align 1 + %76 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %74, i32 0, i32 1 + store %"github.com/goplus/llgo/internal/runtime.eface" %72, ptr %76, align 8 + %77 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %74, i32 0, i32 2 + store i64 %73, ptr %77, align 4 + %78 = load { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %74, align 8 br label %_llgo_6 _llgo_5: ; preds = %_llgo_1 - %92 = alloca { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, align 8 - %93 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %92, i32 0, i32 0 - store i1 false, ptr %93, align 1 - %94 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %92, i32 0, i32 1 - store %"github.com/goplus/llgo/internal/runtime.eface" zeroinitializer, ptr %94, align 8 - %95 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %92, i32 0, i32 2 - store i64 0, ptr %95, align 4 - %96 = load { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %92, align 8 + %79 = alloca { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, align 8 + %80 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %79, i32 0, i32 0 + store i1 false, ptr %80, align 1 + %81 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %79, i32 0, i32 1 + store %"github.com/goplus/llgo/internal/runtime.eface" zeroinitializer, ptr %81, align 8 + %82 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %79, i32 0, i32 2 + store i64 0, ptr %82, align 4 + %83 = load { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %79, align 8 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %97 = phi { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } [ %91, %_llgo_4 ], [ %96, %_llgo_5 ] - %98 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %97, 0 - br i1 %98, label %_llgo_2, label %_llgo_3 + %84 = phi { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } [ %78, %_llgo_4 ], [ %83, %_llgo_5 ] + %85 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %84, 0 + br i1 %85, label %_llgo_2, label %_llgo_3 _llgo_7: ; preds = %_llgo_2 - %99 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %78, 1 - %100 = ptrtoint ptr %99 to i64 - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %100) + %86 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %65, 1 + %87 = ptrtoint ptr %86 to i64 + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %87) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %79) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %66) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) br label %_llgo_1 _llgo_8: ; preds = %_llgo_2 - %101 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %102 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %101, i32 0, i32 0 - store ptr @14, ptr %102, align 8 - %103 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %101, i32 0, i32 1 - store i64 21, ptr %103, align 4 - %104 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %101, align 8 - %105 = load ptr, ptr @_llgo_string, align 8 - %106 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %104, ptr %106, align 8 - %107 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %107, i32 0, i32 0 - store ptr %105, ptr %108, align 8 - %109 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %107, i32 0, i32 1 - store ptr %106, ptr %109, align 8 - %110 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %107, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %110) + %88 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %89 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %88, i32 0, i32 0 + store ptr @14, ptr %89, align 8 + %90 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %88, i32 0, i32 1 + store i64 21, ptr %90, align 4 + %91 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %88, align 8 + %92 = load ptr, ptr @_llgo_string, align 8 + %93 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %91, ptr %93, align 8 + %94 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %95 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %94, i32 0, i32 0 + store ptr %92, ptr %95, align 8 + %96 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %94, i32 0, i32 1 + store ptr %93, ptr %96, align 8 + %97 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %94, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %97) unreachable } @@ -663,144 +625,136 @@ _llgo_0: %22 = call i1 @"github.com/goplus/llgo/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/internal/runtime.eface" %10, %"github.com/goplus/llgo/internal/runtime.eface" %21) call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %22) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) - %23 = load ptr, ptr @_llgo_any, align 8 - %24 = load ptr, ptr @_llgo_int, align 8 - %25 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 - %26 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %25, i64 0) - %27 = alloca [1 x %main.N], align 8 - call void @llvm.memset(ptr %27, i8 0, i64 2, i1 false) - %28 = getelementptr inbounds %main.N, ptr %27, i64 0 - %29 = getelementptr inbounds %main.N, ptr %28, i32 0, i32 0 - %30 = getelementptr inbounds %main.N, ptr %28, i32 0, i32 1 - store i8 1, ptr %29, align 1 - store i8 2, ptr %30, align 1 - %31 = load [1 x %main.N], ptr %27, align 1 - %32 = load ptr, ptr @_llgo_main.K, align 8 - %33 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 2) - store [1 x %main.N] %31, ptr %33, align 1 - %34 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %35 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %34, i32 0, i32 0 - store ptr %32, ptr %35, align 8 - %36 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %34, i32 0, i32 1 - store ptr %33, ptr %36, align 8 - %37 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %34, align 8 - %38 = load ptr, ptr @_llgo_any, align 8 - %39 = load ptr, ptr @_llgo_int, align 8 - %40 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 - %41 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.eface" %37, ptr %41, align 8 - %42 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %40, ptr %26, ptr %41) - store i64 100, ptr %42, align 4 - %43 = alloca [1 x %main.N], align 8 - call void @llvm.memset(ptr %43, i8 0, i64 2, i1 false) - %44 = getelementptr inbounds %main.N, ptr %43, i64 0 - %45 = getelementptr inbounds %main.N, ptr %44, i32 0, i32 0 - %46 = getelementptr inbounds %main.N, ptr %44, i32 0, i32 1 - store i8 3, ptr %45, align 1 - store i8 4, ptr %46, align 1 - %47 = load [1 x %main.N], ptr %43, align 1 - %48 = load ptr, ptr @_llgo_main.K, align 8 - %49 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 2) - store [1 x %main.N] %47, ptr %49, align 1 - %50 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %50, i32 0, i32 0 - store ptr %48, ptr %51, align 8 - %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %50, i32 0, i32 1 - store ptr %49, ptr %52, align 8 - %53 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %50, align 8 - %54 = load ptr, ptr @_llgo_any, align 8 - %55 = load ptr, ptr @_llgo_int, align 8 - %56 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 - %57 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.eface" %53, ptr %57, align 8 - %58 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %56, ptr %26, ptr %57) - store i64 200, ptr %58, align 4 - %59 = load ptr, ptr @_llgo_any, align 8 - %60 = load ptr, ptr @_llgo_int, align 8 - %61 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 - %62 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %61, ptr %26) + %23 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 + %24 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %23, i64 0) + %25 = alloca [1 x %main.N], align 8 + call void @llvm.memset(ptr %25, i8 0, i64 2, i1 false) + %26 = getelementptr inbounds %main.N, ptr %25, i64 0 + %27 = getelementptr inbounds %main.N, ptr %26, i32 0, i32 0 + %28 = getelementptr inbounds %main.N, ptr %26, i32 0, i32 1 + store i8 1, ptr %27, align 1 + store i8 2, ptr %28, align 1 + %29 = load [1 x %main.N], ptr %25, align 1 + %30 = load ptr, ptr @_llgo_main.K, align 8 + %31 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 2) + store [1 x %main.N] %29, ptr %31, align 1 + %32 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %33 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %32, i32 0, i32 0 + store ptr %30, ptr %33, align 8 + %34 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %32, i32 0, i32 1 + store ptr %31, ptr %34, align 8 + %35 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %32, align 8 + %36 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 + %37 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.eface" %35, ptr %37, align 8 + %38 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %36, ptr %24, ptr %37) + store i64 100, ptr %38, align 4 + %39 = alloca [1 x %main.N], align 8 + call void @llvm.memset(ptr %39, i8 0, i64 2, i1 false) + %40 = getelementptr inbounds %main.N, ptr %39, i64 0 + %41 = getelementptr inbounds %main.N, ptr %40, i32 0, i32 0 + %42 = getelementptr inbounds %main.N, ptr %40, i32 0, i32 1 + store i8 3, ptr %41, align 1 + store i8 4, ptr %42, align 1 + %43 = load [1 x %main.N], ptr %39, align 1 + %44 = load ptr, ptr @_llgo_main.K, align 8 + %45 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 2) + store [1 x %main.N] %43, ptr %45, align 1 + %46 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %47 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %46, i32 0, i32 0 + store ptr %44, ptr %47, align 8 + %48 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %46, i32 0, i32 1 + store ptr %45, ptr %48, align 8 + %49 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %46, align 8 + %50 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 + %51 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.eface" %49, ptr %51, align 8 + %52 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %50, ptr %24, ptr %51) + store i64 200, ptr %52, align 4 + %53 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 + %54 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %53, ptr %24) br label %_llgo_1 _llgo_1: ; preds = %_llgo_7, %_llgo_0 - %63 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %62) - %64 = extractvalue { i1, ptr, ptr } %63, 0 - br i1 %64, label %_llgo_4, label %_llgo_5 + %55 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %54) + %56 = extractvalue { i1, ptr, ptr } %55, 0 + br i1 %56, label %_llgo_4, label %_llgo_5 _llgo_2: ; preds = %_llgo_6 - %65 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %84, 1 - %66 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %84, 2 - %67 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %65, 0 - %68 = load ptr, ptr @_llgo_main.K, align 8 - %69 = icmp eq ptr %67, %68 - br i1 %69, label %_llgo_7, label %_llgo_8 + %57 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %76, 1 + %58 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %76, 2 + %59 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %57, 0 + %60 = load ptr, ptr @_llgo_main.K, align 8 + %61 = icmp eq ptr %59, %60 + br i1 %61, label %_llgo_7, label %_llgo_8 _llgo_3: ; preds = %_llgo_6 ret void _llgo_4: ; preds = %_llgo_1 - %70 = extractvalue { i1, ptr, ptr } %63, 1 - %71 = extractvalue { i1, ptr, ptr } %63, 2 - %72 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %70, align 8 - %73 = load i64, ptr %71, align 4 - %74 = alloca { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, align 8 - %75 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %74, i32 0, i32 0 - store i1 true, ptr %75, align 1 - %76 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %74, i32 0, i32 1 - store %"github.com/goplus/llgo/internal/runtime.eface" %72, ptr %76, align 8 - %77 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %74, i32 0, i32 2 - store i64 %73, ptr %77, align 4 - %78 = load { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %74, align 8 + %62 = extractvalue { i1, ptr, ptr } %55, 1 + %63 = extractvalue { i1, ptr, ptr } %55, 2 + %64 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %62, align 8 + %65 = load i64, ptr %63, align 4 + %66 = alloca { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, align 8 + %67 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %66, i32 0, i32 0 + store i1 true, ptr %67, align 1 + %68 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %66, i32 0, i32 1 + store %"github.com/goplus/llgo/internal/runtime.eface" %64, ptr %68, align 8 + %69 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %66, i32 0, i32 2 + store i64 %65, ptr %69, align 4 + %70 = load { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %66, align 8 br label %_llgo_6 _llgo_5: ; preds = %_llgo_1 - %79 = alloca { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, align 8 - %80 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %79, i32 0, i32 0 - store i1 false, ptr %80, align 1 - %81 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %79, i32 0, i32 1 - store %"github.com/goplus/llgo/internal/runtime.eface" zeroinitializer, ptr %81, align 8 - %82 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %79, i32 0, i32 2 - store i64 0, ptr %82, align 4 - %83 = load { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %79, align 8 + %71 = alloca { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, align 8 + %72 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %71, i32 0, i32 0 + store i1 false, ptr %72, align 1 + %73 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %71, i32 0, i32 1 + store %"github.com/goplus/llgo/internal/runtime.eface" zeroinitializer, ptr %73, align 8 + %74 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %71, i32 0, i32 2 + store i64 0, ptr %74, align 4 + %75 = load { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %71, align 8 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %84 = phi { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } [ %78, %_llgo_4 ], [ %83, %_llgo_5 ] - %85 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %84, 0 - br i1 %85, label %_llgo_2, label %_llgo_3 + %76 = phi { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } [ %70, %_llgo_4 ], [ %75, %_llgo_5 ] + %77 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %76, 0 + br i1 %77, label %_llgo_2, label %_llgo_3 _llgo_7: ; preds = %_llgo_2 - %86 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %65, 1 - %87 = load [1 x %main.N], ptr %86, align 1 - %88 = alloca [1 x %main.N], align 8 - call void @llvm.memset(ptr %88, i8 0, i64 2, i1 false) - store [1 x %main.N] %87, ptr %88, align 1 - %89 = getelementptr inbounds %main.N, ptr %88, i64 0 - %90 = load %main.N, ptr %89, align 1 - %91 = extractvalue %main.N %90, 0 - %92 = sext i8 %91 to i64 - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %92) + %78 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %57, 1 + %79 = load [1 x %main.N], ptr %78, align 1 + %80 = alloca [1 x %main.N], align 8 + call void @llvm.memset(ptr %80, i8 0, i64 2, i1 false) + store [1 x %main.N] %79, ptr %80, align 1 + %81 = getelementptr inbounds %main.N, ptr %80, i64 0 + %82 = load %main.N, ptr %81, align 1 + %83 = extractvalue %main.N %82, 0 + %84 = sext i8 %83 to i64 + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %84) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %66) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %58) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) br label %_llgo_1 _llgo_8: ; preds = %_llgo_2 - %93 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %94 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %93, i32 0, i32 0 - store ptr @14, ptr %94, align 8 - %95 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %93, i32 0, i32 1 - store i64 21, ptr %95, align 4 - %96 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %93, align 8 - %97 = load ptr, ptr @_llgo_string, align 8 - %98 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %96, ptr %98, align 8 - %99 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %100 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %99, i32 0, i32 0 - store ptr %97, ptr %100, align 8 - %101 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %99, i32 0, i32 1 - store ptr %98, ptr %101, align 8 - %102 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %99, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %102) + %85 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %86 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %85, i32 0, i32 0 + store ptr @14, ptr %86, align 8 + %87 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %85, i32 0, i32 1 + store i64 21, ptr %87, align 4 + %88 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %85, align 8 + %89 = load ptr, ptr @_llgo_string, align 8 + %90 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %88, ptr %90, align 8 + %91 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %92 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %91, i32 0, i32 0 + store ptr %89, ptr %92, align 8 + %93 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %91, i32 0, i32 1 + store ptr %90, ptr %93, align 8 + %94 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %91, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %94) unreachable } @@ -845,141 +799,133 @@ _llgo_0: %24 = call i1 @"github.com/goplus/llgo/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/internal/runtime.eface" %11, %"github.com/goplus/llgo/internal/runtime.eface" %23) call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %24) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) - %25 = load ptr, ptr @_llgo_any, align 8 - %26 = load ptr, ptr @_llgo_int, align 8 - %27 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 - %28 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %27, i64 0) - %29 = alloca [1 x ptr], align 8 - call void @llvm.memset(ptr %29, i8 0, i64 8, i1 false) - %30 = getelementptr inbounds ptr, ptr %29, i64 0 - %31 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 2) - %32 = getelementptr inbounds %main.N, ptr %31, i32 0, i32 0 - %33 = getelementptr inbounds %main.N, ptr %31, i32 0, i32 1 - store i8 1, ptr %32, align 1 - store i8 2, ptr %33, align 1 - store ptr %31, ptr %30, align 8 - %34 = load [1 x ptr], ptr %29, align 8 - %35 = load ptr, ptr @_llgo_main.K2, align 8 - %36 = extractvalue [1 x ptr] %34, 0 - %37 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %38 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %37, i32 0, i32 0 - store ptr %35, ptr %38, align 8 - %39 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %37, i32 0, i32 1 - store ptr %36, ptr %39, align 8 - %40 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %37, align 8 - %41 = load ptr, ptr @_llgo_any, align 8 - %42 = load ptr, ptr @_llgo_int, align 8 - %43 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 - %44 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.eface" %40, ptr %44, align 8 - %45 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %43, ptr %28, ptr %44) - store i64 100, ptr %45, align 4 - %46 = alloca [1 x ptr], align 8 - call void @llvm.memset(ptr %46, i8 0, i64 8, i1 false) - %47 = getelementptr inbounds ptr, ptr %46, i64 0 - %48 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 2) - %49 = getelementptr inbounds %main.N, ptr %48, i32 0, i32 0 - %50 = getelementptr inbounds %main.N, ptr %48, i32 0, i32 1 - store i8 3, ptr %49, align 1 - store i8 4, ptr %50, align 1 - store ptr %48, ptr %47, align 8 - %51 = load [1 x ptr], ptr %46, align 8 - %52 = load ptr, ptr @_llgo_main.K2, align 8 - %53 = extractvalue [1 x ptr] %51, 0 - %54 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %55 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %54, i32 0, i32 0 - store ptr %52, ptr %55, align 8 - %56 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %54, i32 0, i32 1 - store ptr %53, ptr %56, align 8 - %57 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %54, align 8 - %58 = load ptr, ptr @_llgo_any, align 8 - %59 = load ptr, ptr @_llgo_int, align 8 - %60 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 - %61 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.eface" %57, ptr %61, align 8 - %62 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %60, ptr %28, ptr %61) - store i64 200, ptr %62, align 4 - %63 = load ptr, ptr @_llgo_any, align 8 - %64 = load ptr, ptr @_llgo_int, align 8 - %65 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 - %66 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %65, ptr %28) + %25 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 + %26 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %25, i64 0) + %27 = alloca [1 x ptr], align 8 + call void @llvm.memset(ptr %27, i8 0, i64 8, i1 false) + %28 = getelementptr inbounds ptr, ptr %27, i64 0 + %29 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 2) + %30 = getelementptr inbounds %main.N, ptr %29, i32 0, i32 0 + %31 = getelementptr inbounds %main.N, ptr %29, i32 0, i32 1 + store i8 1, ptr %30, align 1 + store i8 2, ptr %31, align 1 + store ptr %29, ptr %28, align 8 + %32 = load [1 x ptr], ptr %27, align 8 + %33 = load ptr, ptr @_llgo_main.K2, align 8 + %34 = extractvalue [1 x ptr] %32, 0 + %35 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %36 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %35, i32 0, i32 0 + store ptr %33, ptr %36, align 8 + %37 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %35, i32 0, i32 1 + store ptr %34, ptr %37, align 8 + %38 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %35, align 8 + %39 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 + %40 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.eface" %38, ptr %40, align 8 + %41 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %39, ptr %26, ptr %40) + store i64 100, ptr %41, align 4 + %42 = alloca [1 x ptr], align 8 + call void @llvm.memset(ptr %42, i8 0, i64 8, i1 false) + %43 = getelementptr inbounds ptr, ptr %42, i64 0 + %44 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 2) + %45 = getelementptr inbounds %main.N, ptr %44, i32 0, i32 0 + %46 = getelementptr inbounds %main.N, ptr %44, i32 0, i32 1 + store i8 3, ptr %45, align 1 + store i8 4, ptr %46, align 1 + store ptr %44, ptr %43, align 8 + %47 = load [1 x ptr], ptr %42, align 8 + %48 = load ptr, ptr @_llgo_main.K2, align 8 + %49 = extractvalue [1 x ptr] %47, 0 + %50 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %50, i32 0, i32 0 + store ptr %48, ptr %51, align 8 + %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %50, i32 0, i32 1 + store ptr %49, ptr %52, align 8 + %53 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %50, align 8 + %54 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 + %55 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.eface" %53, ptr %55, align 8 + %56 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %54, ptr %26, ptr %55) + store i64 200, ptr %56, align 4 + %57 = load ptr, ptr @"map[_llgo_any]_llgo_int", align 8 + %58 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %57, ptr %26) br label %_llgo_1 _llgo_1: ; preds = %_llgo_7, %_llgo_0 - %67 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %66) - %68 = extractvalue { i1, ptr, ptr } %67, 0 - br i1 %68, label %_llgo_4, label %_llgo_5 + %59 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %58) + %60 = extractvalue { i1, ptr, ptr } %59, 0 + br i1 %60, label %_llgo_4, label %_llgo_5 _llgo_2: ; preds = %_llgo_6 - %69 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %88, 1 - %70 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %88, 2 - %71 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %69, 0 - %72 = load ptr, ptr @_llgo_main.K2, align 8 - %73 = icmp eq ptr %71, %72 - br i1 %73, label %_llgo_7, label %_llgo_8 + %61 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %80, 1 + %62 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %80, 2 + %63 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %61, 0 + %64 = load ptr, ptr @_llgo_main.K2, align 8 + %65 = icmp eq ptr %63, %64 + br i1 %65, label %_llgo_7, label %_llgo_8 _llgo_3: ; preds = %_llgo_6 ret void _llgo_4: ; preds = %_llgo_1 - %74 = extractvalue { i1, ptr, ptr } %67, 1 - %75 = extractvalue { i1, ptr, ptr } %67, 2 - %76 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %74, align 8 - %77 = load i64, ptr %75, align 4 - %78 = alloca { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, align 8 - %79 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %78, i32 0, i32 0 - store i1 true, ptr %79, align 1 - %80 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %78, i32 0, i32 1 - store %"github.com/goplus/llgo/internal/runtime.eface" %76, ptr %80, align 8 - %81 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %78, i32 0, i32 2 - store i64 %77, ptr %81, align 4 - %82 = load { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %78, align 8 + %66 = extractvalue { i1, ptr, ptr } %59, 1 + %67 = extractvalue { i1, ptr, ptr } %59, 2 + %68 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %66, align 8 + %69 = load i64, ptr %67, align 4 + %70 = alloca { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, align 8 + %71 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %70, i32 0, i32 0 + store i1 true, ptr %71, align 1 + %72 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %70, i32 0, i32 1 + store %"github.com/goplus/llgo/internal/runtime.eface" %68, ptr %72, align 8 + %73 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %70, i32 0, i32 2 + store i64 %69, ptr %73, align 4 + %74 = load { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %70, align 8 br label %_llgo_6 _llgo_5: ; preds = %_llgo_1 - %83 = alloca { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, align 8 - %84 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %83, i32 0, i32 0 - store i1 false, ptr %84, align 1 - %85 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %83, i32 0, i32 1 - store %"github.com/goplus/llgo/internal/runtime.eface" zeroinitializer, ptr %85, align 8 - %86 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %83, i32 0, i32 2 - store i64 0, ptr %86, align 4 - %87 = load { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %83, align 8 + %75 = alloca { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, align 8 + %76 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %75, i32 0, i32 0 + store i1 false, ptr %76, align 1 + %77 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %75, i32 0, i32 1 + store %"github.com/goplus/llgo/internal/runtime.eface" zeroinitializer, ptr %77, align 8 + %78 = getelementptr inbounds { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %75, i32 0, i32 2 + store i64 0, ptr %78, align 4 + %79 = load { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 }, ptr %75, align 8 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %88 = phi { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } [ %82, %_llgo_4 ], [ %87, %_llgo_5 ] - %89 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %88, 0 - br i1 %89, label %_llgo_2, label %_llgo_3 + %80 = phi { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } [ %74, %_llgo_4 ], [ %79, %_llgo_5 ] + %81 = extractvalue { i1, %"github.com/goplus/llgo/internal/runtime.eface", i64 } %80, 0 + br i1 %81, label %_llgo_2, label %_llgo_3 _llgo_7: ; preds = %_llgo_2 - %90 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %69, 1 - %91 = getelementptr inbounds %main.N, ptr %90, i32 0, i32 0 - %92 = load i8, ptr %91, align 1 - %93 = sext i8 %92 to i64 - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %93) + %82 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %61, 1 + %83 = getelementptr inbounds %main.N, ptr %82, i32 0, i32 0 + %84 = load i8, ptr %83, align 1 + %85 = sext i8 %84 to i64 + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %85) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %70) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %62) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) br label %_llgo_1 _llgo_8: ; preds = %_llgo_2 - %94 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %95 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %94, i32 0, i32 0 - store ptr @14, ptr %95, align 8 - %96 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %94, i32 0, i32 1 - store i64 21, ptr %96, align 4 - %97 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %94, align 8 - %98 = load ptr, ptr @_llgo_string, align 8 - %99 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %97, ptr %99, align 8 - %100 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %101 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %100, i32 0, i32 0 - store ptr %98, ptr %101, align 8 - %102 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %100, i32 0, i32 1 - store ptr %99, ptr %102, align 8 - %103 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %100, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %103) + %86 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %87 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %86, i32 0, i32 0 + store ptr @14, ptr %87, align 8 + %88 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %86, i32 0, i32 1 + store i64 21, ptr %88, align 4 + %89 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %86, align 8 + %90 = load ptr, ptr @_llgo_string, align 8 + %91 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %89, ptr %91, align 8 + %92 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %93 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %92, i32 0, i32 0 + store ptr %90, ptr %93, align 8 + %94 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %92, i32 0, i32 1 + store ptr %91, ptr %94, align 8 + %95 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %92, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %95) unreachable } @@ -1004,40 +950,33 @@ _llgo_0: call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %11) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) %12 = load ptr, ptr @"chan _llgo_int", align 8 - %13 = load ptr, ptr @_llgo_int, align 8 - %14 = load ptr, ptr @"map[chan _llgo_int]_llgo_int", align 8 - %15 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %14, i64 0) - %16 = load ptr, ptr @"chan _llgo_int", align 8 - %17 = load ptr, ptr @_llgo_int, align 8 + %13 = load ptr, ptr @"map[chan _llgo_int]_llgo_int", align 8 + %14 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %13, i64 0) + %15 = load ptr, ptr @"map[chan _llgo_int]_llgo_int", align 8 + %16 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + store ptr %0, ptr %16, align 8 + %17 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %15, ptr %14, ptr %16) + store i64 100, ptr %17, align 4 %18 = load ptr, ptr @"map[chan _llgo_int]_llgo_int", align 8 %19 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) store ptr %0, ptr %19, align 8 - %20 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %18, ptr %15, ptr %19) - store i64 100, ptr %20, align 4 - %21 = load ptr, ptr @"chan _llgo_int", align 8 - %22 = load ptr, ptr @_llgo_int, align 8 - %23 = load ptr, ptr @"map[chan _llgo_int]_llgo_int", align 8 - %24 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - store ptr %0, ptr %24, align 8 - %25 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %23, ptr %15, ptr %24) - store i64 200, ptr %25, align 4 - %26 = load ptr, ptr @"chan _llgo_int", align 8 - %27 = load ptr, ptr @_llgo_int, align 8 - %28 = load ptr, ptr @"map[chan _llgo_int]_llgo_int", align 8 - %29 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %28, ptr %15) + %20 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %18, ptr %14, ptr %19) + store i64 200, ptr %20, align 4 + %21 = load ptr, ptr @"map[chan _llgo_int]_llgo_int", align 8 + %22 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %21, ptr %14) br label %_llgo_1 _llgo_1: ; preds = %_llgo_2, %_llgo_0 - %30 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %29) - %31 = extractvalue { i1, ptr, ptr } %30, 0 - br i1 %31, label %_llgo_4, label %_llgo_5 + %23 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %22) + %24 = extractvalue { i1, ptr, ptr } %23, 0 + br i1 %24, label %_llgo_4, label %_llgo_5 _llgo_2: ; preds = %_llgo_6 - %32 = extractvalue { i1, ptr, i64 } %48, 1 - %33 = extractvalue { i1, ptr, i64 } %48, 2 - call void @"github.com/goplus/llgo/internal/runtime.PrintPointer"(ptr %32) + %25 = extractvalue { i1, ptr, i64 } %41, 1 + %26 = extractvalue { i1, ptr, i64 } %41, 2 + call void @"github.com/goplus/llgo/internal/runtime.PrintPointer"(ptr %25) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %33) + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %26) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) br label %_llgo_1 @@ -1045,69 +984,67 @@ _llgo_3: ; preds = %_llgo_6 ret void _llgo_4: ; preds = %_llgo_1 - %34 = extractvalue { i1, ptr, ptr } %30, 1 - %35 = extractvalue { i1, ptr, ptr } %30, 2 - %36 = load ptr, ptr %34, align 8 - %37 = load i64, ptr %35, align 4 - %38 = alloca { i1, ptr, i64 }, align 8 - %39 = getelementptr inbounds { i1, ptr, i64 }, ptr %38, i32 0, i32 0 - store i1 true, ptr %39, align 1 - %40 = getelementptr inbounds { i1, ptr, i64 }, ptr %38, i32 0, i32 1 - store ptr %36, ptr %40, align 8 - %41 = getelementptr inbounds { i1, ptr, i64 }, ptr %38, i32 0, i32 2 - store i64 %37, ptr %41, align 4 - %42 = load { i1, ptr, i64 }, ptr %38, align 8 + %27 = extractvalue { i1, ptr, ptr } %23, 1 + %28 = extractvalue { i1, ptr, ptr } %23, 2 + %29 = load ptr, ptr %27, align 8 + %30 = load i64, ptr %28, align 4 + %31 = alloca { i1, ptr, i64 }, align 8 + %32 = getelementptr inbounds { i1, ptr, i64 }, ptr %31, i32 0, i32 0 + store i1 true, ptr %32, align 1 + %33 = getelementptr inbounds { i1, ptr, i64 }, ptr %31, i32 0, i32 1 + store ptr %29, ptr %33, align 8 + %34 = getelementptr inbounds { i1, ptr, i64 }, ptr %31, i32 0, i32 2 + store i64 %30, ptr %34, align 4 + %35 = load { i1, ptr, i64 }, ptr %31, align 8 br label %_llgo_6 _llgo_5: ; preds = %_llgo_1 - %43 = alloca { i1, ptr, i64 }, align 8 - %44 = getelementptr inbounds { i1, ptr, i64 }, ptr %43, i32 0, i32 0 - store i1 false, ptr %44, align 1 - %45 = getelementptr inbounds { i1, ptr, i64 }, ptr %43, i32 0, i32 1 - store ptr null, ptr %45, align 8 - %46 = getelementptr inbounds { i1, ptr, i64 }, ptr %43, i32 0, i32 2 - store i64 0, ptr %46, align 4 - %47 = load { i1, ptr, i64 }, ptr %43, align 8 + %36 = alloca { i1, ptr, i64 }, align 8 + %37 = getelementptr inbounds { i1, ptr, i64 }, ptr %36, i32 0, i32 0 + store i1 false, ptr %37, align 1 + %38 = getelementptr inbounds { i1, ptr, i64 }, ptr %36, i32 0, i32 1 + store ptr null, ptr %38, align 8 + %39 = getelementptr inbounds { i1, ptr, i64 }, ptr %36, i32 0, i32 2 + store i64 0, ptr %39, align 4 + %40 = load { i1, ptr, i64 }, ptr %36, align 8 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %48 = phi { i1, ptr, i64 } [ %42, %_llgo_4 ], [ %47, %_llgo_5 ] - %49 = extractvalue { i1, ptr, i64 } %48, 0 - br i1 %49, label %_llgo_2, label %_llgo_3 + %41 = phi { i1, ptr, i64 } [ %35, %_llgo_4 ], [ %40, %_llgo_5 ] + %42 = extractvalue { i1, ptr, i64 } %41, 0 + br i1 %42, label %_llgo_2, label %_llgo_3 } define void @main.make6() { _llgo_0: - %0 = load ptr, ptr @_llgo_int, align 8 - %1 = load ptr, ptr @_llgo_string, align 8 - %2 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 - %3 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %2, i64 0) - %4 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %5 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %4, i32 0, i32 0 - store ptr @5, ptr %5, align 8 - %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %4, i32 0, i32 1 - store i64 5, ptr %6, align 4 - %7 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %4, align 8 - %8 = load ptr, ptr @_llgo_main.M, align 8 - %9 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - store i64 1, ptr %9, align 4 - %10 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %8, ptr %3, ptr %9) - store %"github.com/goplus/llgo/internal/runtime.String" %7, ptr %10, align 8 - %11 = load ptr, ptr @_llgo_main.M, align 8 - %12 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %11, ptr %3) + %0 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 + %1 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %0, i64 0) + %2 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %3 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2, i32 0, i32 0 + store ptr @5, ptr %3, align 8 + %4 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2, i32 0, i32 1 + store i64 5, ptr %4, align 4 + %5 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2, align 8 + %6 = load ptr, ptr @_llgo_main.M, align 8 + %7 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + store i64 1, ptr %7, align 4 + %8 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %6, ptr %1, ptr %7) + store %"github.com/goplus/llgo/internal/runtime.String" %5, ptr %8, align 8 + %9 = load ptr, ptr @_llgo_main.M, align 8 + %10 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %9, ptr %1) br label %_llgo_1 _llgo_1: ; preds = %_llgo_2, %_llgo_0 - %13 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %12) - %14 = extractvalue { i1, ptr, ptr } %13, 0 - br i1 %14, label %_llgo_4, label %_llgo_5 + %11 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %10) + %12 = extractvalue { i1, ptr, ptr } %11, 0 + br i1 %12, label %_llgo_4, label %_llgo_5 _llgo_2: ; preds = %_llgo_6 - %15 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %31, 1 - %16 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %31, 2 - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %15) + %13 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %29, 1 + %14 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %29, 2 + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %13) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %16) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %14) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) br label %_llgo_1 @@ -1115,131 +1052,122 @@ _llgo_3: ; preds = %_llgo_6 ret void _llgo_4: ; preds = %_llgo_1 - %17 = extractvalue { i1, ptr, ptr } %13, 1 - %18 = extractvalue { i1, ptr, ptr } %13, 2 - %19 = load i64, ptr %17, align 4 - %20 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %18, align 8 - %21 = alloca { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, align 8 - %22 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %21, i32 0, i32 0 - store i1 true, ptr %22, align 1 - %23 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %21, i32 0, i32 1 - store i64 %19, ptr %23, align 4 - %24 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %21, i32 0, i32 2 - store %"github.com/goplus/llgo/internal/runtime.String" %20, ptr %24, align 8 - %25 = load { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %21, align 8 + %15 = extractvalue { i1, ptr, ptr } %11, 1 + %16 = extractvalue { i1, ptr, ptr } %11, 2 + %17 = load i64, ptr %15, align 4 + %18 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %16, align 8 + %19 = alloca { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, align 8 + %20 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %19, i32 0, i32 0 + store i1 true, ptr %20, align 1 + %21 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %19, i32 0, i32 1 + store i64 %17, ptr %21, align 4 + %22 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %19, i32 0, i32 2 + store %"github.com/goplus/llgo/internal/runtime.String" %18, ptr %22, align 8 + %23 = load { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %19, align 8 br label %_llgo_6 _llgo_5: ; preds = %_llgo_1 - %26 = alloca { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, align 8 - %27 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %26, i32 0, i32 0 - store i1 false, ptr %27, align 1 - %28 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %26, i32 0, i32 1 - store i64 0, ptr %28, align 4 - %29 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %26, i32 0, i32 2 - store %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, ptr %29, align 8 - %30 = load { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %26, align 8 + %24 = alloca { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, align 8 + %25 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %24, i32 0, i32 0 + store i1 false, ptr %25, align 1 + %26 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %24, i32 0, i32 1 + store i64 0, ptr %26, align 4 + %27 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %24, i32 0, i32 2 + store %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, ptr %27, align 8 + %28 = load { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %24, align 8 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %31 = phi { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } [ %25, %_llgo_4 ], [ %30, %_llgo_5 ] - %32 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %31, 0 - br i1 %32, label %_llgo_2, label %_llgo_3 + %29 = phi { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } [ %23, %_llgo_4 ], [ %28, %_llgo_5 ] + %30 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %29, 0 + br i1 %30, label %_llgo_2, label %_llgo_3 } define void @main.make7() { _llgo_0: %0 = load ptr, ptr @_llgo_main.N, align 8 - %1 = load ptr, ptr @_llgo_string, align 8 - %2 = load ptr, ptr @"map[_llgo_main.N]_llgo_string", align 8 - %3 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %2, i64 2) - %4 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %5 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %4, i32 0, i32 0 - store ptr @5, ptr %5, align 8 - %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %4, i32 0, i32 1 - store i64 5, ptr %6, align 4 - %7 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %4, align 8 - %8 = load ptr, ptr @_llgo_main.N, align 8 - %9 = load ptr, ptr @_llgo_string, align 8 - %10 = load ptr, ptr @"map[_llgo_main.N]_llgo_string", align 8 - %11 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - store i64 1, ptr %11, align 4 - %12 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %10, ptr %3, ptr %11) - store %"github.com/goplus/llgo/internal/runtime.String" %7, ptr %12, align 8 - %13 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %14 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %13, i32 0, i32 0 - store ptr @6, ptr %14, align 8 - %15 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %13, i32 0, i32 1 - store i64 5, ptr %15, align 4 - %16 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %13, align 8 - %17 = load ptr, ptr @_llgo_main.N, align 8 - %18 = load ptr, ptr @_llgo_string, align 8 - %19 = load ptr, ptr @"map[_llgo_main.N]_llgo_string", align 8 - %20 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - store i64 2, ptr %20, align 4 - %21 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %19, ptr %3, ptr %20) - store %"github.com/goplus/llgo/internal/runtime.String" %16, ptr %21, align 8 - %22 = load ptr, ptr @_llgo_main.N, align 8 - %23 = load ptr, ptr @_llgo_string, align 8 - %24 = load ptr, ptr @"map[_llgo_main.N]_llgo_string", align 8 - %25 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %24, ptr %3) + %1 = load ptr, ptr @"map[_llgo_main.N]_llgo_string", align 8 + %2 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %1, i64 2) + %3 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %4 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3, i32 0, i32 0 + store ptr @5, ptr %4, align 8 + %5 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %3, i32 0, i32 1 + store i64 5, ptr %5, align 4 + %6 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %3, align 8 + %7 = load ptr, ptr @"map[_llgo_main.N]_llgo_string", align 8 + %8 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + store i64 1, ptr %8, align 4 + %9 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %7, ptr %2, ptr %8) + store %"github.com/goplus/llgo/internal/runtime.String" %6, ptr %9, align 8 + %10 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %11 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %10, i32 0, i32 0 + store ptr @6, ptr %11, align 8 + %12 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %10, i32 0, i32 1 + store i64 5, ptr %12, align 4 + %13 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %10, align 8 + %14 = load ptr, ptr @"map[_llgo_main.N]_llgo_string", align 8 + %15 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + store i64 2, ptr %15, align 4 + %16 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %14, ptr %2, ptr %15) + store %"github.com/goplus/llgo/internal/runtime.String" %13, ptr %16, align 8 + %17 = load ptr, ptr @"map[_llgo_main.N]_llgo_string", align 8 + %18 = call ptr @"github.com/goplus/llgo/internal/runtime.NewMapIter"(ptr %17, ptr %2) br label %_llgo_1 _llgo_1: ; preds = %_llgo_2, %_llgo_0 - %26 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %25) - %27 = extractvalue { i1, ptr, ptr } %26, 0 - br i1 %27, label %_llgo_4, label %_llgo_5 + %19 = call { i1, ptr, ptr } @"github.com/goplus/llgo/internal/runtime.MapIterNext"(ptr %18) + %20 = extractvalue { i1, ptr, ptr } %19, 0 + br i1 %20, label %_llgo_4, label %_llgo_5 _llgo_2: ; preds = %_llgo_6 - %28 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %50, 1 - %29 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %50, 2 - call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %28) + %21 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %41, 1 + %22 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %41, 2 + call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %21) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32) - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %29) + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %22) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) br label %_llgo_1 _llgo_3: ; preds = %_llgo_6 - %30 = load ptr, ptr @_llgo_main.N, align 8 - %31 = load ptr, ptr @_llgo_string, align 8 - %32 = load ptr, ptr @"map[_llgo_main.N]_llgo_string", align 8 - %33 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - store i64 1, ptr %33, align 4 - %34 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAccess1"(ptr %32, ptr %3, ptr %33) - %35 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %34, align 8 - call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %35) + %23 = load ptr, ptr @"map[_llgo_main.N]_llgo_string", align 8 + %24 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + store i64 1, ptr %24, align 4 + %25 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAccess1"(ptr %23, ptr %2, ptr %24) + %26 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %25, align 8 + call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %26) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) ret void _llgo_4: ; preds = %_llgo_1 - %36 = extractvalue { i1, ptr, ptr } %26, 1 - %37 = extractvalue { i1, ptr, ptr } %26, 2 - %38 = load i64, ptr %36, align 4 - %39 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %37, align 8 - %40 = alloca { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, align 8 - %41 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %40, i32 0, i32 0 - store i1 true, ptr %41, align 1 - %42 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %40, i32 0, i32 1 - store i64 %38, ptr %42, align 4 - %43 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %40, i32 0, i32 2 - store %"github.com/goplus/llgo/internal/runtime.String" %39, ptr %43, align 8 - %44 = load { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %40, align 8 + %27 = extractvalue { i1, ptr, ptr } %19, 1 + %28 = extractvalue { i1, ptr, ptr } %19, 2 + %29 = load i64, ptr %27, align 4 + %30 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %28, align 8 + %31 = alloca { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, align 8 + %32 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %31, i32 0, i32 0 + store i1 true, ptr %32, align 1 + %33 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %31, i32 0, i32 1 + store i64 %29, ptr %33, align 4 + %34 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %31, i32 0, i32 2 + store %"github.com/goplus/llgo/internal/runtime.String" %30, ptr %34, align 8 + %35 = load { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %31, align 8 br label %_llgo_6 _llgo_5: ; preds = %_llgo_1 - %45 = alloca { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, align 8 - %46 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %45, i32 0, i32 0 - store i1 false, ptr %46, align 1 - %47 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %45, i32 0, i32 1 - store i64 0, ptr %47, align 4 - %48 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %45, i32 0, i32 2 - store %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, ptr %48, align 8 - %49 = load { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %45, align 8 + %36 = alloca { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, align 8 + %37 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %36, i32 0, i32 0 + store i1 false, ptr %37, align 1 + %38 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %36, i32 0, i32 1 + store i64 0, ptr %38, align 4 + %39 = getelementptr inbounds { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %36, i32 0, i32 2 + store %"github.com/goplus/llgo/internal/runtime.String" zeroinitializer, ptr %39, align 8 + %40 = load { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" }, ptr %36, align 8 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 - %50 = phi { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } [ %44, %_llgo_4 ], [ %49, %_llgo_5 ] - %51 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %50, 0 - br i1 %51, label %_llgo_2, label %_llgo_3 + %41 = phi { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } [ %35, %_llgo_4 ], [ %40, %_llgo_5 ] + %42 = extractvalue { i1, i64, %"github.com/goplus/llgo/internal/runtime.String" } %41, 0 + br i1 %42, label %_llgo_2, label %_llgo_3 } declare void @"github.com/goplus/llgo/internal/runtime.init"() @@ -1643,527 +1571,535 @@ _llgo_13: ; preds = %_llgo_12 br label %_llgo_14 _llgo_14: ; preds = %_llgo_13, %_llgo_12 - %247 = load ptr, ptr @_llgo_int, align 8 - %248 = load ptr, ptr @"[1]_llgo_int", align 8 - %249 = icmp eq ptr %248, null - br i1 %249, label %_llgo_15, label %_llgo_16 + %247 = load ptr, ptr @"[1]_llgo_int", align 8 + %248 = icmp eq ptr %247, null + br i1 %248, label %_llgo_15, label %_llgo_16 _llgo_15: ; preds = %_llgo_14 - %250 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %251 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %250) - store ptr %251, ptr @"[1]_llgo_int", align 8 + %249 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %250 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %249) + store ptr %250, ptr @"[1]_llgo_int", align 8 br label %_llgo_16 _llgo_16: ; preds = %_llgo_15, %_llgo_14 - %252 = load ptr, ptr @"[1]_llgo_int", align 8 + %251 = load ptr, ptr @"[1]_llgo_int", align 8 br i1 %246, label %_llgo_17, label %_llgo_18 _llgo_17: ; preds = %_llgo_16 - %253 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %254 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %253, i32 0, i32 0 - store ptr @4, ptr %254, align 8 - %255 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %253, i32 0, i32 1 - store i64 4, ptr %255, align 4 - %256 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %253, align 8 - %257 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %258 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %257, i32 0, i32 0 - store ptr @13, ptr %258, align 8 - %259 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %257, i32 0, i32 1 - store i64 2, ptr %259, align 4 - %260 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %257, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %244, %"github.com/goplus/llgo/internal/runtime.String" %256, %"github.com/goplus/llgo/internal/runtime.String" %260, ptr %252, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + %252 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %253 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %252, i32 0, i32 0 + store ptr @4, ptr %253, align 8 + %254 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %252, i32 0, i32 1 + store i64 4, ptr %254, align 4 + %255 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %252, align 8 + %256 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %257 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %256, i32 0, i32 0 + store ptr @13, ptr %257, align 8 + %258 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %256, i32 0, i32 1 + store i64 2, ptr %258, align 4 + %259 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %256, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %244, %"github.com/goplus/llgo/internal/runtime.String" %255, %"github.com/goplus/llgo/internal/runtime.String" %259, ptr %251, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_18 _llgo_18: ; preds = %_llgo_17, %_llgo_16 - %261 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %262 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %261, i32 0, i32 0 - store ptr @15, ptr %262, align 8 - %263 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %261, i32 0, i32 1 - store i64 6, ptr %263, align 4 - %264 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %261, align 8 - %265 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %264, i64 17, i64 2, i64 0, i64 0) - %266 = load ptr, ptr @_llgo_main.K, align 8 - %267 = icmp eq ptr %266, null - br i1 %267, label %_llgo_19, label %_llgo_20 + %260 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %261 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %260, i32 0, i32 0 + store ptr @15, ptr %261, align 8 + %262 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %260, i32 0, i32 1 + store i64 6, ptr %262, align 4 + %263 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %260, align 8 + %264 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %263, i64 17, i64 2, i64 0, i64 0) + %265 = load ptr, ptr @_llgo_main.K, align 8 + %266 = icmp eq ptr %265, null + br i1 %266, label %_llgo_19, label %_llgo_20 _llgo_19: ; preds = %_llgo_18 - store ptr %265, ptr @_llgo_main.K, align 8 + store ptr %264, ptr @_llgo_main.K, align 8 br label %_llgo_20 _llgo_20: ; preds = %_llgo_19, %_llgo_18 - %268 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %269 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %268, i32 0, i32 0 - store ptr @16, ptr %269, align 8 - %270 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %268, i32 0, i32 1 - store i64 6, ptr %270, align 4 - %271 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %268, align 8 - %272 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %271, i64 25, i64 2, i64 0, i64 0) - %273 = load ptr, ptr @_llgo_main.N, align 8 - %274 = icmp eq ptr %273, null - br i1 %274, label %_llgo_21, label %_llgo_22 + %267 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %268 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %267, i32 0, i32 0 + store ptr @16, ptr %268, align 8 + %269 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %267, i32 0, i32 1 + store i64 6, ptr %269, align 4 + %270 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %267, align 8 + %271 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %270, i64 25, i64 2, i64 0, i64 0) + %272 = load ptr, ptr @_llgo_main.N, align 8 + %273 = icmp eq ptr %272, null + br i1 %273, label %_llgo_21, label %_llgo_22 _llgo_21: ; preds = %_llgo_20 - store ptr %272, ptr @_llgo_main.N, align 8 + store ptr %271, ptr @_llgo_main.N, align 8 br label %_llgo_22 _llgo_22: ; preds = %_llgo_21, %_llgo_20 - %275 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %276 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %275, i32 0, i32 0 - store ptr @17, ptr %276, align 8 - %277 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %275, i32 0, i32 1 - store i64 2, ptr %277, align 4 - %278 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %275, align 8 - %279 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %280 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %279, i32 0, i32 0 - store ptr null, ptr %280, align 8 - %281 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %279, i32 0, i32 1 - store i64 0, ptr %281, align 4 - %282 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %279, align 8 - %283 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35) - %284 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %278, ptr %283, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %282, i1 false) - %285 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %286 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %285, i32 0, i32 0 - store ptr @18, ptr %286, align 8 - %287 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %285, i32 0, i32 1 - store i64 2, ptr %287, align 4 - %288 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %285, align 8 - %289 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %290 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %289, i32 0, i32 0 - store ptr null, ptr %290, align 8 - %291 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %289, i32 0, i32 1 - store i64 0, ptr %291, align 4 - %292 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %289, align 8 - %293 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35) - %294 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %288, ptr %293, i64 1, %"github.com/goplus/llgo/internal/runtime.String" %292, i1 false) - %295 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %296 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %295, i32 0, i32 0 - store ptr @4, ptr %296, align 8 - %297 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %295, i32 0, i32 1 - store i64 4, ptr %297, align 4 - %298 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %295, align 8 - %299 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %300 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %299, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %284, ptr %300, align 8 - %301 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %299, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %294, ptr %301, align 8 - %302 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %303 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %302, i32 0, i32 0 - store ptr %299, ptr %303, align 8 - %304 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %302, i32 0, i32 1 - store i64 2, ptr %304, align 4 - %305 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %302, i32 0, i32 2 - store i64 2, ptr %305, align 4 - %306 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %302, align 8 - %307 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %298, i64 2, %"github.com/goplus/llgo/internal/runtime.Slice" %306) - store ptr %307, ptr @"main.struct$e65EDK9vxC36Nz3YTgO1ulssLlNH03Bva_WWaCjH-4A", align 8 - %308 = load ptr, ptr @"main.struct$e65EDK9vxC36Nz3YTgO1ulssLlNH03Bva_WWaCjH-4A", align 8 - br i1 %274, label %_llgo_23, label %_llgo_24 + %274 = load ptr, ptr @_llgo_int8, align 8 + %275 = icmp eq ptr %274, null + br i1 %275, label %_llgo_23, label %_llgo_24 _llgo_23: ; preds = %_llgo_22 - %309 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %310 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %309, i32 0, i32 0 - store ptr @4, ptr %310, align 8 - %311 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %309, i32 0, i32 1 - store i64 4, ptr %311, align 4 - %312 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %309, align 8 - %313 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %314 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %313, i32 0, i32 0 - store ptr @19, ptr %314, align 8 - %315 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %313, i32 0, i32 1 - store i64 1, ptr %315, align 4 - %316 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %313, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %272, %"github.com/goplus/llgo/internal/runtime.String" %312, %"github.com/goplus/llgo/internal/runtime.String" %316, ptr %308, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + %276 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35) + store ptr %276, ptr @_llgo_int8, align 8 br label %_llgo_24 _llgo_24: ; preds = %_llgo_23, %_llgo_22 - %317 = load ptr, ptr @_llgo_main.N, align 8 - %318 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %319 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %318, i32 0, i32 0 - store ptr @16, ptr %319, align 8 - %320 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %318, i32 0, i32 1 - store i64 6, ptr %320, align 4 - %321 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %318, align 8 - %322 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %321, i64 25, i64 2, i64 0, i64 0) - %323 = load ptr, ptr @"[1]_llgo_main.N", align 8 - %324 = icmp eq ptr %323, null - br i1 %324, label %_llgo_25, label %_llgo_26 + %277 = load ptr, ptr @_llgo_int8, align 8 + %278 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %279 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %278, i32 0, i32 0 + store ptr @17, ptr %279, align 8 + %280 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %278, i32 0, i32 1 + store i64 2, ptr %280, align 4 + %281 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %278, align 8 + %282 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %283 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %282, i32 0, i32 0 + store ptr null, ptr %283, align 8 + %284 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %282, i32 0, i32 1 + store i64 0, ptr %284, align 4 + %285 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %282, align 8 + %286 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35) + %287 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %281, ptr %286, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %285, i1 false) + %288 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %289 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %288, i32 0, i32 0 + store ptr @18, ptr %289, align 8 + %290 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %288, i32 0, i32 1 + store i64 2, ptr %290, align 4 + %291 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %288, align 8 + %292 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %293 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %292, i32 0, i32 0 + store ptr null, ptr %293, align 8 + %294 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %292, i32 0, i32 1 + store i64 0, ptr %294, align 4 + %295 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %292, align 8 + %296 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35) + %297 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %291, ptr %296, i64 1, %"github.com/goplus/llgo/internal/runtime.String" %295, i1 false) + %298 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %299 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %298, i32 0, i32 0 + store ptr @4, ptr %299, align 8 + %300 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %298, i32 0, i32 1 + store i64 4, ptr %300, align 4 + %301 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %298, align 8 + %302 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %303 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %302, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %287, ptr %303, align 8 + %304 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %302, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %297, ptr %304, align 8 + %305 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %306 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %305, i32 0, i32 0 + store ptr %302, ptr %306, align 8 + %307 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %305, i32 0, i32 1 + store i64 2, ptr %307, align 4 + %308 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %305, i32 0, i32 2 + store i64 2, ptr %308, align 4 + %309 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %305, align 8 + %310 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %301, i64 2, %"github.com/goplus/llgo/internal/runtime.Slice" %309) + store ptr %310, ptr @"main.struct$e65EDK9vxC36Nz3YTgO1ulssLlNH03Bva_WWaCjH-4A", align 8 + %311 = load ptr, ptr @"main.struct$e65EDK9vxC36Nz3YTgO1ulssLlNH03Bva_WWaCjH-4A", align 8 + br i1 %273, label %_llgo_25, label %_llgo_26 _llgo_25: ; preds = %_llgo_24 - %325 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %322) - store ptr %325, ptr @"[1]_llgo_main.N", align 8 + %312 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %313 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %312, i32 0, i32 0 + store ptr @4, ptr %313, align 8 + %314 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %312, i32 0, i32 1 + store i64 4, ptr %314, align 4 + %315 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %312, align 8 + %316 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %317 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %316, i32 0, i32 0 + store ptr @19, ptr %317, align 8 + %318 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %316, i32 0, i32 1 + store i64 1, ptr %318, align 4 + %319 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %316, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %271, %"github.com/goplus/llgo/internal/runtime.String" %315, %"github.com/goplus/llgo/internal/runtime.String" %319, ptr %311, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_26 _llgo_26: ; preds = %_llgo_25, %_llgo_24 + %320 = load ptr, ptr @_llgo_main.N, align 8 + %321 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %322 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %321, i32 0, i32 0 + store ptr @16, ptr %322, align 8 + %323 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %321, i32 0, i32 1 + store i64 6, ptr %323, align 4 + %324 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %321, align 8 + %325 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %324, i64 25, i64 2, i64 0, i64 0) %326 = load ptr, ptr @"[1]_llgo_main.N", align 8 - br i1 %267, label %_llgo_27, label %_llgo_28 + %327 = icmp eq ptr %326, null + br i1 %327, label %_llgo_27, label %_llgo_28 _llgo_27: ; preds = %_llgo_26 - %327 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %328 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %327, i32 0, i32 0 - store ptr @4, ptr %328, align 8 - %329 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %327, i32 0, i32 1 - store i64 4, ptr %329, align 4 - %330 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %327, align 8 - %331 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %332 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %331, i32 0, i32 0 - store ptr @20, ptr %332, align 8 - %333 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %331, i32 0, i32 1 - store i64 1, ptr %333, align 4 - %334 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %331, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %265, %"github.com/goplus/llgo/internal/runtime.String" %330, %"github.com/goplus/llgo/internal/runtime.String" %334, ptr %326, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + %328 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %325) + store ptr %328, ptr @"[1]_llgo_main.N", align 8 br label %_llgo_28 _llgo_28: ; preds = %_llgo_27, %_llgo_26 - %335 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %336 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %335, i32 0, i32 0 - store ptr @21, ptr %336, align 8 - %337 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %335, i32 0, i32 1 - store i64 7, ptr %337, align 4 - %338 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %335, align 8 - %339 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %338, i64 17, i64 8, i64 0, i64 0) - %340 = load ptr, ptr @_llgo_main.K2, align 8 - %341 = icmp eq ptr %340, null - br i1 %341, label %_llgo_29, label %_llgo_30 + %329 = load ptr, ptr @"[1]_llgo_main.N", align 8 + br i1 %266, label %_llgo_29, label %_llgo_30 _llgo_29: ; preds = %_llgo_28 - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %339) - store ptr %339, ptr @_llgo_main.K2, align 8 + %330 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %331 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %330, i32 0, i32 0 + store ptr @4, ptr %331, align 8 + %332 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %330, i32 0, i32 1 + store i64 4, ptr %332, align 4 + %333 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %330, align 8 + %334 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %335 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %334, i32 0, i32 0 + store ptr @20, ptr %335, align 8 + %336 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %334, i32 0, i32 1 + store i64 1, ptr %336, align 4 + %337 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %334, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %264, %"github.com/goplus/llgo/internal/runtime.String" %333, %"github.com/goplus/llgo/internal/runtime.String" %337, ptr %329, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_30 _llgo_30: ; preds = %_llgo_29, %_llgo_28 - %342 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %343 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %342, i32 0, i32 0 - store ptr @16, ptr %343, align 8 - %344 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %342, i32 0, i32 1 - store i64 6, ptr %344, align 4 - %345 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %342, align 8 - %346 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %345, i64 25, i64 2, i64 0, i64 0) - %347 = load ptr, ptr @"*_llgo_main.N", align 8 - %348 = icmp eq ptr %347, null - br i1 %348, label %_llgo_31, label %_llgo_32 + %338 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %339 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %338, i32 0, i32 0 + store ptr @21, ptr %339, align 8 + %340 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %338, i32 0, i32 1 + store i64 7, ptr %340, align 4 + %341 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %338, align 8 + %342 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %341, i64 17, i64 8, i64 0, i64 0) + %343 = load ptr, ptr @_llgo_main.K2, align 8 + %344 = icmp eq ptr %343, null + br i1 %344, label %_llgo_31, label %_llgo_32 _llgo_31: ; preds = %_llgo_30 - %349 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %346) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %349) - store ptr %349, ptr @"*_llgo_main.N", align 8 + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %342) + store ptr %342, ptr @_llgo_main.K2, align 8 br label %_llgo_32 _llgo_32: ; preds = %_llgo_31, %_llgo_30 + %345 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %346 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %345, i32 0, i32 0 + store ptr @16, ptr %346, align 8 + %347 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %345, i32 0, i32 1 + store i64 6, ptr %347, align 4 + %348 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %345, align 8 + %349 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %348, i64 25, i64 2, i64 0, i64 0) %350 = load ptr, ptr @"*_llgo_main.N", align 8 - %351 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %352 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %351, i32 0, i32 0 - store ptr @16, ptr %352, align 8 - %353 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %351, i32 0, i32 1 - store i64 6, ptr %353, align 4 - %354 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %351, align 8 - %355 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %354, i64 25, i64 2, i64 0, i64 0) - %356 = load ptr, ptr @"[1]*_llgo_main.N", align 8 - %357 = icmp eq ptr %356, null - br i1 %357, label %_llgo_33, label %_llgo_34 + %351 = icmp eq ptr %350, null + br i1 %351, label %_llgo_33, label %_llgo_34 _llgo_33: ; preds = %_llgo_32 - %358 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %355) - %359 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %358) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %359) - store ptr %359, ptr @"[1]*_llgo_main.N", align 8 + %352 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %349) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %352) + store ptr %352, ptr @"*_llgo_main.N", align 8 br label %_llgo_34 _llgo_34: ; preds = %_llgo_33, %_llgo_32 - %360 = load ptr, ptr @"[1]*_llgo_main.N", align 8 - br i1 %341, label %_llgo_35, label %_llgo_36 + %353 = load ptr, ptr @"*_llgo_main.N", align 8 + %354 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %355 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %354, i32 0, i32 0 + store ptr @16, ptr %355, align 8 + %356 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %354, i32 0, i32 1 + store i64 6, ptr %356, align 4 + %357 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %354, align 8 + %358 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %357, i64 25, i64 2, i64 0, i64 0) + %359 = load ptr, ptr @"[1]*_llgo_main.N", align 8 + %360 = icmp eq ptr %359, null + br i1 %360, label %_llgo_35, label %_llgo_36 _llgo_35: ; preds = %_llgo_34 - %361 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %362 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %361, i32 0, i32 0 - store ptr @4, ptr %362, align 8 - %363 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %361, i32 0, i32 1 - store i64 4, ptr %363, align 4 - %364 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %361, align 8 - %365 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %366 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %365, i32 0, i32 0 - store ptr @22, ptr %366, align 8 - %367 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %365, i32 0, i32 1 - store i64 2, ptr %367, align 4 - %368 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %365, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %339, %"github.com/goplus/llgo/internal/runtime.String" %364, %"github.com/goplus/llgo/internal/runtime.String" %368, ptr %360, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + %361 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %358) + %362 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %361) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %362) + store ptr %362, ptr @"[1]*_llgo_main.N", align 8 br label %_llgo_36 _llgo_36: ; preds = %_llgo_35, %_llgo_34 - %369 = load ptr, ptr @"chan _llgo_int", align 8 - %370 = icmp eq ptr %369, null - br i1 %370, label %_llgo_37, label %_llgo_38 + %363 = load ptr, ptr @"[1]*_llgo_main.N", align 8 + br i1 %344, label %_llgo_37, label %_llgo_38 _llgo_37: ; preds = %_llgo_36 - %371 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %372 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %371, i32 0, i32 0 - store ptr @23, ptr %372, align 8 - %373 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %371, i32 0, i32 1 - store i64 4, ptr %373, align 4 - %374 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %371, align 8 - %375 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %376 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" %374, ptr %375) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %376) - store ptr %376, ptr @"chan _llgo_int", align 8 + %364 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %365 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %364, i32 0, i32 0 + store ptr @4, ptr %365, align 8 + %366 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %364, i32 0, i32 1 + store i64 4, ptr %366, align 4 + %367 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %364, align 8 + %368 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %369 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %368, i32 0, i32 0 + store ptr @22, ptr %369, align 8 + %370 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %368, i32 0, i32 1 + store i64 2, ptr %370, align 4 + %371 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %368, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %342, %"github.com/goplus/llgo/internal/runtime.String" %367, %"github.com/goplus/llgo/internal/runtime.String" %371, ptr %363, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_38 _llgo_38: ; preds = %_llgo_37, %_llgo_36 - %377 = load ptr, ptr @"map[chan _llgo_int]_llgo_int", align 8 - %378 = icmp eq ptr %377, null - br i1 %378, label %_llgo_39, label %_llgo_40 + %372 = load ptr, ptr @"chan _llgo_int", align 8 + %373 = icmp eq ptr %372, null + br i1 %373, label %_llgo_39, label %_llgo_40 _llgo_39: ; preds = %_llgo_38 - %379 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %380 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %379, i32 0, i32 0 - store ptr @23, ptr %380, align 8 - %381 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %379, i32 0, i32 1 - store i64 4, ptr %381, align 4 - %382 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %379, align 8 - %383 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %384 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" %382, ptr %383) - %385 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %386 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %387 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %386, i32 0, i32 0 - store ptr @0, ptr %387, align 8 - %388 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %386, i32 0, i32 1 - store i64 7, ptr %388, align 4 - %389 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %386, align 8 - %390 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %391 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %390, i32 0, i32 0 - store ptr null, ptr %391, align 8 - %392 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %390, i32 0, i32 1 - store i64 0, ptr %392, align 4 - %393 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %390, align 8 - %394 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %395 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %394) - %396 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %389, ptr %395, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %393, i1 false) - %397 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %398 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %397, i32 0, i32 0 - store ptr @1, ptr %398, align 8 - %399 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %397, i32 0, i32 1 - store i64 4, ptr %399, align 4 - %400 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %397, align 8 - %401 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %402 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %401, i32 0, i32 0 - store ptr null, ptr %402, align 8 - %403 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %401, i32 0, i32 1 - store i64 0, ptr %403, align 4 - %404 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %401, align 8 - %405 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %406 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %405, i32 0, i32 0 - store ptr @23, ptr %406, align 8 - %407 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %405, i32 0, i32 1 - store i64 4, ptr %407, align 4 - %408 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %405, align 8 - %409 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %410 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" %408, ptr %409) - %411 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %410) - %412 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %400, ptr %411, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %404, i1 false) - %413 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %414 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %413, i32 0, i32 0 - store ptr @2, ptr %414, align 8 - %415 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %413, i32 0, i32 1 - store i64 5, ptr %415, align 4 - %416 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %413, align 8 - %417 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %418 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %417, i32 0, i32 0 - store ptr null, ptr %418, align 8 - %419 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %417, i32 0, i32 1 - store i64 0, ptr %419, align 4 - %420 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %417, align 8 - %421 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %422 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %421) - %423 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %416, ptr %422, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %420, i1 false) - %424 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %425 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %424, i32 0, i32 0 - store ptr @3, ptr %425, align 8 - %426 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %424, i32 0, i32 1 - store i64 8, ptr %426, align 4 - %427 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %424, align 8 - %428 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %429 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %428, i32 0, i32 0 - store ptr null, ptr %429, align 8 - %430 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %428, i32 0, i32 1 - store i64 0, ptr %430, align 4 - %431 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %428, align 8 - %432 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %433 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %427, ptr %432, i64 136, %"github.com/goplus/llgo/internal/runtime.String" %431, i1 false) - %434 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %435 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %434, i32 0, i32 0 - store ptr @4, ptr %435, align 8 - %436 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %434, i32 0, i32 1 - store i64 4, ptr %436, align 4 - %437 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %434, align 8 - %438 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) - %439 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %438, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %396, ptr %439, align 8 - %440 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %438, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %412, ptr %440, align 8 - %441 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %438, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %423, ptr %441, align 8 - %442 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %438, i64 3 - store %"github.com/goplus/llgo/internal/abi.StructField" %433, ptr %442, align 8 - %443 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %444 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %443, i32 0, i32 0 - store ptr %438, ptr %444, align 8 - %445 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %443, i32 0, i32 1 - store i64 4, ptr %445, align 4 - %446 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %443, i32 0, i32 2 - store i64 4, ptr %446, align 4 - %447 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %443, align 8 - %448 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %437, i64 144, %"github.com/goplus/llgo/internal/runtime.Slice" %447) - %449 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %384, ptr %385, ptr %448, i64 4) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %449) - store ptr %449, ptr @"map[chan _llgo_int]_llgo_int", align 8 + %374 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %375 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %374, i32 0, i32 0 + store ptr @23, ptr %375, align 8 + %376 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %374, i32 0, i32 1 + store i64 4, ptr %376, align 4 + %377 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %374, align 8 + %378 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %379 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" %377, ptr %378) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %379) + store ptr %379, ptr @"chan _llgo_int", align 8 br label %_llgo_40 _llgo_40: ; preds = %_llgo_39, %_llgo_38 - %450 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %451 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %450, i32 0, i32 0 - store ptr @24, ptr %451, align 8 - %452 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %450, i32 0, i32 1 - store i64 6, ptr %452, align 4 - %453 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %450, align 8 - %454 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %453, i64 21, i64 8, i64 0, i64 0) - %455 = load ptr, ptr @_llgo_main.M, align 8 - %456 = icmp eq ptr %455, null - br i1 %456, label %_llgo_41, label %_llgo_42 + %380 = load ptr, ptr @"map[chan _llgo_int]_llgo_int", align 8 + %381 = icmp eq ptr %380, null + br i1 %381, label %_llgo_41, label %_llgo_42 _llgo_41: ; preds = %_llgo_40 - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %454) - store ptr %454, ptr @_llgo_main.M, align 8 + %382 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %383 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %382, i32 0, i32 0 + store ptr @23, ptr %383, align 8 + %384 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %382, i32 0, i32 1 + store i64 4, ptr %384, align 4 + %385 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %382, align 8 + %386 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %387 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" %385, ptr %386) + %388 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %389 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %390 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %389, i32 0, i32 0 + store ptr @0, ptr %390, align 8 + %391 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %389, i32 0, i32 1 + store i64 7, ptr %391, align 4 + %392 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %389, align 8 + %393 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %394 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %393, i32 0, i32 0 + store ptr null, ptr %394, align 8 + %395 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %393, i32 0, i32 1 + store i64 0, ptr %395, align 4 + %396 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %393, align 8 + %397 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %398 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %397) + %399 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %392, ptr %398, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %396, i1 false) + %400 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %401 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %400, i32 0, i32 0 + store ptr @1, ptr %401, align 8 + %402 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %400, i32 0, i32 1 + store i64 4, ptr %402, align 4 + %403 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %400, align 8 + %404 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %405 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %404, i32 0, i32 0 + store ptr null, ptr %405, align 8 + %406 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %404, i32 0, i32 1 + store i64 0, ptr %406, align 4 + %407 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %404, align 8 + %408 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %409 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %408, i32 0, i32 0 + store ptr @23, ptr %409, align 8 + %410 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %408, i32 0, i32 1 + store i64 4, ptr %410, align 4 + %411 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %408, align 8 + %412 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %413 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" %411, ptr %412) + %414 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %413) + %415 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %403, ptr %414, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %407, i1 false) + %416 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %417 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %416, i32 0, i32 0 + store ptr @2, ptr %417, align 8 + %418 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %416, i32 0, i32 1 + store i64 5, ptr %418, align 4 + %419 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %416, align 8 + %420 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %421 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %420, i32 0, i32 0 + store ptr null, ptr %421, align 8 + %422 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %420, i32 0, i32 1 + store i64 0, ptr %422, align 4 + %423 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %420, align 8 + %424 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %425 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %424) + %426 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %419, ptr %425, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %423, i1 false) + %427 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %428 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %427, i32 0, i32 0 + store ptr @3, ptr %428, align 8 + %429 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %427, i32 0, i32 1 + store i64 8, ptr %429, align 4 + %430 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %427, align 8 + %431 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %432 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %431, i32 0, i32 0 + store ptr null, ptr %432, align 8 + %433 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %431, i32 0, i32 1 + store i64 0, ptr %433, align 4 + %434 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %431, align 8 + %435 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %436 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %430, ptr %435, i64 136, %"github.com/goplus/llgo/internal/runtime.String" %434, i1 false) + %437 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %438 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %437, i32 0, i32 0 + store ptr @4, ptr %438, align 8 + %439 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %437, i32 0, i32 1 + store i64 4, ptr %439, align 4 + %440 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %437, align 8 + %441 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) + %442 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %441, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %399, 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" %415, 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" %426, ptr %444, align 8 + %445 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %441, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %436, ptr %445, align 8 + %446 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %447 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %446, i32 0, i32 0 + store ptr %441, ptr %447, align 8 + %448 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %446, i32 0, i32 1 + store i64 4, ptr %448, align 4 + %449 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %446, i32 0, i32 2 + store i64 4, ptr %449, align 4 + %450 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %446, align 8 + %451 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %440, i64 144, %"github.com/goplus/llgo/internal/runtime.Slice" %450) + %452 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %387, ptr %388, ptr %451, i64 4) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %452) + store ptr %452, ptr @"map[chan _llgo_int]_llgo_int", align 8 br label %_llgo_42 _llgo_42: ; preds = %_llgo_41, %_llgo_40 - %457 = load ptr, ptr @_llgo_int, align 8 - %458 = load ptr, ptr @_llgo_string, align 8 - %459 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 - br i1 %456, label %_llgo_43, label %_llgo_44 + %453 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %454 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %453, i32 0, i32 0 + store ptr @24, ptr %454, align 8 + %455 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %453, i32 0, i32 1 + store i64 6, ptr %455, align 4 + %456 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %453, align 8 + %457 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %456, i64 21, i64 8, i64 0, i64 0) + %458 = load ptr, ptr @_llgo_main.M, align 8 + %459 = icmp eq ptr %458, null + br i1 %459, label %_llgo_43, label %_llgo_44 _llgo_43: ; preds = %_llgo_42 - %460 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %461 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %460, i32 0, i32 0 - store ptr @4, ptr %461, align 8 - %462 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %460, i32 0, i32 1 - store i64 4, ptr %462, align 4 - %463 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %460, align 8 - %464 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %465 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %464, i32 0, i32 0 - store ptr @25, ptr %465, align 8 - %466 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %464, i32 0, i32 1 - store i64 1, ptr %466, align 4 - %467 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %464, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %454, %"github.com/goplus/llgo/internal/runtime.String" %463, %"github.com/goplus/llgo/internal/runtime.String" %467, ptr %459, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %457) + store ptr %457, ptr @_llgo_main.M, align 8 br label %_llgo_44 _llgo_44: ; preds = %_llgo_43, %_llgo_42 - %468 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %469 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %468, i32 0, i32 0 - store ptr @16, ptr %469, align 8 - %470 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %468, i32 0, i32 1 - store i64 6, ptr %470, align 4 - %471 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %468, align 8 - %472 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %471, i64 2, i64 8, i64 0, i64 0) - %473 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %474 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %473, i32 0, i32 0 - store ptr @16, ptr %474, align 8 - %475 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %473, i32 0, i32 1 - store i64 6, ptr %475, align 4 - %476 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %473, align 8 - %477 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %476, i64 2, i64 8, i64 0, i64 0) - %478 = load ptr, ptr @"map[_llgo_main.N]_llgo_string", align 8 - %479 = icmp eq ptr %478, null - br i1 %479, label %_llgo_45, label %_llgo_46 + %460 = load ptr, ptr @"map[_llgo_int]_llgo_string", align 8 + br i1 %459, label %_llgo_45, label %_llgo_46 _llgo_45: ; preds = %_llgo_44 - %480 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %481 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %482 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %481, i32 0, i32 0 - store ptr @0, ptr %482, align 8 - %483 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %481, i32 0, i32 1 - store i64 7, ptr %483, align 4 - %484 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %481, align 8 - %485 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %486 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %485, i32 0, i32 0 - store ptr null, ptr %486, align 8 - %487 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %485, i32 0, i32 1 - store i64 0, ptr %487, align 4 - %488 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %485, align 8 - %489 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) - %490 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %489) - %491 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %484, ptr %490, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %488, i1 false) - %492 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %493 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %492, i32 0, i32 0 - store ptr @1, ptr %493, align 8 - %494 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %492, i32 0, i32 1 - store i64 4, ptr %494, align 4 - %495 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %492, align 8 - %496 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %497 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %496, i32 0, i32 0 - store ptr null, ptr %497, align 8 - %498 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %496, i32 0, i32 1 - store i64 0, ptr %498, align 4 - %499 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %496, align 8 - %500 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %477) - %501 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %495, ptr %500, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %499, i1 false) - %502 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %503 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %502, i32 0, i32 0 - store ptr @2, ptr %503, align 8 - %504 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %502, i32 0, i32 1 - store i64 5, ptr %504, align 4 - %505 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %502, align 8 - %506 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %507 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %506, i32 0, i32 0 - store ptr null, ptr %507, align 8 - %508 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %506, i32 0, i32 1 - store i64 0, ptr %508, align 4 - %509 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %506, align 8 - %510 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %511 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %510) - %512 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %505, ptr %511, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %509, i1 false) - %513 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %514 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %513, i32 0, i32 0 - store ptr @3, ptr %514, align 8 - %515 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %513, i32 0, i32 1 - store i64 8, ptr %515, align 4 - %516 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %513, align 8 - %517 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %518 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %517, i32 0, i32 0 - store ptr null, ptr %518, align 8 - %519 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %517, i32 0, i32 1 - store i64 0, ptr %519, align 4 - %520 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %517, align 8 - %521 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %522 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %516, ptr %521, i64 200, %"github.com/goplus/llgo/internal/runtime.String" %520, i1 false) - %523 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %524 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %523, i32 0, i32 0 - store ptr @4, ptr %524, align 8 - %525 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %523, i32 0, i32 1 - store i64 4, ptr %525, align 4 - %526 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %523, align 8 - %527 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) - %528 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %527, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %491, ptr %528, align 8 - %529 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %527, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %501, ptr %529, align 8 - %530 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %527, i64 2 - store %"github.com/goplus/llgo/internal/abi.StructField" %512, ptr %530, align 8 - %531 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %527, i64 3 - store %"github.com/goplus/llgo/internal/abi.StructField" %522, ptr %531, align 8 - %532 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %533 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %532, i32 0, i32 0 - store ptr %527, ptr %533, align 8 - %534 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %532, i32 0, i32 1 - store i64 4, ptr %534, align 4 - %535 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %532, i32 0, i32 2 - store i64 4, ptr %535, align 4 - %536 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %532, align 8 - %537 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %526, i64 208, %"github.com/goplus/llgo/internal/runtime.Slice" %536) - %538 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %472, ptr %480, ptr %537, i64 4) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %538) - store ptr %538, ptr @"map[_llgo_main.N]_llgo_string", align 8 + %461 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %462 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %461, i32 0, i32 0 + store ptr @4, ptr %462, align 8 + %463 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %461, i32 0, i32 1 + store i64 4, ptr %463, align 4 + %464 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %461, align 8 + %465 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %466 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %465, i32 0, i32 0 + store ptr @25, ptr %466, align 8 + %467 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %465, i32 0, i32 1 + store i64 1, ptr %467, align 4 + %468 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %465, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %457, %"github.com/goplus/llgo/internal/runtime.String" %464, %"github.com/goplus/llgo/internal/runtime.String" %468, ptr %460, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer) br label %_llgo_46 _llgo_46: ; preds = %_llgo_45, %_llgo_44 + %469 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %470 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %469, i32 0, i32 0 + store ptr @16, ptr %470, align 8 + %471 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %469, i32 0, i32 1 + store i64 6, ptr %471, align 4 + %472 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %469, align 8 + %473 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %472, i64 2, i64 8, i64 0, i64 0) + %474 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %475 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %474, i32 0, i32 0 + store ptr @16, ptr %475, align 8 + %476 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %474, i32 0, i32 1 + store i64 6, ptr %476, align 4 + %477 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %474, align 8 + %478 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %477, i64 2, i64 8, i64 0, i64 0) + %479 = load ptr, ptr @"map[_llgo_main.N]_llgo_string", align 8 + %480 = icmp eq ptr %479, null + br i1 %480, label %_llgo_47, label %_llgo_48 + +_llgo_47: ; preds = %_llgo_46 + %481 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %482 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %483 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %482, i32 0, i32 0 + store ptr @0, ptr %483, align 8 + %484 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %482, i32 0, i32 1 + store i64 7, ptr %484, align 4 + %485 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %482, align 8 + %486 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %487 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %486, i32 0, i32 0 + store ptr null, ptr %487, align 8 + %488 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %486, i32 0, i32 1 + store i64 0, ptr %488, align 4 + %489 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %486, align 8 + %490 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40) + %491 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %490) + %492 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %485, ptr %491, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %489, i1 false) + %493 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %494 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %493, i32 0, i32 0 + store ptr @1, ptr %494, align 8 + %495 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %493, i32 0, i32 1 + store i64 4, ptr %495, align 4 + %496 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %493, align 8 + %497 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %498 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %497, i32 0, i32 0 + store ptr null, ptr %498, align 8 + %499 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %497, i32 0, i32 1 + store i64 0, ptr %499, align 4 + %500 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %497, align 8 + %501 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %478) + %502 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %496, ptr %501, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %500, i1 false) + %503 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %504 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %503, i32 0, i32 0 + store ptr @2, ptr %504, align 8 + %505 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %503, i32 0, i32 1 + store i64 5, ptr %505, align 4 + %506 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %503, align 8 + %507 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %508 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %507, i32 0, i32 0 + store ptr null, ptr %508, align 8 + %509 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %507, i32 0, i32 1 + store i64 0, ptr %509, align 4 + %510 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %507, align 8 + %511 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %512 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %511) + %513 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %506, ptr %512, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %510, i1 false) + %514 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %515 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %514, i32 0, i32 0 + store ptr @3, ptr %515, align 8 + %516 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %514, i32 0, i32 1 + store i64 8, ptr %516, align 4 + %517 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %514, align 8 + %518 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %519 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %518, i32 0, i32 0 + store ptr null, ptr %519, align 8 + %520 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %518, i32 0, i32 1 + store i64 0, ptr %520, align 4 + %521 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %518, align 8 + %522 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %523 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %517, ptr %522, i64 200, %"github.com/goplus/llgo/internal/runtime.String" %521, i1 false) + %524 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %525 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %524, i32 0, i32 0 + store ptr @4, ptr %525, align 8 + %526 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %524, i32 0, i32 1 + store i64 4, ptr %526, align 4 + %527 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %524, align 8 + %528 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224) + %529 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %528, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %492, ptr %529, align 8 + %530 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %528, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %502, ptr %530, align 8 + %531 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %528, i64 2 + store %"github.com/goplus/llgo/internal/abi.StructField" %513, ptr %531, align 8 + %532 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %528, i64 3 + store %"github.com/goplus/llgo/internal/abi.StructField" %523, ptr %532, align 8 + %533 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %534 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %533, i32 0, i32 0 + store ptr %528, ptr %534, align 8 + %535 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %533, i32 0, i32 1 + store i64 4, ptr %535, align 4 + %536 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %533, i32 0, i32 2 + store i64 4, ptr %536, align 4 + %537 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %533, align 8 + %538 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %527, i64 208, %"github.com/goplus/llgo/internal/runtime.Slice" %537) + %539 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %473, ptr %481, ptr %538, i64 4) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %539) + store ptr %539, ptr @"map[_llgo_main.N]_llgo_string", align 8 + br label %_llgo_48 + +_llgo_48: ; preds = %_llgo_47, %_llgo_46 ret void } diff --git a/cl/_testrt/map/out.ll b/cl/_testrt/map/out.ll index 1682da0b..444bf878 100644 --- a/cl/_testrt/map/out.ll +++ b/cl/_testrt/map/out.ll @@ -38,31 +38,24 @@ _llgo_0: call void @"github.com/goplus/llgo/internal/runtime.init"() call void @main.init() %2 = load ptr, ptr @_llgo_int, align 8 - %3 = load ptr, ptr @_llgo_int, align 8 - %4 = load ptr, ptr @"map[_llgo_int]_llgo_int", align 8 - %5 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %4, i64 2) - %6 = load ptr, ptr @_llgo_int, align 8 - %7 = load ptr, ptr @_llgo_int, align 8 + %3 = load ptr, ptr @"map[_llgo_int]_llgo_int", align 8 + %4 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr %3, i64 2) + %5 = load ptr, ptr @"map[_llgo_int]_llgo_int", align 8 + %6 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + store i64 23, ptr %6, align 4 + %7 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %5, ptr %4, ptr %6) + store i64 100, ptr %7, align 4 %8 = load ptr, ptr @"map[_llgo_int]_llgo_int", align 8 %9 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - store i64 23, ptr %9, align 4 - %10 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %8, ptr %5, ptr %9) - store i64 100, ptr %10, align 4 - %11 = load ptr, ptr @_llgo_int, align 8 - %12 = load ptr, ptr @_llgo_int, align 8 - %13 = load ptr, ptr @"map[_llgo_int]_llgo_int", align 8 - %14 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - store i64 7, ptr %14, align 4 - %15 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %13, ptr %5, ptr %14) - store i64 29, ptr %15, align 4 - %16 = load ptr, ptr @_llgo_int, align 8 - %17 = load ptr, ptr @_llgo_int, align 8 - %18 = load ptr, ptr @"map[_llgo_int]_llgo_int", align 8 - %19 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - store i64 23, ptr %19, align 4 - %20 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAccess1"(ptr %18, ptr %5, ptr %19) - %21 = load i64, ptr %20, align 4 - %22 = call i32 (ptr, ...) @printf(ptr @5, i64 %21) + store i64 7, ptr %9, align 4 + %10 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr %8, ptr %4, ptr %9) + store i64 29, ptr %10, align 4 + %11 = load ptr, ptr @"map[_llgo_int]_llgo_int", align 8 + %12 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + store i64 23, ptr %12, align 4 + %13 = call ptr @"github.com/goplus/llgo/internal/runtime.MapAccess1"(ptr %11, ptr %4, ptr %12) + %14 = load i64, ptr %13, align 4 + %15 = call i32 (ptr, ...) @printf(ptr @5, i64 %14) ret i32 0 } diff --git a/cl/_testrt/tpabi/out.ll b/cl/_testrt/tpabi/out.ll index 1abbe5e0..5786dbfd 100644 --- a/cl/_testrt/tpabi/out.ll +++ b/cl/_testrt/tpabi/out.ll @@ -16,6 +16,8 @@ source_filename = "main" @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 +@_llgo_string = linkonce global ptr null, align 8 +@_llgo_int = linkonce global ptr null, align 8 @"main.struct$A2OTYqQyUOqOQ-i_F5iXeAKWtxeWGEuyeN7HCfULCDk" = linkonce global ptr null, align 8 @2 = private unnamed_addr constant [1 x i8] c"m", align 1 @3 = private unnamed_addr constant [1 x i8] c"n", align 1 @@ -25,7 +27,6 @@ source_filename = "main" @6 = private unnamed_addr constant [4 x i8] c"Info", align 1 @7 = private unnamed_addr constant [13 x i8] c"T[string,int]", align 1 @8 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 -@_llgo_string = linkonce global ptr null, align 8 @9 = private unnamed_addr constant [5 x i8] c"hello", align 1 @"*_llgo_main.T[string,int]" = linkonce global ptr null, align 8 @"_llgo_iface$BP0p_lUsEd-IbbtJVukGmgrdQkqzcoYzSiwgUvgFvUs" = linkonce global ptr null, align 8 @@ -95,61 +96,62 @@ _llgo_1: ; preds = %_llgo_0 store %"github.com/goplus/llgo/internal/runtime.String" %28, ptr %23, align 8 store i64 100, ptr %24, align 4 %29 = load ptr, ptr @"*_llgo_main.T[string,int]", align 8 - %30 = load ptr, ptr @"_llgo_iface$BP0p_lUsEd-IbbtJVukGmgrdQkqzcoYzSiwgUvgFvUs", align 8 - %31 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %30, ptr %29) - %32 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %33 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %32, i32 0, i32 0 - store ptr %31, ptr %33, align 8 - %34 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %32, i32 0, i32 1 - store ptr %22, ptr %34, align 8 - %35 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %32, align 8 - %36 = call ptr @"github.com/goplus/llgo/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/internal/runtime.iface" %35) - %37 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %35, 0 - %38 = getelementptr ptr, ptr %37, i64 3 - %39 = load ptr, ptr %38, align 8 - %40 = alloca { ptr, ptr }, align 8 - %41 = getelementptr inbounds { ptr, ptr }, ptr %40, i32 0, i32 0 - store ptr %39, ptr %41, align 8 - %42 = getelementptr inbounds { ptr, ptr }, ptr %40, i32 0, i32 1 - store ptr %36, ptr %42, align 8 - %43 = load { ptr, ptr }, ptr %40, align 8 - %44 = extractvalue { ptr, ptr } %43, 1 - %45 = extractvalue { ptr, ptr } %43, 0 - call void %45(ptr %44) - %46 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 32) - %47 = getelementptr inbounds i64, ptr %46, i64 0 - %48 = getelementptr inbounds i64, ptr %46, i64 1 - %49 = getelementptr inbounds i64, ptr %46, i64 2 - %50 = getelementptr inbounds i64, ptr %46, i64 3 - store i64 1, ptr %47, align 4 - store i64 2, ptr %48, align 4 - store i64 3, ptr %49, align 4 - store i64 4, ptr %50, align 4 - %51 = getelementptr [4 x i64], ptr %46, i64 1 - call void @"github.com/goplus/llgo/internal/runtime.PrintPointer"(ptr %51) - call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) - %52 = getelementptr [4 x i64], ptr %46, i64 1 + %30 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %31 = load ptr, ptr @"_llgo_iface$BP0p_lUsEd-IbbtJVukGmgrdQkqzcoYzSiwgUvgFvUs", align 8 + %32 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %31, ptr %29) + %33 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %34 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %33, i32 0, i32 0 + store ptr %32, ptr %34, align 8 + %35 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %33, i32 0, i32 1 + store ptr %22, ptr %35, align 8 + %36 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %33, align 8 + %37 = call ptr @"github.com/goplus/llgo/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/internal/runtime.iface" %36) + %38 = extractvalue %"github.com/goplus/llgo/internal/runtime.iface" %36, 0 + %39 = getelementptr ptr, ptr %38, i64 3 + %40 = load ptr, ptr %39, align 8 + %41 = alloca { ptr, ptr }, align 8 + %42 = getelementptr inbounds { ptr, ptr }, ptr %41, i32 0, i32 0 + store ptr %40, ptr %42, align 8 + %43 = getelementptr inbounds { ptr, ptr }, ptr %41, i32 0, i32 1 + store ptr %37, ptr %43, align 8 + %44 = load { ptr, ptr }, ptr %41, align 8 + %45 = extractvalue { ptr, ptr } %44, 1 + %46 = extractvalue { ptr, ptr } %44, 0 + call void %46(ptr %45) + %47 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 32) + %48 = getelementptr inbounds i64, ptr %47, i64 0 + %49 = getelementptr inbounds i64, ptr %47, i64 1 + %50 = getelementptr inbounds i64, ptr %47, i64 2 + %51 = getelementptr inbounds i64, ptr %47, i64 3 + store i64 1, ptr %48, align 4 + store i64 2, ptr %49, align 4 + store i64 3, ptr %50, align 4 + store i64 4, ptr %51, align 4 + %52 = getelementptr [4 x i64], ptr %47, i64 1 call void @"github.com/goplus/llgo/internal/runtime.PrintPointer"(ptr %52) call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) + %53 = getelementptr [4 x i64], ptr %47, i64 1 + call void @"github.com/goplus/llgo/internal/runtime.PrintPointer"(ptr %53) + call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10) ret i32 0 _llgo_2: ; preds = %_llgo_0 - %53 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %54 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %53, i32 0, i32 0 - store ptr @8, ptr %54, align 8 - %55 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %53, i32 0, i32 1 - store i64 21, ptr %55, align 4 - %56 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %53, align 8 - %57 = load ptr, ptr @_llgo_string, align 8 - %58 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/internal/runtime.String" %56, ptr %58, align 8 - %59 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 - %60 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %59, i32 0, i32 0 - store ptr %57, ptr %60, align 8 - %61 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %59, i32 0, i32 1 + %54 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %55 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %54, i32 0, i32 0 + store ptr @8, ptr %55, align 8 + %56 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %54, i32 0, i32 1 + store i64 21, ptr %56, align 4 + %57 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %54, align 8 + %58 = load ptr, ptr @_llgo_string, align 8 + %59 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/internal/runtime.String" %57, ptr %59, align 8 + %60 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8 + %61 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %60, i32 0, i32 0 store ptr %58, ptr %61, align 8 - %62 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %59, align 8 - call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %62) + %62 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %60, i32 0, i32 1 + store ptr %59, ptr %62, align 8 + %63 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %60, align 8 + call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %63) unreachable } @@ -212,257 +214,269 @@ _llgo_1: ; preds = %_llgo_0 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 - %7 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %7, i32 0, i32 0 - store ptr @2, ptr %8, align 8 - %9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %7, i32 0, i32 1 - store i64 1, ptr %9, align 4 - %10 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %7, align 8 - %11 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %12 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %11, i32 0, i32 0 - store ptr null, ptr %12, align 8 - %13 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %11, i32 0, i32 1 - store i64 0, ptr %13, align 4 - %14 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %11, align 8 - %15 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - %16 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %10, ptr %15, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %14, i1 false) - %17 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %18 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %17, i32 0, i32 0 - store ptr @3, ptr %18, align 8 - %19 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %17, i32 0, i32 1 - store i64 1, ptr %19, align 4 - %20 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %17, align 8 - %21 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %22 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %21, i32 0, i32 0 - store ptr null, ptr %22, align 8 - %23 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %21, i32 0, i32 1 - store i64 0, ptr %23, align 4 - %24 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %21, align 8 - %25 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) - %26 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %20, ptr %25, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %24, i1 false) - %27 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %28 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %27, i32 0, i32 0 - store ptr @4, ptr %28, align 8 - %29 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %27, i32 0, i32 1 - store i64 4, ptr %29, align 4 - %30 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %27, align 8 - %31 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %32 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %31, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %16, ptr %32, align 8 - %33 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %31, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %26, ptr %33, align 8 - %34 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %35 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %34, i32 0, i32 0 - store ptr %31, ptr %35, align 8 - %36 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %34, i32 0, i32 1 - store i64 2, ptr %36, align 4 - %37 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %34, i32 0, i32 2 - store i64 2, ptr %37, align 4 - %38 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %34, align 8 - %39 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %30, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %38) - store ptr %39, ptr @"main.struct$A2OTYqQyUOqOQ-i_F5iXeAKWtxeWGEuyeN7HCfULCDk", align 8 - %40 = load ptr, ptr @"main.struct$A2OTYqQyUOqOQ-i_F5iXeAKWtxeWGEuyeN7HCfULCDk", align 8 - br i1 %6, label %_llgo_3, label %_llgo_4 + %7 = load ptr, ptr @_llgo_string, align 8 + %8 = icmp eq ptr %7, null + br i1 %8, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 - %41 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %42 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %41, i32 0, i32 0 - store ptr @5, ptr %42, align 8 - %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %41, i32 0, i32 1 - store i64 4, ptr %43, align 4 - %44 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %41, align 8 - %45 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %46 = icmp eq ptr %45, null - br i1 %46, label %_llgo_5, label %_llgo_6 - -_llgo_4: ; preds = %_llgo_6, %_llgo_2 - %47 = load ptr, ptr @_llgo_string, align 8 - %48 = icmp eq ptr %47, null - br i1 %48, label %_llgo_7, label %_llgo_8 - -_llgo_5: ; preds = %_llgo_3 - %49 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %50 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %50, i32 0, i32 0 - store ptr %49, ptr %51, align 8 - %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %50, i32 0, i32 1 - store i64 0, ptr %52, align 4 - %53 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %50, i32 0, i32 2 - store i64 0, ptr %53, align 4 - %54 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %50, align 8 - %55 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %56 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %57 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %56, i32 0, i32 0 - store ptr %55, ptr %57, align 8 - %58 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %56, i32 0, i32 1 - store i64 0, ptr %58, align 4 - %59 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %56, i32 0, i32 2 - store i64 0, ptr %59, align 4 - %60 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %56, align 8 - %61 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %54, %"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$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - br label %_llgo_6 - -_llgo_6: ; preds = %_llgo_5, %_llgo_3 - %62 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %63 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %64 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %63, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %44, ptr %64, align 8 - %65 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %63, i32 0, i32 1 - store ptr %62, ptr %65, align 8 - %66 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %63, i32 0, i32 2 - store ptr @"main.(*T[string,int]).Demo", ptr %66, align 8 - %67 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %63, i32 0, i32 3 - store ptr @"main.(*T[string,int]).Demo", ptr %67, align 8 - %68 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %63, align 8 - %69 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %70 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %69, i32 0, i32 0 - store ptr @6, ptr %70, align 8 - %71 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %69, i32 0, i32 1 - store i64 4, ptr %71, align 4 - %72 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %69, align 8 - %73 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %74 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %75 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %74, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %72, ptr %75, align 8 - %76 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %74, i32 0, i32 1 - store ptr %73, ptr %76, align 8 - %77 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %74, i32 0, i32 2 - store ptr @"main.(*T[string,int]).Info", ptr %77, align 8 - %78 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %74, i32 0, i32 3 - store ptr @"main.(*T[string,int]).Info", ptr %78, align 8 - %79 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %74, align 8 - %80 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %81 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %80, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %72, ptr %81, align 8 - %82 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %80, i32 0, i32 1 - store ptr %73, ptr %82, align 8 - %83 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %80, i32 0, i32 2 - store ptr @"main.(*T[string,int]).Info", ptr %83, align 8 - %84 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %80, i32 0, i32 3 - store ptr @"main.T[string,int].Info", ptr %84, align 8 - %85 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %80, align 8 - %86 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %87 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %86, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %85, ptr %87, align 8 - %88 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %89 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %88, i32 0, i32 0 - store ptr %86, ptr %89, align 8 - %90 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %88, i32 0, i32 1 - store i64 1, ptr %90, align 4 - %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %88, i32 0, i32 2 - store i64 1, ptr %91, align 4 - %92 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %88, align 8 - %93 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) - %94 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %93, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %68, ptr %94, align 8 - %95 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %93, i64 1 - store %"github.com/goplus/llgo/internal/abi.Method" %79, ptr %95, align 8 - %96 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %97 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %96, i32 0, i32 0 - store ptr %93, ptr %97, align 8 - %98 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %96, i32 0, i32 1 - store i64 2, ptr %98, align 4 - %99 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %96, i32 0, i32 2 - store i64 2, ptr %99, align 4 - %100 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %96, align 8 - %101 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %102 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %101, i32 0, i32 0 - store ptr @4, ptr %102, align 8 - %103 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %101, i32 0, i32 1 - store i64 4, ptr %103, align 4 - %104 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %101, align 8 - %105 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %106 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %105, i32 0, i32 0 - store ptr @7, ptr %106, align 8 - %107 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %105, i32 0, i32 1 - store i64 13, ptr %107, align 4 - %108 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %105, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %4, %"github.com/goplus/llgo/internal/runtime.String" %104, %"github.com/goplus/llgo/internal/runtime.String" %108, ptr %40, %"github.com/goplus/llgo/internal/runtime.Slice" %92, %"github.com/goplus/llgo/internal/runtime.Slice" %100) + %9 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + store ptr %9, ptr @_llgo_string, align 8 br label %_llgo_4 -_llgo_7: ; preds = %_llgo_4 - %109 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - store ptr %109, ptr @_llgo_string, align 8 - br label %_llgo_8 +_llgo_4: ; preds = %_llgo_3, %_llgo_2 + %10 = load ptr, ptr @_llgo_string, align 8 + %11 = load ptr, ptr @_llgo_int, align 8 + %12 = icmp eq ptr %11, null + br i1 %12, label %_llgo_5, label %_llgo_6 -_llgo_8: ; preds = %_llgo_7, %_llgo_4 - %110 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %111 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %110, i32 0, i32 0 - store ptr @1, ptr %111, align 8 - %112 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %110, i32 0, i32 1 - store i64 19, ptr %112, align 4 - %113 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %110, align 8 - %114 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %113, i64 25, i64 24, i64 1, i64 2) - %115 = load ptr, ptr @"*_llgo_main.T[string,int]", align 8 - %116 = icmp eq ptr %115, null - br i1 %116, label %_llgo_9, label %_llgo_10 +_llgo_5: ; preds = %_llgo_4 + %13 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + store ptr %13, ptr @_llgo_int, align 8 + br label %_llgo_6 -_llgo_9: ; preds = %_llgo_8 - %117 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %114) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %117) - store ptr %117, ptr @"*_llgo_main.T[string,int]", align 8 +_llgo_6: ; preds = %_llgo_5, %_llgo_4 + %14 = load ptr, ptr @_llgo_int, align 8 + %15 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %16 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %15, i32 0, i32 0 + store ptr @2, ptr %16, align 8 + %17 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %15, i32 0, i32 1 + store i64 1, ptr %17, align 4 + %18 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %15, align 8 + %19 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %20 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %19, i32 0, i32 0 + store ptr null, ptr %20, align 8 + %21 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %19, i32 0, i32 1 + store i64 0, ptr %21, align 4 + %22 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %19, align 8 + %23 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + %24 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %18, ptr %23, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %22, i1 false) + %25 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %26 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %25, i32 0, i32 0 + store ptr @3, ptr %26, align 8 + %27 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %25, i32 0, i32 1 + store i64 1, ptr %27, align 4 + %28 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %25, align 8 + %29 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %30 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %29, i32 0, i32 0 + store ptr null, ptr %30, align 8 + %31 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %29, i32 0, i32 1 + store i64 0, ptr %31, align 4 + %32 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %29, align 8 + %33 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34) + %34 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %28, ptr %33, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %32, i1 false) + %35 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %36 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %35, i32 0, i32 0 + store ptr @4, ptr %36, align 8 + %37 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %35, i32 0, i32 1 + store i64 4, ptr %37, align 4 + %38 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %35, align 8 + %39 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %40 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %39, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %24, ptr %40, align 8 + %41 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %39, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %34, ptr %41, align 8 + %42 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, i32 0, i32 0 + store ptr %39, ptr %43, align 8 + %44 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, i32 0, i32 1 + store i64 2, ptr %44, align 4 + %45 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, i32 0, i32 2 + store i64 2, ptr %45, align 4 + %46 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %42, align 8 + %47 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %38, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %46) + store ptr %47, ptr @"main.struct$A2OTYqQyUOqOQ-i_F5iXeAKWtxeWGEuyeN7HCfULCDk", align 8 + %48 = load ptr, ptr @"main.struct$A2OTYqQyUOqOQ-i_F5iXeAKWtxeWGEuyeN7HCfULCDk", align 8 + br i1 %6, label %_llgo_7, label %_llgo_8 + +_llgo_7: ; preds = %_llgo_6 + %49 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %50 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %49, i32 0, i32 0 + store ptr @5, ptr %50, align 8 + %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %49, i32 0, i32 1 + store i64 4, ptr %51, align 4 + %52 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %49, align 8 + %53 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %54 = icmp eq ptr %53, null + br i1 %54, label %_llgo_9, label %_llgo_10 + +_llgo_8: ; preds = %_llgo_10, %_llgo_6 + %55 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %56 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %55, i32 0, i32 0 + store ptr @1, ptr %56, align 8 + %57 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %55, i32 0, i32 1 + store i64 19, ptr %57, align 4 + %58 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %55, align 8 + %59 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %58, i64 25, i64 24, i64 1, i64 2) + %60 = load ptr, ptr @"*_llgo_main.T[string,int]", align 8 + %61 = icmp eq ptr %60, null + br i1 %61, label %_llgo_11, label %_llgo_12 + +_llgo_9: ; preds = %_llgo_7 + %62 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %63 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %64 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %63, i32 0, i32 0 + store ptr %62, ptr %64, align 8 + %65 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %63, i32 0, i32 1 + store i64 0, ptr %65, align 4 + %66 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %63, i32 0, i32 2 + store i64 0, ptr %66, align 4 + %67 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %63, align 8 + %68 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %69 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %70 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %69, i32 0, i32 0 + store ptr %68, ptr %70, align 8 + %71 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %69, i32 0, i32 1 + store i64 0, ptr %71, align 4 + %72 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %69, i32 0, i32 2 + store i64 0, ptr %72, align 4 + %73 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %69, align 8 + %74 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %67, %"github.com/goplus/llgo/internal/runtime.Slice" %73, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %74) + store ptr %74, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 br label %_llgo_10 -_llgo_10: ; preds = %_llgo_9, %_llgo_8 - %118 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %119 = load ptr, ptr @"_llgo_iface$BP0p_lUsEd-IbbtJVukGmgrdQkqzcoYzSiwgUvgFvUs", align 8 - %120 = icmp eq ptr %119, null - br i1 %120, label %_llgo_11, label %_llgo_12 +_llgo_10: ; preds = %_llgo_9, %_llgo_7 + %75 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %76 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %77 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %76, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %52, ptr %77, align 8 + %78 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %76, i32 0, i32 1 + store ptr %75, ptr %78, align 8 + %79 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %76, i32 0, i32 2 + store ptr @"main.(*T[string,int]).Demo", ptr %79, align 8 + %80 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %76, i32 0, i32 3 + store ptr @"main.(*T[string,int]).Demo", ptr %80, align 8 + %81 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %76, align 8 + %82 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %83 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %82, i32 0, i32 0 + store ptr @6, ptr %83, align 8 + %84 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %82, i32 0, i32 1 + store i64 4, ptr %84, align 4 + %85 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %82, align 8 + %86 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %87 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %88 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %87, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %85, ptr %88, align 8 + %89 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %87, i32 0, i32 1 + store ptr %86, ptr %89, align 8 + %90 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %87, i32 0, i32 2 + store ptr @"main.(*T[string,int]).Info", ptr %90, align 8 + %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %87, i32 0, i32 3 + store ptr @"main.(*T[string,int]).Info", ptr %91, align 8 + %92 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %87, align 8 + %93 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %94 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %93, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %85, ptr %94, align 8 + %95 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %93, i32 0, i32 1 + store ptr %86, ptr %95, align 8 + %96 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %93, i32 0, i32 2 + store ptr @"main.(*T[string,int]).Info", ptr %96, align 8 + %97 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %93, i32 0, i32 3 + store ptr @"main.T[string,int].Info", ptr %97, align 8 + %98 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %93, align 8 + %99 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %100 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %99, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %98, ptr %100, align 8 + %101 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %102 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %101, i32 0, i32 0 + store ptr %99, ptr %102, align 8 + %103 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %101, i32 0, i32 1 + store i64 1, ptr %103, align 4 + %104 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %101, i32 0, i32 2 + store i64 1, ptr %104, align 4 + %105 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %101, align 8 + %106 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 80) + %107 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %106, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %81, ptr %107, align 8 + %108 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %106, i64 1 + store %"github.com/goplus/llgo/internal/abi.Method" %92, ptr %108, align 8 + %109 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %110 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %109, i32 0, i32 0 + store ptr %106, ptr %110, align 8 + %111 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %109, i32 0, i32 1 + store i64 2, ptr %111, align 4 + %112 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %109, i32 0, i32 2 + store i64 2, ptr %112, align 4 + %113 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %109, align 8 + %114 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %115 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %114, i32 0, i32 0 + store ptr @4, ptr %115, align 8 + %116 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %114, i32 0, i32 1 + store i64 4, ptr %116, align 4 + %117 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %114, align 8 + %118 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %119 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %118, i32 0, i32 0 + store ptr @7, ptr %119, align 8 + %120 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %118, i32 0, i32 1 + store i64 13, ptr %120, align 4 + %121 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %118, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %4, %"github.com/goplus/llgo/internal/runtime.String" %117, %"github.com/goplus/llgo/internal/runtime.String" %121, ptr %48, %"github.com/goplus/llgo/internal/runtime.Slice" %105, %"github.com/goplus/llgo/internal/runtime.Slice" %113) + br label %_llgo_8 -_llgo_11: ; preds = %_llgo_10 - %121 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %122 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %121, i32 0, i32 0 - store ptr @5, ptr %122, align 8 - %123 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %121, i32 0, i32 1 - store i64 4, ptr %123, align 4 - %124 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %121, align 8 - %125 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %126 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %125, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %124, ptr %126, align 8 - %127 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %125, i32 0, i32 1 - store ptr %118, ptr %127, align 8 - %128 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %125, align 8 - %129 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %130 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %129, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %128, ptr %130, align 8 - %131 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %132 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %131, i32 0, i32 0 - store ptr %129, ptr %132, align 8 - %133 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %131, i32 0, i32 1 - store i64 1, ptr %133, align 4 - %134 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %131, i32 0, i32 2 - store i64 1, ptr %134, align 4 - %135 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %131, align 8 - %136 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %137 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %136, i32 0, i32 0 - store ptr @4, ptr %137, align 8 - %138 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %136, i32 0, i32 1 - store i64 4, ptr %138, align 4 - %139 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %136, align 8 - %140 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %141 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %140, i32 0, i32 0 - store ptr null, ptr %141, align 8 - %142 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %140, i32 0, i32 1 - store i64 0, ptr %142, align 4 - %143 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %140, align 8 - %144 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %139, %"github.com/goplus/llgo/internal/runtime.String" %143, %"github.com/goplus/llgo/internal/runtime.Slice" %135) - store ptr %144, ptr @"_llgo_iface$BP0p_lUsEd-IbbtJVukGmgrdQkqzcoYzSiwgUvgFvUs", align 8 +_llgo_11: ; preds = %_llgo_8 + %122 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %59) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %122) + store ptr %122, ptr @"*_llgo_main.T[string,int]", align 8 br label %_llgo_12 -_llgo_12: ; preds = %_llgo_11, %_llgo_10 +_llgo_12: ; preds = %_llgo_11, %_llgo_8 + %123 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %124 = load ptr, ptr @"_llgo_iface$BP0p_lUsEd-IbbtJVukGmgrdQkqzcoYzSiwgUvgFvUs", align 8 + %125 = icmp eq ptr %124, null + br i1 %125, label %_llgo_13, label %_llgo_14 + +_llgo_13: ; preds = %_llgo_12 + %126 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %127 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %126, i32 0, i32 0 + store ptr @5, ptr %127, align 8 + %128 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %126, i32 0, i32 1 + store i64 4, ptr %128, align 4 + %129 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %126, align 8 + %130 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %131 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %130, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %129, ptr %131, align 8 + %132 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %130, i32 0, i32 1 + store ptr %123, ptr %132, align 8 + %133 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %130, align 8 + %134 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %135 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %134, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %133, ptr %135, align 8 + %136 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %137 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %136, i32 0, i32 0 + store ptr %134, ptr %137, align 8 + %138 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %136, i32 0, i32 1 + store i64 1, ptr %138, align 4 + %139 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %136, i32 0, i32 2 + store i64 1, ptr %139, align 4 + %140 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %136, align 8 + %141 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %142 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %141, i32 0, i32 0 + store ptr @4, ptr %142, align 8 + %143 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %141, i32 0, i32 1 + store i64 4, ptr %143, align 4 + %144 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %141, align 8 + %145 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %146 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %145, i32 0, i32 0 + store ptr null, ptr %146, align 8 + %147 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %145, i32 0, i32 1 + store i64 0, ptr %147, align 4 + %148 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %145, align 8 + %149 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %144, %"github.com/goplus/llgo/internal/runtime.String" %148, %"github.com/goplus/llgo/internal/runtime.Slice" %140) + store ptr %149, ptr @"_llgo_iface$BP0p_lUsEd-IbbtJVukGmgrdQkqzcoYzSiwgUvgFvUs", align 8 + br label %_llgo_14 + +_llgo_14: ; preds = %_llgo_13, %_llgo_12 ret void } declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String", i64, i64, i64, i64) +declare ptr @"github.com/goplus/llgo/internal/runtime.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) -declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64) - declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64) declare void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr, %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", ptr, %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice") diff --git a/cl/_testrt/tpmethod/out.ll b/cl/_testrt/tpmethod/out.ll index a8a3f9b5..1d9f3e3e 100644 --- a/cl/_testrt/tpmethod/out.ll +++ b/cl/_testrt/tpmethod/out.ll @@ -16,24 +16,27 @@ 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 -@"main.struct$ovoVIslEZIUrMi_-W6orVCU5A_Y8gqTBvvvJEMlWdJY" = linkonce global ptr null, align 8 @_llgo_Pointer = linkonce global ptr null, align 8 -@"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY" = 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 -@"main.struct$ddtj0teo4LtYcagzh1w6BsSZ7226uefXlqreeHsfVRo" = linkonce global ptr null, align 8 -@"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to" = linkonce global ptr null, align 8 +@_llgo_error = linkonce global ptr null, align 8 @_llgo_string = linkonce global ptr null, align 8 -@3 = private unnamed_addr constant [1 x i8] c"v", align 1 -@4 = private unnamed_addr constant [5 x i8] c"Error", align 1 -@5 = private unnamed_addr constant [4 x i8] c"main", align 1 -@6 = private unnamed_addr constant [5 x i8] c"error", align 1 +@"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to" = linkonce global ptr null, align 8 +@3 = private unnamed_addr constant [5 x i8] c"Error", align 1 +@4 = private unnamed_addr constant [4 x i8] c"main", align 1 +@5 = private unnamed_addr constant [5 x i8] c"error", align 1 +@"main.struct$ddtj0teo4LtYcagzh1w6BsSZ7226uefXlqreeHsfVRo" = linkonce global ptr null, align 8 +@6 = private unnamed_addr constant [1 x i8] c"v", align 1 @7 = private unnamed_addr constant [3 x i8] c"Get", align 1 @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w" = linkonce global ptr null, align 8 -@_llgo_error = 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 @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 @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 @@ -155,16 +158,20 @@ _llgo_0: %1 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64 16) %2 = getelementptr inbounds %"main.future[main.Tuple[error]]", ptr %1, i32 0, i32 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_iface$Nwf494fPwMWb08Ae8NF-s-Tau0AFb_mdl0sjJX-pbHw", align 8 - %5 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %4, ptr %3) - %6 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 - %7 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %6, i32 0, i32 0 - store ptr %5, ptr %7, align 8 - %8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %6, i32 0, i32 1 - store ptr %1, ptr %8, align 8 - %9 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %6, align 8 - ret %"github.com/goplus/llgo/internal/runtime.iface" %9 + %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 + %9 = call ptr @"github.com/goplus/llgo/internal/runtime.NewItab"(ptr %8, ptr %4) + %10 = alloca %"github.com/goplus/llgo/internal/runtime.iface", align 8 + %11 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %10, i32 0, i32 0 + store ptr %9, ptr %11, align 8 + %12 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.iface", ptr %10, i32 0, i32 1 + store ptr %1, ptr %12, align 8 + %13 = load %"github.com/goplus/llgo/internal/runtime.iface", ptr %10, align 8 + ret %"github.com/goplus/llgo/internal/runtime.iface" %13 } define linkonce void @"__llgo_stub.main.ReadFile$1"(ptr %0, { ptr, ptr } %1) { @@ -214,33 +221,33 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_1, %_llgo_0 %8 = load ptr, ptr @_llgo_Pointer, align 8 - %9 = load ptr, ptr @_llgo_Pointer, align 8 - %10 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %11 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %10, i32 0, i32 0 - store ptr @2, ptr %11, align 8 - %12 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %10, i32 0, i32 1 - store i64 17, ptr %12, align 4 - %13 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %10, align 8 - %14 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %13, i64 25, i64 16, i64 1, i64 1) - %15 = load ptr, ptr @"_llgo_main.Tuple[error]", align 8 - %16 = icmp eq ptr %15, null - br i1 %16, label %_llgo_3, label %_llgo_4 + %9 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %10 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %9, i32 0, i32 0 + store ptr @2, ptr %10, align 8 + %11 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %9, i32 0, i32 1 + store i64 17, ptr %11, align 4 + %12 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %9, align 8 + %13 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %12, i64 25, i64 16, i64 1, i64 1) + %14 = load ptr, ptr @"_llgo_main.Tuple[error]", align 8 + %15 = icmp eq ptr %14, null + br i1 %15, label %_llgo_3, label %_llgo_4 _llgo_3: ; preds = %_llgo_2 - store ptr %14, ptr @"_llgo_main.Tuple[error]", align 8 + store ptr %13, ptr @"_llgo_main.Tuple[error]", align 8 br label %_llgo_4 _llgo_4: ; preds = %_llgo_3, %_llgo_2 - %17 = load ptr, ptr @_llgo_string, align 8 - %18 = icmp eq ptr %17, null - br i1 %18, label %_llgo_5, label %_llgo_6 + %16 = load ptr, ptr @_llgo_string, align 8 + %17 = icmp eq ptr %16, null + br i1 %17, label %_llgo_5, label %_llgo_6 _llgo_5: ; preds = %_llgo_4 - %19 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) - store ptr %19, ptr @_llgo_string, align 8 + %18 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24) + store ptr %18, ptr @_llgo_string, align 8 br label %_llgo_6 _llgo_6: ; preds = %_llgo_5, %_llgo_4 + %19 = load ptr, ptr @_llgo_string, align 8 %20 = load ptr, ptr @_llgo_string, align 8 %21 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 %22 = icmp eq ptr %21, null @@ -274,526 +281,679 @@ _llgo_7: ; preds = %_llgo_6 _llgo_8: ; preds = %_llgo_7, %_llgo_6 %37 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %38 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %39 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %38, i32 0, i32 0 - store ptr @3, ptr %39, align 8 - %40 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %38, i32 0, i32 1 - store i64 1, ptr %40, align 4 - %41 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %38, align 8 - %42 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %42, i32 0, i32 0 - store ptr null, ptr %43, align 8 - %44 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %42, i32 0, i32 1 - store i64 0, ptr %44, align 4 - %45 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %42, align 8 - %46 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %47 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %46, i32 0, i32 0 - store ptr @4, ptr %47, align 8 - %48 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %46, i32 0, i32 1 - store i64 5, ptr %48, align 4 - %49 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %46, align 8 - %50 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %50, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %49, ptr %51, align 8 - %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %50, i32 0, i32 1 - store ptr %37, ptr %52, align 8 - %53 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %50, align 8 - %54 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %55 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %54, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %53, ptr %55, align 8 - %56 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %57 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %56, i32 0, i32 0 - store ptr %54, ptr %57, align 8 - %58 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %56, i32 0, i32 1 - store i64 1, ptr %58, align 4 - %59 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %56, i32 0, i32 2 - store i64 1, ptr %59, align 4 - %60 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %56, align 8 - %61 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %62 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %61, i32 0, i32 0 - store ptr @5, ptr %62, align 8 - %63 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %61, i32 0, i32 1 - store i64 4, ptr %63, align 4 - %64 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %61, align 8 - %65 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %66 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %65, i32 0, i32 0 - store ptr @6, ptr %66, align 8 - %67 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %65, i32 0, i32 1 - store i64 5, ptr %67, align 4 - %68 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %65, align 8 - %69 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %64, %"github.com/goplus/llgo/internal/runtime.String" %68, %"github.com/goplus/llgo/internal/runtime.Slice" %60) - %70 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %41, ptr %69, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %45, i1 false) - %71 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %72 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %71, i32 0, i32 0 - store ptr @5, ptr %72, align 8 - %73 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %71, i32 0, i32 1 - store i64 4, ptr %73, align 4 - %74 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %71, align 8 - %75 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) - %76 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %75, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %70, ptr %76, align 8 - %77 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %78 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, i32 0, i32 0 - store ptr %75, ptr %78, align 8 - %79 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, i32 0, i32 1 - store i64 1, ptr %79, align 4 - %80 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, i32 0, i32 2 - store i64 1, ptr %80, align 4 - %81 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %77, align 8 - %82 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %74, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %81) - store ptr %82, ptr @"main.struct$ddtj0teo4LtYcagzh1w6BsSZ7226uefXlqreeHsfVRo", align 8 - %83 = load ptr, ptr @"main.struct$ddtj0teo4LtYcagzh1w6BsSZ7226uefXlqreeHsfVRo", align 8 - br i1 %16, label %_llgo_9, label %_llgo_10 + %38 = load ptr, ptr @_llgo_error, align 8 + %39 = icmp eq ptr %38, null + br i1 %39, label %_llgo_9, label %_llgo_10 _llgo_9: ; preds = %_llgo_8 - %84 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %85 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %84, i32 0, i32 0 - store ptr @7, ptr %85, align 8 - %86 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %84, i32 0, i32 1 - store i64 3, ptr %86, align 4 - %87 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %84, align 8 - %88 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 - %89 = load ptr, ptr @_llgo_error, align 8 - %90 = icmp eq ptr %89, null - br i1 %90, label %_llgo_11, label %_llgo_12 - -_llgo_10: ; preds = %_llgo_14, %_llgo_8 - %91 = load ptr, ptr @"_llgo_main.Tuple[error]", align 8 - %92 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %93 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %92, i32 0, i32 0 - store ptr @9, ptr %93, align 8 - %94 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %92, i32 0, i32 1 - store i64 1, ptr %94, align 4 - %95 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %92, align 8 - %96 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %97 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %96, i32 0, i32 0 - store ptr null, ptr %97, align 8 - %98 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %96, i32 0, i32 1 - store i64 0, ptr %98, align 4 - %99 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %96, align 8 - %100 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %101 = getelementptr ptr, ptr %100, i64 0 - store ptr %9, ptr %101, align 8 - %102 = getelementptr ptr, ptr %100, i64 1 - store ptr %91, ptr %102, align 8 - %103 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %104 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %103, i32 0, i32 0 - store ptr %100, ptr %104, align 8 - %105 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %103, i32 0, i32 1 - store i64 2, ptr %105, align 4 - %106 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %103, i32 0, i32 2 - store i64 2, ptr %106, align 4 - %107 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %103, align 8 - %108 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %109 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %110 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %109, i32 0, i32 0 - store ptr %108, ptr %110, align 8 - %111 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %109, i32 0, i32 1 - store i64 0, ptr %111, align 4 - %112 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %109, i32 0, i32 2 - store i64 0, ptr %112, align 4 - %113 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %109, align 8 - %114 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %107, %"github.com/goplus/llgo/internal/runtime.Slice" %113, 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" %95, ptr %114, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %99, i1 false) - %116 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %117 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %116, i32 0, i32 0 - store ptr @10, ptr %117, align 8 - %118 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %116, i32 0, i32 1 - store i64 4, ptr %118, align 4 - %119 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %116, align 8 - %120 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %121 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %120, i32 0, i32 0 - store ptr null, ptr %121, align 8 - %122 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %120, i32 0, i32 1 - store i64 0, ptr %122, align 4 - %123 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %120, align 8 - %124 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %125 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %119, ptr %124, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %123, i1 false) - %126 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %127 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %126, i32 0, i32 0 - store ptr @5, ptr %127, align 8 - %128 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %126, i32 0, i32 1 - store i64 4, ptr %128, align 4 - %129 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %126, align 8 - %130 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %131 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %130, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %115, ptr %131, align 8 - %132 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %130, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %125, ptr %132, align 8 - %133 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %134 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %133, i32 0, i32 0 - store ptr %130, ptr %134, align 8 - %135 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %133, i32 0, i32 1 - store i64 2, ptr %135, align 4 - %136 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %133, i32 0, i32 2 - store i64 2, ptr %136, align 4 - %137 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %133, align 8 - %138 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %129, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %137) - store ptr %138, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 - %139 = load ptr, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 - %140 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %141 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %140, i32 0, i32 0 - store ptr @11, ptr %141, align 8 - %142 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %140, i32 0, i32 1 - store i64 2, ptr %142, align 4 - %143 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %140, align 8 - %144 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %145 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %144, i32 0, i32 0 - store ptr null, ptr %145, align 8 - %146 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %144, i32 0, i32 1 - store i64 0, ptr %146, align 4 - %147 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %144, align 8 - %148 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %149 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %148, i32 0, i32 0 - store ptr @9, ptr %149, align 8 - %150 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %148, i32 0, i32 1 - store i64 1, ptr %150, align 4 - %151 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %148, align 8 - %152 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %153 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %152, i32 0, i32 0 - store ptr null, ptr %153, align 8 - %154 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %152, i32 0, i32 1 - store i64 0, ptr %154, align 4 - %155 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %152, align 8 - %156 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) - %157 = getelementptr ptr, ptr %156, i64 0 - store ptr %8, ptr %157, align 8 - %158 = getelementptr ptr, ptr %156, i64 1 - store ptr %139, ptr %158, align 8 - %159 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %160 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %159, i32 0, i32 0 - store ptr %156, ptr %160, align 8 - %161 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %159, i32 0, i32 1 - store i64 2, ptr %161, align 4 - %162 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %159, i32 0, i32 2 - store i64 2, ptr %162, align 4 - %163 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %159, align 8 - %164 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %165 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %166 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %165, i32 0, i32 0 - store ptr %164, ptr %166, align 8 - %167 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %165, i32 0, i32 1 - store i64 0, ptr %167, align 4 - %168 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %165, i32 0, i32 2 - store i64 0, ptr %168, align 4 - %169 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %165, align 8 - %170 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %163, %"github.com/goplus/llgo/internal/runtime.Slice" %169, i1 false) - %171 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %151, ptr %170, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %155, i1 false) - %172 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %173 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %172, i32 0, i32 0 - store ptr @10, ptr %173, align 8 - %174 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %172, i32 0, i32 1 - store i64 4, ptr %174, align 4 - %175 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %172, align 8 - %176 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %177 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %176, i32 0, i32 0 - store ptr null, ptr %177, align 8 - %178 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %176, i32 0, i32 1 - store i64 0, ptr %178, align 4 - %179 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %176, align 8 - %180 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) - %181 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %175, ptr %180, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %179, i1 false) - %182 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %183 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %182, i32 0, i32 0 - store ptr @5, ptr %183, align 8 - %184 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %182, i32 0, i32 1 - store i64 4, ptr %184, align 4 - %185 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %182, align 8 - %186 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) - %187 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %186, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %171, ptr %187, align 8 - %188 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %186, i64 1 - store %"github.com/goplus/llgo/internal/abi.StructField" %181, ptr %188, align 8 - %189 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %190 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %189, i32 0, i32 0 - store ptr %186, ptr %190, align 8 - %191 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %189, i32 0, i32 1 - store i64 2, ptr %191, align 4 - %192 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %189, i32 0, i32 2 - store i64 2, ptr %192, align 4 - %193 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %189, align 8 - %194 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %185, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %193) - %195 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %143, ptr %194, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %147, i1 false) - %196 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %197 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %196, i32 0, i32 0 - store ptr @5, ptr %197, align 8 - %198 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %196, i32 0, i32 1 - store i64 4, ptr %198, align 4 - %199 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %196, align 8 - %200 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) - %201 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %200, i64 0 - store %"github.com/goplus/llgo/internal/abi.StructField" %195, ptr %201, align 8 - %202 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %203 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %202, i32 0, i32 0 - store ptr %200, ptr %203, align 8 - %204 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %202, i32 0, i32 1 - store i64 1, ptr %204, align 4 - %205 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %202, i32 0, i32 2 - store i64 1, ptr %205, align 4 - %206 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %202, align 8 - %207 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %199, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %206) - store ptr %207, ptr @"main.struct$ovoVIslEZIUrMi_-W6orVCU5A_Y8gqTBvvvJEMlWdJY", align 8 - %208 = load ptr, ptr @"main.struct$ovoVIslEZIUrMi_-W6orVCU5A_Y8gqTBvvvJEMlWdJY", align 8 - %209 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %210 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %209, i32 0, i32 0 - store ptr @12, ptr %210, align 8 - %211 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %209, i32 0, i32 1 - store i64 4, ptr %211, align 4 - %212 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %209, align 8 - %213 = load ptr, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 - %214 = load ptr, ptr @"_llgo_func$C0YAnS54eM5TTOK79-PISU_oLySCvOtTKOpIh9jI2pM", align 8 - %215 = icmp eq ptr %214, null - br i1 %215, label %_llgo_15, label %_llgo_16 - -_llgo_11: ; preds = %_llgo_9 - %216 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %217 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %216, i32 0, i32 0 - store ptr @4, ptr %217, align 8 - %218 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %216, i32 0, i32 1 - store i64 5, ptr %218, align 4 - %219 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %216, align 8 - %220 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %221 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %220, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %219, ptr %221, align 8 - %222 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %220, i32 0, i32 1 - store ptr %88, ptr %222, align 8 - %223 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %220, align 8 - %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 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %227 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %226, i32 0, i32 0 - store ptr %224, ptr %227, align 8 - %228 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %226, i32 0, i32 1 - store i64 1, ptr %228, align 4 - %229 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %226, i32 0, i32 2 - store i64 1, ptr %229, align 4 - %230 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %226, align 8 - %231 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %232 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %231, i32 0, i32 0 - store ptr @5, ptr %232, align 8 - %233 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %231, i32 0, i32 1 - store i64 4, ptr %233, align 4 - %234 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %231, align 8 - %235 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %236 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %235, i32 0, i32 0 - store ptr @6, ptr %236, align 8 - %237 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %235, i32 0, i32 1 - store i64 5, ptr %237, align 4 - %238 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %235, align 8 - %239 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %234, %"github.com/goplus/llgo/internal/runtime.String" %238, %"github.com/goplus/llgo/internal/runtime.Slice" %230) - store ptr %239, ptr @_llgo_error, align 8 - br label %_llgo_12 - -_llgo_12: ; preds = %_llgo_11, %_llgo_9 - %240 = load ptr, ptr @_llgo_error, align 8 - %241 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 - %242 = icmp eq ptr %241, null - br i1 %242, label %_llgo_13, label %_llgo_14 - -_llgo_13: ; preds = %_llgo_12 - %243 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %244 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %245 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %244, i32 0, i32 0 - store ptr %243, ptr %245, align 8 - %246 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %244, i32 0, i32 1 - store i64 0, ptr %246, align 4 - %247 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %244, i32 0, i32 2 - store i64 0, ptr %247, align 4 - %248 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %244, align 8 - %249 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %250 = getelementptr ptr, ptr %249, i64 0 - store ptr %240, ptr %250, align 8 - %251 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %252 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %251, i32 0, i32 0 - store ptr %249, ptr %252, align 8 - %253 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %251, i32 0, i32 1 - store i64 1, ptr %253, align 4 - %254 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %251, i32 0, i32 2 - store i64 1, ptr %254, align 4 - %255 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %251, align 8 - %256 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %248, %"github.com/goplus/llgo/internal/runtime.Slice" %255, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %256) - store ptr %256, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 - br label %_llgo_14 - -_llgo_14: ; preds = %_llgo_13, %_llgo_12 - %257 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 - %258 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %259 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %258, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %87, ptr %259, align 8 - %260 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %258, i32 0, i32 1 - store ptr %257, ptr %260, align 8 - %261 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %258, i32 0, i32 2 - store ptr @"main.(*Tuple[error]).Get", ptr %261, align 8 - %262 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %258, i32 0, i32 3 - store ptr @"main.(*Tuple[error]).Get", ptr %262, align 8 - %263 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %258, align 8 - %264 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %265 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %264, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %87, ptr %265, align 8 - %266 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %264, i32 0, i32 1 - store ptr %257, ptr %266, align 8 - %267 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %264, i32 0, i32 2 - store ptr @"main.(*Tuple[error]).Get", ptr %267, align 8 - %268 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %264, i32 0, i32 3 - store ptr @"main.Tuple[error].Get", ptr %268, align 8 - %269 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %264, align 8 - %270 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %271 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %270, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %269, ptr %271, align 8 - %272 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %273 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %272, i32 0, i32 0 - store ptr %270, ptr %273, align 8 - %274 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %272, i32 0, i32 1 - store i64 1, ptr %274, align 4 - %275 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %272, i32 0, i32 2 - store i64 1, ptr %275, align 4 - %276 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %272, align 8 - %277 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %278 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %277, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %263, ptr %278, align 8 - %279 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %280 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %279, i32 0, i32 0 - store ptr %277, ptr %280, align 8 - %281 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %279, i32 0, i32 1 - store i64 1, ptr %281, align 4 - %282 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %279, i32 0, i32 2 - store i64 1, ptr %282, align 4 - %283 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %279, align 8 - %284 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %285 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %284, i32 0, i32 0 - store ptr @5, ptr %285, align 8 - %286 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %284, i32 0, i32 1 - store i64 4, ptr %286, align 4 - %287 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %284, align 8 - %288 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %289 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %288, i32 0, i32 0 - store ptr @8, ptr %289, align 8 - %290 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %288, i32 0, i32 1 - store i64 12, ptr %290, align 4 - %291 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %288, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %14, %"github.com/goplus/llgo/internal/runtime.String" %287, %"github.com/goplus/llgo/internal/runtime.String" %291, ptr %83, %"github.com/goplus/llgo/internal/runtime.Slice" %276, %"github.com/goplus/llgo/internal/runtime.Slice" %283) + %40 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %41 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %40, i32 0, i32 0 + store ptr @3, ptr %41, align 8 + %42 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %40, i32 0, i32 1 + store i64 5, ptr %42, align 4 + %43 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %40, align 8 + %44 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %45 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %44, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %43, ptr %45, align 8 + %46 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %44, i32 0, i32 1 + store ptr %37, ptr %46, align 8 + %47 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %44, align 8 + %48 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %49 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %48, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %47, ptr %49, align 8 + %50 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %50, i32 0, i32 0 + store ptr %48, ptr %51, align 8 + %52 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %50, i32 0, i32 1 + store i64 1, ptr %52, align 4 + %53 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %50, i32 0, i32 2 + store i64 1, ptr %53, align 4 + %54 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %50, align 8 + %55 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %56 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %55, i32 0, i32 0 + store ptr @4, ptr %56, align 8 + %57 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %55, i32 0, i32 1 + store i64 4, ptr %57, align 4 + %58 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %55, align 8 + %59 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %60 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %59, i32 0, i32 0 + store ptr @5, ptr %60, align 8 + %61 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %59, i32 0, i32 1 + store i64 5, ptr %61, align 4 + %62 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %59, align 8 + %63 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %58, %"github.com/goplus/llgo/internal/runtime.String" %62, %"github.com/goplus/llgo/internal/runtime.Slice" %54) + store ptr %63, ptr @_llgo_error, align 8 br label %_llgo_10 -_llgo_15: ; preds = %_llgo_10 - %292 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) - %293 = getelementptr ptr, ptr %292, i64 0 - store ptr %213, ptr %293, align 8 - %294 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %295 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %294, i32 0, i32 0 - store ptr %292, ptr %295, align 8 - %296 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %294, i32 0, i32 1 - store i64 1, ptr %296, align 4 - %297 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %294, i32 0, i32 2 - store i64 1, ptr %297, align 4 - %298 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %294, align 8 - %299 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) - %300 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %301 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %300, i32 0, i32 0 - store ptr %299, ptr %301, align 8 - %302 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %300, i32 0, i32 1 - store i64 0, ptr %302, align 4 - %303 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %300, i32 0, i32 2 - store i64 0, ptr %303, align 4 - %304 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %300, align 8 - %305 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %298, %"github.com/goplus/llgo/internal/runtime.Slice" %304, i1 false) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %305) - store ptr %305, ptr @"_llgo_func$C0YAnS54eM5TTOK79-PISU_oLySCvOtTKOpIh9jI2pM", align 8 +_llgo_10: ; preds = %_llgo_9, %_llgo_8 + %64 = load ptr, ptr @_llgo_error, align 8 + %65 = load ptr, ptr @"_llgo_func$zNDVRsWTIpUPKouNUS805RGX--IV9qVK8B31IZbg5to", align 8 + %66 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %67 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %66, i32 0, i32 0 + store ptr @6, ptr %67, align 8 + %68 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %66, i32 0, i32 1 + store i64 1, ptr %68, align 4 + %69 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %66, align 8 + %70 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %71 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %70, i32 0, i32 0 + store ptr null, ptr %71, align 8 + %72 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %70, i32 0, i32 1 + store i64 0, ptr %72, align 4 + %73 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %70, align 8 + %74 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %75 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %74, i32 0, i32 0 + store ptr @3, ptr %75, align 8 + %76 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %74, i32 0, i32 1 + store i64 5, ptr %76, align 4 + %77 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %74, align 8 + %78 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %79 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %78, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %77, ptr %79, align 8 + %80 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %78, i32 0, i32 1 + store ptr %65, ptr %80, align 8 + %81 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %78, align 8 + %82 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %83 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %82, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %81, ptr %83, align 8 + %84 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %85 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %84, i32 0, i32 0 + store ptr %82, ptr %85, align 8 + %86 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %84, i32 0, i32 1 + store i64 1, ptr %86, align 4 + %87 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %84, i32 0, i32 2 + store i64 1, ptr %87, align 4 + %88 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %84, align 8 + %89 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %90 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %89, i32 0, i32 0 + store ptr @4, ptr %90, align 8 + %91 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %89, i32 0, i32 1 + store i64 4, ptr %91, align 4 + %92 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %89, align 8 + %93 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %94 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %93, i32 0, i32 0 + store ptr @5, ptr %94, align 8 + %95 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %93, i32 0, i32 1 + store i64 5, ptr %95, align 4 + %96 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %93, align 8 + %97 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %92, %"github.com/goplus/llgo/internal/runtime.String" %96, %"github.com/goplus/llgo/internal/runtime.Slice" %88) + %98 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %69, ptr %97, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %73, i1 false) + %99 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %100 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %99, i32 0, i32 0 + store ptr @4, ptr %100, align 8 + %101 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %99, i32 0, i32 1 + store i64 4, ptr %101, align 4 + %102 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %99, align 8 + %103 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) + %104 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %103, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %98, ptr %104, align 8 + %105 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %106 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %105, i32 0, i32 0 + store ptr %103, ptr %106, align 8 + %107 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %105, i32 0, i32 1 + store i64 1, ptr %107, align 4 + %108 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %105, i32 0, i32 2 + store i64 1, ptr %108, align 4 + %109 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %105, align 8 + %110 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %102, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %109) + store ptr %110, ptr @"main.struct$ddtj0teo4LtYcagzh1w6BsSZ7226uefXlqreeHsfVRo", align 8 + %111 = load ptr, ptr @"main.struct$ddtj0teo4LtYcagzh1w6BsSZ7226uefXlqreeHsfVRo", align 8 + br i1 %15, label %_llgo_11, label %_llgo_12 + +_llgo_11: ; preds = %_llgo_10 + %112 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %113 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %112, i32 0, i32 0 + store ptr @7, ptr %113, align 8 + %114 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %112, i32 0, i32 1 + store i64 3, ptr %114, align 4 + %115 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %112, align 8 + %116 = load ptr, ptr @_llgo_error, align 8 + %117 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 + %118 = icmp eq ptr %117, null + br i1 %118, label %_llgo_13, label %_llgo_14 + +_llgo_12: ; preds = %_llgo_14, %_llgo_10 + %119 = load ptr, ptr @"_llgo_main.Tuple[error]", align 8 + %120 = load ptr, ptr @_llgo_Pointer, align 8 + %121 = load ptr, ptr @"_llgo_main.Tuple[error]", align 8 + %122 = load ptr, ptr @"_llgo_func$-0z_KAFZTayiATHsoRweDLyk3Y_08iRGccLVoNDb2Q4", align 8 + %123 = icmp eq ptr %122, null + br i1 %123, label %_llgo_15, label %_llgo_16 + +_llgo_13: ; preds = %_llgo_11 + %124 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %125 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %126 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %125, i32 0, i32 0 + store ptr %124, ptr %126, align 8 + %127 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %125, i32 0, i32 1 + store i64 0, ptr %127, align 4 + %128 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %125, i32 0, i32 2 + store i64 0, ptr %128, align 4 + %129 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %125, align 8 + %130 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %131 = getelementptr ptr, ptr %130, i64 0 + store ptr %116, ptr %131, align 8 + %132 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %133 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %132, i32 0, i32 0 + store ptr %130, ptr %133, align 8 + %134 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %132, i32 0, i32 1 + store i64 1, ptr %134, align 4 + %135 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %132, i32 0, i32 2 + store i64 1, ptr %135, align 4 + %136 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %132, align 8 + %137 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %129, %"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$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 + br label %_llgo_14 + +_llgo_14: ; preds = %_llgo_13, %_llgo_11 + %138 = load ptr, ptr @"_llgo_func$8rsrSd_r3UHd_2DiYTyaOKR7BYkei4zw5ysG35KF38w", align 8 + %139 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %140 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %139, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %115, ptr %140, align 8 + %141 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %139, i32 0, i32 1 + store ptr %138, ptr %141, align 8 + %142 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %139, i32 0, i32 2 + store ptr @"main.(*Tuple[error]).Get", ptr %142, align 8 + %143 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %139, i32 0, i32 3 + store ptr @"main.(*Tuple[error]).Get", ptr %143, align 8 + %144 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %139, align 8 + %145 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %146 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %145, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %115, ptr %146, align 8 + %147 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %145, i32 0, i32 1 + store ptr %138, ptr %147, align 8 + %148 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %145, i32 0, i32 2 + store ptr @"main.(*Tuple[error]).Get", ptr %148, align 8 + %149 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %145, i32 0, i32 3 + store ptr @"main.Tuple[error].Get", ptr %149, align 8 + %150 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %145, align 8 + %151 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %152 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %151, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %150, ptr %152, align 8 + %153 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %154 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %153, i32 0, i32 0 + store ptr %151, ptr %154, align 8 + %155 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %153, i32 0, i32 1 + store i64 1, ptr %155, align 4 + %156 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %153, i32 0, i32 2 + store i64 1, ptr %156, align 4 + %157 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %153, align 8 + %158 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %159 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %158, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %144, ptr %159, align 8 + %160 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %161 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %160, i32 0, i32 0 + store ptr %158, ptr %161, align 8 + %162 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %160, i32 0, i32 1 + store i64 1, ptr %162, align 4 + %163 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %160, i32 0, i32 2 + store i64 1, ptr %163, align 4 + %164 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %160, align 8 + %165 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %166 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %165, i32 0, i32 0 + store ptr @4, ptr %166, align 8 + %167 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %165, i32 0, i32 1 + store i64 4, ptr %167, align 4 + %168 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %165, align 8 + %169 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %170 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %169, i32 0, i32 0 + store ptr @8, ptr %170, align 8 + %171 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %169, i32 0, i32 1 + store i64 12, ptr %171, align 4 + %172 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %169, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %13, %"github.com/goplus/llgo/internal/runtime.String" %168, %"github.com/goplus/llgo/internal/runtime.String" %172, ptr %111, %"github.com/goplus/llgo/internal/runtime.Slice" %157, %"github.com/goplus/llgo/internal/runtime.Slice" %164) + br label %_llgo_12 + +_llgo_15: ; preds = %_llgo_12 + %173 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %174 = getelementptr ptr, ptr %173, i64 0 + store ptr %120, ptr %174, align 8 + %175 = getelementptr ptr, ptr %173, i64 1 + store ptr %121, ptr %175, align 8 + %176 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %177 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %176, i32 0, i32 0 + store ptr %173, ptr %177, align 8 + %178 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %176, i32 0, i32 1 + store i64 2, ptr %178, align 4 + %179 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %176, i32 0, i32 2 + store i64 2, ptr %179, align 4 + %180 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %176, align 8 + %181 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %182 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %183 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %182, i32 0, i32 0 + store ptr %181, ptr %183, align 8 + %184 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %182, i32 0, i32 1 + store i64 0, ptr %184, align 4 + %185 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %182, i32 0, i32 2 + store i64 0, ptr %185, align 4 + %186 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %182, align 8 + %187 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %180, %"github.com/goplus/llgo/internal/runtime.Slice" %186, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %187) + store ptr %187, ptr @"_llgo_func$-0z_KAFZTayiATHsoRweDLyk3Y_08iRGccLVoNDb2Q4", align 8 br label %_llgo_16 -_llgo_16: ; preds = %_llgo_15, %_llgo_10 - %306 = load ptr, ptr @"_llgo_func$C0YAnS54eM5TTOK79-PISU_oLySCvOtTKOpIh9jI2pM", align 8 - %307 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 - %308 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %307, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %212, ptr %308, align 8 - %309 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %307, i32 0, i32 1 - store ptr %306, ptr %309, align 8 - %310 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %307, i32 0, i32 2 - store ptr @"main.(*future[main.Tuple[error]]).Then", ptr %310, align 8 - %311 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %307, i32 0, i32 3 - store ptr @"main.(*future[main.Tuple[error]]).Then", ptr %311, align 8 - %312 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %307, align 8 - %313 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) - %314 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %313, i64 0 - store %"github.com/goplus/llgo/internal/abi.Method" %312, ptr %314, align 8 - %315 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %316 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %315, i32 0, i32 0 - store ptr %313, ptr %316, align 8 - %317 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %315, i32 0, i32 1 - store i64 1, ptr %317, align 4 - %318 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %315, i32 0, i32 2 - store i64 1, ptr %318, align 4 - %319 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %315, align 8 - %320 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %321 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %320, i32 0, i32 0 - store ptr @5, ptr %321, align 8 - %322 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %320, i32 0, i32 1 - store i64 4, ptr %322, align 4 - %323 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %320, align 8 - %324 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %325 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %324, i32 0, i32 0 - store ptr @13, ptr %325, align 8 - %326 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %324, i32 0, i32 1 - store i64 25, ptr %326, align 4 - %327 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %324, align 8 - call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %4, %"github.com/goplus/llgo/internal/runtime.String" %323, %"github.com/goplus/llgo/internal/runtime.String" %327, ptr %208, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %319) - %328 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %329 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %328, i32 0, i32 0 - store ptr @1, ptr %329, align 8 - %330 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %328, i32 0, i32 1 - store i64 30, ptr %330, align 4 - %331 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %328, align 8 - %332 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %331, i64 25, i64 24, i64 0, i64 1) - %333 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %332) - call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %333) - store ptr %333, ptr @"*_llgo_main.future[main.Tuple[error]]", align 8 - %334 = load ptr, ptr @"_llgo_func$C0YAnS54eM5TTOK79-PISU_oLySCvOtTKOpIh9jI2pM", align 8 - %335 = load ptr, ptr @"_llgo_iface$Nwf494fPwMWb08Ae8NF-s-Tau0AFb_mdl0sjJX-pbHw", align 8 - %336 = icmp eq ptr %335, null - br i1 %336, label %_llgo_17, label %_llgo_18 +_llgo_16: ; preds = %_llgo_15, %_llgo_12 + %188 = load ptr, ptr @"_llgo_func$-0z_KAFZTayiATHsoRweDLyk3Y_08iRGccLVoNDb2Q4", align 8 + %189 = load ptr, ptr @_llgo_Pointer, align 8 + %190 = load ptr, ptr @"_llgo_main.Tuple[error]", align 8 + %191 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %192 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %191, i32 0, i32 0 + store ptr @9, ptr %192, align 8 + %193 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %191, i32 0, i32 1 + store i64 1, ptr %193, align 4 + %194 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %191, align 8 + %195 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %196 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %195, i32 0, i32 0 + store ptr null, ptr %196, align 8 + %197 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %195, i32 0, i32 1 + store i64 0, ptr %197, align 4 + %198 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %195, align 8 + %199 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %200 = getelementptr ptr, ptr %199, i64 0 + store ptr %189, ptr %200, align 8 + %201 = getelementptr ptr, ptr %199, i64 1 + store ptr %190, ptr %201, align 8 + %202 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %203 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %202, i32 0, i32 0 + store ptr %199, ptr %203, align 8 + %204 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %202, i32 0, i32 1 + store i64 2, ptr %204, align 4 + %205 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %202, i32 0, i32 2 + store i64 2, ptr %205, align 4 + %206 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %202, align 8 + %207 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %208 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %209 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %208, i32 0, i32 0 + store ptr %207, ptr %209, align 8 + %210 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %208, i32 0, i32 1 + store i64 0, ptr %210, align 4 + %211 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %208, i32 0, i32 2 + store i64 0, ptr %211, align 4 + %212 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %208, align 8 + %213 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %206, %"github.com/goplus/llgo/internal/runtime.Slice" %212, i1 false) + %214 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %194, ptr %213, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %198, i1 false) + %215 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %216 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %215, i32 0, i32 0 + store ptr @10, ptr %216, align 8 + %217 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %215, i32 0, i32 1 + store i64 4, ptr %217, align 4 + %218 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %215, align 8 + %219 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %220 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %219, i32 0, i32 0 + store ptr null, ptr %220, align 8 + %221 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %219, i32 0, i32 1 + store i64 0, ptr %221, align 4 + %222 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %219, align 8 + %223 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %224 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %218, ptr %223, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %222, i1 false) + %225 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %226 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %225, i32 0, i32 0 + store ptr @4, ptr %226, align 8 + %227 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %225, i32 0, i32 1 + store i64 4, ptr %227, align 4 + %228 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %225, align 8 + %229 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %230 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %229, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %214, ptr %230, align 8 + %231 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %229, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %224, ptr %231, align 8 + %232 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %233 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %232, i32 0, i32 0 + store ptr %229, ptr %233, align 8 + %234 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %232, i32 0, i32 1 + store i64 2, ptr %234, align 4 + %235 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %232, i32 0, i32 2 + store i64 2, ptr %235, align 4 + %236 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %232, align 8 + %237 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %228, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %236) + store ptr %237, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 + %238 = load ptr, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 + %239 = load ptr, ptr @_llgo_Pointer, align 8 + %240 = load ptr, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 + %241 = load ptr, ptr @"_llgo_func$8wjokNeb8lp2A2m-DoWHb8GZbqJJXaBuxj8bfRgBwsw", align 8 + %242 = icmp eq ptr %241, null + br i1 %242, label %_llgo_17, label %_llgo_18 _llgo_17: ; preds = %_llgo_16 - %337 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %338 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %337, i32 0, i32 0 - store ptr @12, ptr %338, align 8 - %339 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %337, i32 0, i32 1 - store i64 4, ptr %339, align 4 - %340 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %337, align 8 - %341 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 - %342 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %341, i32 0, i32 0 - store %"github.com/goplus/llgo/internal/runtime.String" %340, ptr %342, align 8 - %343 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %341, i32 0, i32 1 - store ptr %334, ptr %343, align 8 - %344 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %341, align 8 - %345 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) - %346 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %345, i64 0 - store %"github.com/goplus/llgo/internal/abi.Imethod" %344, ptr %346, align 8 - %347 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 - %348 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %347, i32 0, i32 0 - store ptr %345, ptr %348, align 8 - %349 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %347, i32 0, i32 1 - store i64 1, ptr %349, align 4 - %350 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %347, i32 0, i32 2 - store i64 1, ptr %350, align 4 - %351 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %347, align 8 - %352 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %353 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %352, i32 0, i32 0 - store ptr @5, ptr %353, align 8 - %354 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %352, i32 0, i32 1 - store i64 4, ptr %354, align 4 - %355 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %352, align 8 - %356 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 - %357 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %356, i32 0, i32 0 - store ptr null, ptr %357, align 8 - %358 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %356, i32 0, i32 1 - store i64 0, ptr %358, align 4 - %359 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %356, align 8 - %360 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %355, %"github.com/goplus/llgo/internal/runtime.String" %359, %"github.com/goplus/llgo/internal/runtime.Slice" %351) - store ptr %360, ptr @"_llgo_iface$Nwf494fPwMWb08Ae8NF-s-Tau0AFb_mdl0sjJX-pbHw", align 8 + %243 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %244 = getelementptr ptr, ptr %243, i64 0 + store ptr %239, ptr %244, align 8 + %245 = getelementptr ptr, ptr %243, i64 1 + store ptr %240, ptr %245, align 8 + %246 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %247 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %246, i32 0, i32 0 + store ptr %243, ptr %247, align 8 + %248 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %246, i32 0, i32 1 + store i64 2, ptr %248, align 4 + %249 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %246, i32 0, i32 2 + store i64 2, ptr %249, align 4 + %250 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %246, align 8 + %251 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %252 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %253 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %252, i32 0, i32 0 + store ptr %251, ptr %253, align 8 + %254 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %252, i32 0, i32 1 + store i64 0, ptr %254, align 4 + %255 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %252, i32 0, i32 2 + store i64 0, ptr %255, align 4 + %256 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %252, align 8 + %257 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %250, %"github.com/goplus/llgo/internal/runtime.Slice" %256, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %257) + store ptr %257, ptr @"_llgo_func$8wjokNeb8lp2A2m-DoWHb8GZbqJJXaBuxj8bfRgBwsw", align 8 br label %_llgo_18 _llgo_18: ; preds = %_llgo_17, %_llgo_16 + %258 = load ptr, ptr @"_llgo_func$8wjokNeb8lp2A2m-DoWHb8GZbqJJXaBuxj8bfRgBwsw", align 8 + %259 = load ptr, ptr @_llgo_Pointer, align 8 + %260 = load ptr, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 + %261 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %262 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %261, i32 0, i32 0 + store ptr @9, ptr %262, align 8 + %263 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %261, i32 0, i32 1 + store i64 1, ptr %263, align 4 + %264 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %261, align 8 + %265 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %266 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %265, i32 0, i32 0 + store ptr null, ptr %266, align 8 + %267 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %265, i32 0, i32 1 + store i64 0, ptr %267, align 4 + %268 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %265, align 8 + %269 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %270 = getelementptr ptr, ptr %269, i64 0 + store ptr %259, ptr %270, align 8 + %271 = getelementptr ptr, ptr %269, i64 1 + store ptr %260, ptr %271, align 8 + %272 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %273 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %272, i32 0, i32 0 + store ptr %269, ptr %273, align 8 + %274 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %272, i32 0, i32 1 + store i64 2, ptr %274, align 4 + %275 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %272, i32 0, i32 2 + store i64 2, ptr %275, align 4 + %276 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %272, align 8 + %277 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %278 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %279 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %278, i32 0, i32 0 + store ptr %277, ptr %279, align 8 + %280 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %278, i32 0, i32 1 + store i64 0, ptr %280, align 4 + %281 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %278, i32 0, i32 2 + store i64 0, ptr %281, align 4 + %282 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %278, align 8 + %283 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %276, %"github.com/goplus/llgo/internal/runtime.Slice" %282, i1 false) + %284 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %264, ptr %283, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %268, i1 false) + %285 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %286 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %285, i32 0, i32 0 + store ptr @10, ptr %286, align 8 + %287 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %285, i32 0, i32 1 + store i64 4, ptr %287, align 4 + %288 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %285, align 8 + %289 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %290 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %289, i32 0, i32 0 + store ptr null, ptr %290, align 8 + %291 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %289, i32 0, i32 1 + store i64 0, ptr %291, align 4 + %292 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %289, align 8 + %293 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %294 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %288, ptr %293, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %292, i1 false) + %295 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %296 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %295, i32 0, i32 0 + store ptr @4, ptr %296, align 8 + %297 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %295, i32 0, i32 1 + store i64 4, ptr %297, align 4 + %298 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %295, align 8 + %299 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %300 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %299, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %284, ptr %300, align 8 + %301 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %299, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %294, ptr %301, align 8 + %302 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %303 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %302, i32 0, i32 0 + store ptr %299, ptr %303, align 8 + %304 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %302, i32 0, i32 1 + store i64 2, ptr %304, align 4 + %305 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %302, i32 0, i32 2 + store i64 2, ptr %305, align 4 + %306 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %302, align 8 + %307 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %298, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %306) + store ptr %307, ptr @"main.struct$ti_L8YygAzqrdADYjADo-CrIBPIrzAe7WUDQrPhGsLk", align 8 + %308 = load ptr, ptr @"main.struct$ti_L8YygAzqrdADYjADo-CrIBPIrzAe7WUDQrPhGsLk", align 8 + %309 = load ptr, ptr @_llgo_Pointer, align 8 + %310 = load ptr, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 + %311 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %312 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %311, i32 0, i32 0 + store ptr @11, ptr %312, align 8 + %313 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %311, i32 0, i32 1 + store i64 2, ptr %313, align 4 + %314 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %311, align 8 + %315 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %316 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %315, i32 0, i32 0 + store ptr null, ptr %316, align 8 + %317 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %315, i32 0, i32 1 + store i64 0, ptr %317, align 4 + %318 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %315, align 8 + %319 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %320 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %319, i32 0, i32 0 + store ptr @9, ptr %320, align 8 + %321 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %319, i32 0, i32 1 + store i64 1, ptr %321, align 4 + %322 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %319, align 8 + %323 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %324 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %323, i32 0, i32 0 + store ptr null, ptr %324, align 8 + %325 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %323, i32 0, i32 1 + store i64 0, ptr %325, align 4 + %326 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %323, align 8 + %327 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16) + %328 = getelementptr ptr, ptr %327, i64 0 + store ptr %309, ptr %328, align 8 + %329 = getelementptr ptr, ptr %327, i64 1 + store ptr %310, ptr %329, align 8 + %330 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %331 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %330, i32 0, i32 0 + store ptr %327, ptr %331, align 8 + %332 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %330, i32 0, i32 1 + store i64 2, ptr %332, align 4 + %333 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %330, i32 0, i32 2 + store i64 2, ptr %333, align 4 + %334 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %330, align 8 + %335 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %336 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %337 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %336, i32 0, i32 0 + store ptr %335, ptr %337, align 8 + %338 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %336, i32 0, i32 1 + store i64 0, ptr %338, align 4 + %339 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %336, i32 0, i32 2 + store i64 0, ptr %339, align 4 + %340 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %336, align 8 + %341 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %334, %"github.com/goplus/llgo/internal/runtime.Slice" %340, i1 false) + %342 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %322, ptr %341, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %326, i1 false) + %343 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %344 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %343, i32 0, i32 0 + store ptr @10, ptr %344, align 8 + %345 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %343, i32 0, i32 1 + store i64 4, ptr %345, align 4 + %346 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %343, align 8 + %347 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %348 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %347, i32 0, i32 0 + store ptr null, ptr %348, align 8 + %349 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %347, i32 0, i32 1 + store i64 0, ptr %349, align 4 + %350 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %347, align 8 + %351 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58) + %352 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %346, ptr %351, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %350, i1 false) + %353 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %354 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %353, i32 0, i32 0 + store ptr @4, ptr %354, align 8 + %355 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %353, i32 0, i32 1 + store i64 4, ptr %355, align 4 + %356 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %353, align 8 + %357 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112) + %358 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %357, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %342, ptr %358, align 8 + %359 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %357, i64 1 + store %"github.com/goplus/llgo/internal/abi.StructField" %352, ptr %359, align 8 + %360 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %361 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %360, i32 0, i32 0 + store ptr %357, ptr %361, align 8 + %362 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %360, i32 0, i32 1 + store i64 2, ptr %362, align 4 + %363 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %360, i32 0, i32 2 + store i64 2, ptr %363, align 4 + %364 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %360, align 8 + %365 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %356, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %364) + %366 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %314, ptr %365, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %318, i1 false) + %367 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %368 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %367, i32 0, i32 0 + store ptr @4, ptr %368, align 8 + %369 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %367, i32 0, i32 1 + store i64 4, ptr %369, align 4 + %370 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %367, align 8 + %371 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 56) + %372 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %371, i64 0 + store %"github.com/goplus/llgo/internal/abi.StructField" %366, ptr %372, align 8 + %373 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %374 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %373, i32 0, i32 0 + store ptr %371, ptr %374, align 8 + %375 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %373, i32 0, i32 1 + store i64 1, ptr %375, align 4 + %376 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %373, i32 0, i32 2 + store i64 1, ptr %376, align 4 + %377 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %373, align 8 + %378 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %370, i64 16, %"github.com/goplus/llgo/internal/runtime.Slice" %377) + store ptr %378, ptr @"main.struct$ovoVIslEZIUrMi_-W6orVCU5A_Y8gqTBvvvJEMlWdJY", align 8 + %379 = load ptr, ptr @"main.struct$ovoVIslEZIUrMi_-W6orVCU5A_Y8gqTBvvvJEMlWdJY", align 8 + %380 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %381 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %380, i32 0, i32 0 + store ptr @12, ptr %381, align 8 + %382 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %380, i32 0, i32 1 + store i64 4, ptr %382, align 4 + %383 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %380, align 8 + %384 = load ptr, ptr @"_llgo_func$-0z_KAFZTayiATHsoRweDLyk3Y_08iRGccLVoNDb2Q4", align 8 + %385 = load ptr, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 + %386 = load ptr, ptr @"main.struct$NucqrsSdwvefK8Neq8AbgvHqpAoTlQ4Z7-24dNSPHoY", align 8 + %387 = load ptr, ptr @"_llgo_func$C0YAnS54eM5TTOK79-PISU_oLySCvOtTKOpIh9jI2pM", align 8 + %388 = icmp eq ptr %387, null + br i1 %388, label %_llgo_19, label %_llgo_20 + +_llgo_19: ; preds = %_llgo_18 + %389 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 8) + %390 = getelementptr ptr, ptr %389, i64 0 + store ptr %386, ptr %390, align 8 + %391 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %392 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %391, i32 0, i32 0 + store ptr %389, ptr %392, align 8 + %393 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %391, i32 0, i32 1 + store i64 1, ptr %393, align 4 + %394 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %391, i32 0, i32 2 + store i64 1, ptr %394, align 4 + %395 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %391, align 8 + %396 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0) + %397 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %398 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %397, i32 0, i32 0 + store ptr %396, ptr %398, align 8 + %399 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %397, i32 0, i32 1 + store i64 0, ptr %399, align 4 + %400 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %397, i32 0, i32 2 + store i64 0, ptr %400, align 4 + %401 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %397, align 8 + %402 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %395, %"github.com/goplus/llgo/internal/runtime.Slice" %401, i1 false) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %402) + store ptr %402, ptr @"_llgo_func$C0YAnS54eM5TTOK79-PISU_oLySCvOtTKOpIh9jI2pM", align 8 + br label %_llgo_20 + +_llgo_20: ; preds = %_llgo_19, %_llgo_18 + %403 = load ptr, ptr @"_llgo_func$C0YAnS54eM5TTOK79-PISU_oLySCvOtTKOpIh9jI2pM", align 8 + %404 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8 + %405 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %404, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %383, ptr %405, align 8 + %406 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %404, i32 0, i32 1 + store ptr %403, ptr %406, align 8 + %407 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %404, i32 0, i32 2 + store ptr @"main.(*future[main.Tuple[error]]).Then", ptr %407, align 8 + %408 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %404, i32 0, i32 3 + store ptr @"main.(*future[main.Tuple[error]]).Then", ptr %408, align 8 + %409 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %404, align 8 + %410 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40) + %411 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %410, i64 0 + store %"github.com/goplus/llgo/internal/abi.Method" %409, ptr %411, align 8 + %412 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %413 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %412, i32 0, i32 0 + store ptr %410, ptr %413, align 8 + %414 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %412, i32 0, i32 1 + store i64 1, ptr %414, align 4 + %415 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %412, i32 0, i32 2 + store i64 1, ptr %415, align 4 + %416 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %412, align 8 + %417 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %418 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %417, i32 0, i32 0 + store ptr @4, ptr %418, align 8 + %419 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %417, i32 0, i32 1 + store i64 4, ptr %419, align 4 + %420 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %417, align 8 + %421 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %422 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %421, i32 0, i32 0 + store ptr @13, ptr %422, align 8 + %423 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %421, i32 0, i32 1 + store i64 25, ptr %423, align 4 + %424 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %421, align 8 + call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %4, %"github.com/goplus/llgo/internal/runtime.String" %420, %"github.com/goplus/llgo/internal/runtime.String" %424, ptr %379, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %416) + %425 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %426 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %425, i32 0, i32 0 + store ptr @1, ptr %426, align 8 + %427 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %425, i32 0, i32 1 + store i64 30, ptr %427, align 4 + %428 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %425, align 8 + %429 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(%"github.com/goplus/llgo/internal/runtime.String" %428, i64 25, i64 24, i64 0, i64 1) + %430 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %429) + call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %430) + store ptr %430, ptr @"*_llgo_main.future[main.Tuple[error]]", align 8 + %431 = load ptr, ptr @"_llgo_func$C0YAnS54eM5TTOK79-PISU_oLySCvOtTKOpIh9jI2pM", align 8 + %432 = load ptr, ptr @"_llgo_iface$Nwf494fPwMWb08Ae8NF-s-Tau0AFb_mdl0sjJX-pbHw", align 8 + %433 = icmp eq ptr %432, null + br i1 %433, label %_llgo_21, label %_llgo_22 + +_llgo_21: ; preds = %_llgo_20 + %434 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %435 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %434, i32 0, i32 0 + store ptr @12, ptr %435, align 8 + %436 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %434, i32 0, i32 1 + store i64 4, ptr %436, align 4 + %437 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %434, align 8 + %438 = alloca %"github.com/goplus/llgo/internal/abi.Imethod", align 8 + %439 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %438, i32 0, i32 0 + store %"github.com/goplus/llgo/internal/runtime.String" %437, ptr %439, align 8 + %440 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Imethod", ptr %438, i32 0, i32 1 + store ptr %431, ptr %440, align 8 + %441 = load %"github.com/goplus/llgo/internal/abi.Imethod", ptr %438, align 8 + %442 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 24) + %443 = getelementptr %"github.com/goplus/llgo/internal/abi.Imethod", ptr %442, i64 0 + store %"github.com/goplus/llgo/internal/abi.Imethod" %441, ptr %443, align 8 + %444 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8 + %445 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %444, i32 0, i32 0 + store ptr %442, ptr %445, align 8 + %446 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %444, i32 0, i32 1 + store i64 1, ptr %446, align 4 + %447 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %444, i32 0, i32 2 + store i64 1, ptr %447, align 4 + %448 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %444, align 8 + %449 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %450 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %449, i32 0, i32 0 + store ptr @4, ptr %450, align 8 + %451 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %449, i32 0, i32 1 + store i64 4, ptr %451, align 4 + %452 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %449, align 8 + %453 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8 + %454 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %453, i32 0, i32 0 + store ptr null, ptr %454, align 8 + %455 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %453, i32 0, i32 1 + store i64 0, ptr %455, align 4 + %456 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %453, align 8 + %457 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %452, %"github.com/goplus/llgo/internal/runtime.String" %456, %"github.com/goplus/llgo/internal/runtime.Slice" %448) + store ptr %457, ptr @"_llgo_iface$Nwf494fPwMWb08Ae8NF-s-Tau0AFb_mdl0sjJX-pbHw", align 8 + br label %_llgo_22 + +_llgo_22: ; preds = %_llgo_21, %_llgo_20 ret void } @@ -807,12 +967,12 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/ declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64) +declare ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.Slice") + declare ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String", i64, %"github.com/goplus/llgo/internal/runtime.Slice") declare %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String", ptr, i64, %"github.com/goplus/llgo/internal/runtime.String", i1) -declare ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.Slice") - declare void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr, %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", ptr, %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice") declare ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr) diff --git a/ssa/abitype.go b/ssa/abitype.go index 94a05f2a..b72ec87f 100644 --- a/ssa/abitype.go +++ b/ssa/abitype.go @@ -408,18 +408,45 @@ func (p Package) abiTypeInit(g Global, t types.Type, pub bool) { func (b Builder) abiType(t types.Type) Expr { switch t := t.(type) { case *types.Pointer: - b.loadType(t.Elem()) + b.checkAbi(t.Elem()) case *types.Array: - b.abiType(t.Elem()) + b.checkAbi(t.Elem()) case *types.Map: - b.abiType(t.Key()) - b.abiType(t.Elem()) + b.checkAbi(t.Key()) + b.checkAbi(t.Elem()) + case *types.Slice: + b.checkAbi(t.Elem()) + case *types.Chan: + b.checkAbi(t.Elem()) + case *types.Struct: + for i := 0; i < t.NumFields(); i++ { + b.checkAbi(t.Field(i).Type()) + } + case *types.Interface: + for i := 0; i < t.NumMethods(); i++ { + b.checkAbi(t.Method(i).Type()) + } + case *types.Signature: + for i := 0; i < t.Params().Len(); i++ { + b.checkAbi(t.Params().At(i).Type()) + } + for i := 0; i < t.Results().Len(); i++ { + b.checkAbi(t.Results().At(i).Type()) + } } g := b.loadType(t) return b.Load(g.Expr) } +func (b Builder) checkAbi(t types.Type) { + if b.Pkg.chkabi[t] { + return + } + b.abiType(t) +} + func (b Builder) loadType(t types.Type) Global { + b.Pkg.chkabi[t] = true pkg := b.Pkg name, pub := pkg.abi.TypeName(t) g := pkg.VarOf(name) diff --git a/ssa/package.go b/ssa/package.go index 80eeefdf..678b3119 100644 --- a/ssa/package.go +++ b/ssa/package.go @@ -346,13 +346,14 @@ func (p Program) NewPackage(name, pkgPath string) Package { pyobjs := make(map[string]PyObjRef) pymods := make(map[string]Global) strs := make(map[string]llvm.Value) + chkabi := make(map[types.Type]bool) glbDbgVars := make(map[Expr]bool) p.NeedRuntime = false // Don't need reset p.needPyInit here // p.needPyInit = false ret := &aPackage{ mod: mod, vars: gbls, fns: fns, stubs: stubs, - pyobjs: pyobjs, pymods: pymods, strs: strs, Prog: p, + pyobjs: pyobjs, pymods: pymods, strs: strs, chkabi: chkabi, Prog: p, di: nil, cu: nil, glbDbgVars: glbDbgVars, } ret.abi.Init(pkgPath) @@ -602,6 +603,7 @@ type aPackage struct { pyobjs map[string]PyObjRef pymods map[string]Global strs map[string]llvm.Value + chkabi map[types.Type]bool afterb unsafe.Pointer patch func(types.Type) types.Type fnlink func(string) string