diff --git a/compiler/cl/_testdata/print/out.ll b/compiler/cl/_testdata/print/out.ll index 1f14752b..910b3f5d 100644 --- a/compiler/cl/_testdata/print/out.ll +++ b/compiler/cl/_testdata/print/out.ll @@ -22,7 +22,7 @@ source_filename = "github.com/goplus/llgo/compiler/cl/_testdata/print" @_llgo_int16 = linkonce global ptr null, align 8 @_llgo_int64 = linkonce global ptr null, align 8 @_llgo_int = linkonce global ptr null, align 8 -@_llgo_byte = linkonce global ptr null, align 8 +@_llgo_uint8 = linkonce global ptr null, align 8 @_llgo_uint16 = linkonce global ptr null, align 8 @_llgo_uint32 = linkonce global ptr null, align 8 @_llgo_uint64 = linkonce global ptr null, align 8 @@ -237,7 +237,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_3, %76 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %75, ptr inttoptr (i64 5 to ptr), 1 store %"github.com/goplus/llgo/runtime/internal/runtime.eface" %76, ptr %73, align 8 %77 = getelementptr inbounds %"github.com/goplus/llgo/runtime/internal/runtime.eface", ptr %36, i64 10 - %78 = load ptr, ptr @_llgo_byte, align 8 + %78 = load ptr, ptr @_llgo_uint8, align 8 %79 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %78, 0 %80 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %79, ptr inttoptr (i64 1 to ptr), 1 store %"github.com/goplus/llgo/runtime/internal/runtime.eface" %80, ptr %77, align 8 @@ -383,7 +383,7 @@ _llgo_14: ; preds = %_llgo_55 _llgo_15: ; preds = %_llgo_55 %25 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %0, 0 - %26 = load ptr, ptr @_llgo_byte, align 8 + %26 = load ptr, ptr @_llgo_uint8, align 8 %27 = icmp eq ptr %25, %26 br i1 %27, label %_llgo_56, label %_llgo_57 @@ -1265,13 +1265,13 @@ _llgo_17: ; preds = %_llgo_16 br label %_llgo_18 _llgo_18: ; preds = %_llgo_17, %_llgo_16 - %27 = load ptr, ptr @_llgo_byte, align 8 + %27 = load ptr, ptr @_llgo_uint8, align 8 %28 = icmp eq ptr %27, null br i1 %28, label %_llgo_19, label %_llgo_20 _llgo_19: ; preds = %_llgo_18 %29 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 40) - store ptr %29, ptr @_llgo_byte, align 8 + store ptr %29, ptr @_llgo_uint8, align 8 br label %_llgo_20 _llgo_20: ; preds = %_llgo_19, %_llgo_18 diff --git a/compiler/cl/_testdata/vargs/out.ll b/compiler/cl/_testdata/vargs/out.ll index 70b0b30f..98f04e58 100644 --- a/compiler/cl/_testdata/vargs/out.ll +++ b/compiler/cl/_testdata/vargs/out.ll @@ -8,7 +8,7 @@ source_filename = "github.com/goplus/llgo/compiler/cl/_testdata/vargs" @"github.com/goplus/llgo/compiler/cl/_testdata/vargs.init$guard" = global i1 false, align 1 @_llgo_int = linkonce global ptr null, align 8 @0 = private unnamed_addr constant [4 x i8] c"%d\0A\00", align 1 -@1 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 +@1 = private unnamed_addr constant [40 x i8] c"type assertion interface{} -> int failed", align 1 @_llgo_string = linkonce global ptr null, align 8 define void @"github.com/goplus/llgo/compiler/cl/_testdata/vargs.init"() { @@ -87,7 +87,7 @@ _llgo_4: ; preds = %_llgo_2 _llgo_5: ; preds = %_llgo_2 %18 = load ptr, ptr @_llgo_string, align 8 %19 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @1, i64 21 }, ptr %19, align 8 + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @1, i64 40 }, ptr %19, align 8 %20 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %18, 0 %21 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %20, ptr %19, 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %21) diff --git a/compiler/cl/_testgo/cgobasic/out.ll b/compiler/cl/_testgo/cgobasic/out.ll index f0eb4c1a..9225f8ec 100644 --- a/compiler/cl/_testgo/cgobasic/out.ll +++ b/compiler/cl/_testgo/cgobasic/out.ll @@ -96,7 +96,7 @@ _llgo_0: declare void @runtime.cgoUse(%"github.com/goplus/llgo/runtime/internal/runtime.eface") -declare void @"github.com/goplus/llgo/compiler/cl/_testgo/cgobasic._cgoCheckResult"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @runtime.cgoCheckResult(%"github.com/goplus/llgo/runtime/internal/runtime.eface") define void @"github.com/goplus/llgo/compiler/cl/_testgo/cgobasic.init"() { _llgo_0: diff --git a/compiler/cl/_testgo/cgocfiles/out.ll b/compiler/cl/_testgo/cgocfiles/out.ll index 9c83d5a9..2722124f 100644 --- a/compiler/cl/_testgo/cgocfiles/out.ll +++ b/compiler/cl/_testgo/cgocfiles/out.ll @@ -38,7 +38,7 @@ _llgo_0: declare void @runtime.cgoUse(%"github.com/goplus/llgo/runtime/internal/runtime.eface") -declare void @"github.com/goplus/llgo/compiler/cl/_testgo/cgocfiles._cgoCheckResult"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @runtime.cgoCheckResult(%"github.com/goplus/llgo/runtime/internal/runtime.eface") define void @"github.com/goplus/llgo/compiler/cl/_testgo/cgocfiles.init"() { _llgo_0: diff --git a/compiler/cl/_testgo/ifaceconv/out.ll b/compiler/cl/_testgo/ifaceconv/out.ll index c7808e26..87965612 100644 --- a/compiler/cl/_testgo/ifaceconv/out.ll +++ b/compiler/cl/_testgo/ifaceconv/out.ll @@ -21,18 +21,18 @@ source_filename = "github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv" @3 = private unnamed_addr constant [2 x i8] c"I1", align 1 @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac" = linkonce global ptr null, align 8 @4 = private unnamed_addr constant [54 x i8] c"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.f", align 1 -@"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4" = linkonce global ptr null, align 8 @5 = private unnamed_addr constant [21 x i8] c"nil i1.(I1) succeeded", align 1 @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I2" = linkonce global ptr null, align 8 @6 = private unnamed_addr constant [2 x i8] c"I2", align 1 @7 = private unnamed_addr constant [54 x i8] c"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.g", align 1 -@"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$gZBF8fFlqIMZ9M6lT2VWPyc3eu5Co6j0WoKGIEgDPAw" = linkonce global ptr null, align 8 @8 = private unnamed_addr constant [21 x i8] c"nil i2.(I2) succeeded", align 1 +@"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4" = linkonce global ptr null, align 8 @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C1" = linkonce global ptr null, align 8 @9 = private unnamed_addr constant [2 x i8] c"C1", align 1 @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw" = linkonce global ptr null, align 8 @10 = private unnamed_addr constant [1 x i8] c"f", align 1 @11 = private unnamed_addr constant [17 x i8] c"C1 i1.(I0) failed", align 1 +@"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$gZBF8fFlqIMZ9M6lT2VWPyc3eu5Co6j0WoKGIEgDPAw" = linkonce global ptr null, align 8 @12 = private unnamed_addr constant [17 x i8] c"C1 i1.(I1) failed", align 1 @13 = private unnamed_addr constant [20 x i8] c"C1 i1.(I2) succeeded", align 1 @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C2" = linkonce global ptr null, align 8 @@ -98,205 +98,200 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 define void @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.main"() { _llgo_0: %0 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I0", align 8 - %1 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %0, ptr null) - br i1 %1, label %_llgo_23, label %_llgo_24 + br i1 true, label %_llgo_23, label %_llgo_24 _llgo_1: ; preds = %_llgo_25 - %2 = load ptr, ptr @_llgo_string, align 8 - %3 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @2, i64 21 }, ptr %3, align 8 - %4 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %2, 0 - %5 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %4, ptr %3, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %5) + %1 = load ptr, ptr @_llgo_string, align 8 + %2 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @2, i64 21 }, ptr %2, align 8 + %3 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %1, 0 + %4 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %3, ptr %2, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %4) unreachable _llgo_2: ; preds = %_llgo_25 - %6 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer) - %7 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I1", align 8 - %8 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %7, ptr %6) - br i1 %8, label %_llgo_26, label %_llgo_27 + %5 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer) + %6 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I1", align 8 + br i1 true, label %_llgo_26, label %_llgo_27 _llgo_3: ; preds = %_llgo_28 - %9 = load ptr, ptr @_llgo_string, align 8 - %10 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @5, i64 21 }, ptr %10, align 8 - %11 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %9, 0 - %12 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %11, ptr %10, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %12) + %7 = load ptr, ptr @_llgo_string, align 8 + %8 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @5, i64 21 }, ptr %8, align 8 + %9 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %7, 0 + %10 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %9, ptr %8, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %10) unreachable _llgo_4: ; preds = %_llgo_28 - %13 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer) - %14 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I2", align 8 - %15 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %14, ptr %13) - br i1 %15, label %_llgo_29, label %_llgo_30 + %11 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer) + %12 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I2", align 8 + br i1 true, label %_llgo_29, label %_llgo_30 _llgo_5: ; preds = %_llgo_31 - %16 = load ptr, ptr @_llgo_string, align 8 - %17 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @8, i64 21 }, ptr %17, align 8 - %18 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %16, 0 - %19 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %18, ptr %17, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %19) + %13 = load ptr, ptr @_llgo_string, align 8 + %14 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @8, i64 21 }, ptr %14, align 8 + %15 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %13, 0 + %16 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %15, ptr %14, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %16) unreachable _llgo_6: ; preds = %_llgo_31 + %17 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer) + %18 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %17, 0 + %19 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %18, ptr null, 1 %20 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer) %21 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %20, 0 %22 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %21, ptr null, 1 %23 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer) - %24 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %23, 0 - %25 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %24, ptr null, 1 - %26 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer) - %27 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4", align 8 - %28 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %27, ptr %26) - %29 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %28, 0 - %30 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %29, ptr null, 1 - %31 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C1", align 8 - %32 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 0) - store %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C1" zeroinitializer, ptr %32, align 1 - %33 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4", align 8 - %34 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %33, ptr %31) - %35 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %34, 0 - %36 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %35, ptr %32, 1 - %37 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %36) - %38 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I0", align 8 - %39 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %38, ptr %37) - br i1 %39, label %_llgo_32, label %_llgo_33 + %24 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4", align 8 + %25 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %24, ptr %23) + %26 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %25, 0 + %27 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %26, ptr null, 1 + %28 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C1", align 8 + %29 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 0) + store %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C1" zeroinitializer, ptr %29, align 1 + %30 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4", align 8 + %31 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %30, ptr %28) + %32 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %31, 0 + %33 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %32, ptr %29, 1 + %34 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %33) + %35 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I0", align 8 + %36 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %35, ptr %34) + br i1 %36, label %_llgo_32, label %_llgo_33 _llgo_7: ; preds = %_llgo_34 - %40 = load ptr, ptr @_llgo_string, align 8 - %41 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @11, i64 17 }, ptr %41, align 8 - %42 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %40, 0 - %43 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %42, ptr %41, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %43) + %37 = load ptr, ptr @_llgo_string, align 8 + %38 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @11, i64 17 }, ptr %38, align 8 + %39 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %37, 0 + %40 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %39, ptr %38, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %40) unreachable _llgo_8: ; preds = %_llgo_34 - %44 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %36) - %45 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I1", align 8 - %46 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %45, ptr %44) - br i1 %46, label %_llgo_35, label %_llgo_36 + %41 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %33) + %42 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I1", align 8 + br i1 true, label %_llgo_35, label %_llgo_36 _llgo_9: ; preds = %_llgo_37 - %47 = load ptr, ptr @_llgo_string, align 8 - %48 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @12, i64 17 }, ptr %48, align 8 - %49 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %47, 0 - %50 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %49, ptr %48, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %50) + %43 = load ptr, ptr @_llgo_string, align 8 + %44 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @12, i64 17 }, ptr %44, align 8 + %45 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %43, 0 + %46 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %45, ptr %44, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %46) unreachable _llgo_10: ; preds = %_llgo_37 - %51 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %36) - %52 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I2", align 8 - %53 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %52, ptr %51) - br i1 %53, label %_llgo_38, label %_llgo_39 + %47 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %33) + %48 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I2", align 8 + %49 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %48, ptr %47) + br i1 %49, label %_llgo_38, label %_llgo_39 _llgo_11: ; preds = %_llgo_40 - %54 = load ptr, ptr @_llgo_string, align 8 - %55 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @13, i64 20 }, ptr %55, align 8 - %56 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %54, 0 - %57 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %56, ptr %55, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %57) + %50 = load ptr, ptr @_llgo_string, align 8 + %51 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @13, i64 20 }, ptr %51, align 8 + %52 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %50, 0 + %53 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %52, ptr %51, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %53) unreachable _llgo_12: ; preds = %_llgo_40 - %58 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C2", align 8 - %59 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 0) - store %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C2" zeroinitializer, ptr %59, align 1 - %60 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4", align 8 - %61 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %60, ptr %58) - %62 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %61, 0 - %63 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %62, ptr %59, 1 - %64 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %63) - %65 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I0", align 8 - %66 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %65, ptr %64) - br i1 %66, label %_llgo_41, label %_llgo_42 + %54 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C2", align 8 + %55 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 0) + store %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C2" zeroinitializer, ptr %55, align 1 + %56 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4", align 8 + %57 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %56, ptr %54) + %58 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %57, 0 + %59 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %58, ptr %55, 1 + %60 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %59) + %61 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I0", align 8 + %62 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %61, ptr %60) + br i1 %62, label %_llgo_41, label %_llgo_42 _llgo_13: ; preds = %_llgo_43 - %67 = load ptr, ptr @_llgo_string, align 8 - %68 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @16, i64 17 }, ptr %68, align 8 - %69 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %67, 0 - %70 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %69, ptr %68, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %70) + %63 = load ptr, ptr @_llgo_string, align 8 + %64 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @16, i64 17 }, ptr %64, align 8 + %65 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %63, 0 + %66 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %65, ptr %64, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %66) unreachable _llgo_14: ; preds = %_llgo_43 - %71 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %63) - %72 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I1", align 8 - %73 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %72, ptr %71) - br i1 %73, label %_llgo_44, label %_llgo_45 + %67 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %59) + %68 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I1", align 8 + br i1 true, label %_llgo_44, label %_llgo_45 _llgo_15: ; preds = %_llgo_46 - %74 = load ptr, ptr @_llgo_string, align 8 - %75 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @17, i64 17 }, ptr %75, align 8 - %76 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %74, 0 - %77 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %76, ptr %75, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %77) + %69 = load ptr, ptr @_llgo_string, align 8 + %70 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @17, i64 17 }, ptr %70, align 8 + %71 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %69, 0 + %72 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %71, ptr %70, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %72) unreachable _llgo_16: ; preds = %_llgo_46 - %78 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %63) - %79 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I2", align 8 - %80 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %79, ptr %78) - br i1 %80, label %_llgo_47, label %_llgo_48 + %73 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %59) + %74 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I2", align 8 + %75 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %74, ptr %73) + br i1 %75, label %_llgo_47, label %_llgo_48 _llgo_17: ; preds = %_llgo_49 - %81 = load ptr, ptr @_llgo_string, align 8 - %82 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @18, i64 17 }, ptr %82, align 8 - %83 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %81, 0 - %84 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %83, ptr %82, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %84) + %76 = load ptr, ptr @_llgo_string, align 8 + %77 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @18, i64 17 }, ptr %77, align 8 + %78 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %76, 0 + %79 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %78, ptr %77, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %79) unreachable _llgo_18: ; preds = %_llgo_49 - %85 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C1", align 8 - %86 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 0) - store %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C1" zeroinitializer, ptr %86, align 1 - %87 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4", align 8 - %88 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %87, ptr %85) - %89 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %88, 0 - %90 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %89, ptr %86, 1 - %91 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %90) - %92 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %90, 1 - %93 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %91, 0 - %94 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %93, ptr %92, 1 - %95 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %94, %"github.com/goplus/llgo/runtime/internal/runtime.eface" zeroinitializer) - br i1 %95, label %_llgo_19, label %_llgo_20 + %80 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C1", align 8 + %81 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 0) + store %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C1" zeroinitializer, ptr %81, align 1 + %82 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4", align 8 + %83 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %82, ptr %80) + %84 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %83, 0 + %85 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %84, ptr %81, 1 + %86 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %85) + %87 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %85, 1 + %88 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %86, 0 + %89 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %88, ptr %87, 1 + %90 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %89, %"github.com/goplus/llgo/runtime/internal/runtime.eface" zeroinitializer) + br i1 %90, label %_llgo_19, label %_llgo_20 _llgo_19: ; preds = %_llgo_18 - %96 = load ptr, ptr @_llgo_string, align 8 - %97 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @19, i64 17 }, ptr %97, align 8 - %98 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %96, 0 - %99 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %98, ptr %97, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %99) + %91 = load ptr, ptr @_llgo_string, align 8 + %92 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @19, i64 17 }, ptr %92, align 8 + %93 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %91, 0 + %94 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %93, ptr %92, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %94) unreachable _llgo_20: ; preds = %_llgo_18 - %100 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %90) - %101 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %90, 1 - %102 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %100, 0 - %103 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %102, ptr %101, 1 - %104 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer) - %105 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %104, 0 - %106 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %105, ptr null, 1 - %107 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %103, %"github.com/goplus/llgo/runtime/internal/runtime.eface" %106) - br i1 %107, label %_llgo_21, label %_llgo_22 + %95 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %85) + %96 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %85, 1 + %97 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %95, 0 + %98 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %97, ptr %96, 1 + %99 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer) + %100 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %99, 0 + %101 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %100, ptr null, 1 + %102 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %98, %"github.com/goplus/llgo/runtime/internal/runtime.eface" %101) + br i1 %102, label %_llgo_21, label %_llgo_22 _llgo_21: ; preds = %_llgo_20 - %108 = load ptr, ptr @_llgo_string, align 8 - %109 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @20, i64 17 }, ptr %109, align 8 - %110 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %108, 0 - %111 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %110, ptr %109, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %111) + %103 = load ptr, ptr @_llgo_string, align 8 + %104 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @20, i64 17 }, ptr %104, align 8 + %105 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %103, 0 + %106 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %105, ptr %104, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %106) unreachable _llgo_22: ; preds = %_llgo_20 @@ -311,156 +306,134 @@ _llgo_24: ; preds = %_llgo_0 br label %_llgo_25 _llgo_25: ; preds = %_llgo_24, %_llgo_23 - %112 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } [ { %"github.com/goplus/llgo/runtime/internal/runtime.eface" zeroinitializer, i1 true }, %_llgo_23 ], [ zeroinitializer, %_llgo_24 ] - %113 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } %112, 0 - %114 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } %112, 1 - br i1 %114, label %_llgo_1, label %_llgo_2 + %107 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } [ { %"github.com/goplus/llgo/runtime/internal/runtime.eface" zeroinitializer, i1 true }, %_llgo_23 ], [ zeroinitializer, %_llgo_24 ] + %108 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } %107, 0 + %109 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } %107, 1 + br i1 %109, label %_llgo_1, label %_llgo_2 _llgo_26: ; preds = %_llgo_2 - %115 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4", align 8 - %116 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %115, ptr %6) - %117 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %116, 0 - %118 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %117, ptr null, 1 - %119 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } undef, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %118, 0 - %120 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %119, i1 true, 1 br label %_llgo_28 _llgo_27: ; preds = %_llgo_2 br label %_llgo_28 _llgo_28: ; preds = %_llgo_27, %_llgo_26 - %121 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } [ %120, %_llgo_26 ], [ zeroinitializer, %_llgo_27 ] - %122 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %121, 0 - %123 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %121, 1 - br i1 %123, label %_llgo_3, label %_llgo_4 + %110 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } [ { %"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer, i1 true }, %_llgo_26 ], [ zeroinitializer, %_llgo_27 ] + %111 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %110, 0 + %112 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %110, 1 + br i1 %112, label %_llgo_3, label %_llgo_4 _llgo_29: ; preds = %_llgo_4 - %124 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$gZBF8fFlqIMZ9M6lT2VWPyc3eu5Co6j0WoKGIEgDPAw", align 8 - %125 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %124, ptr %13) - %126 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %125, 0 - %127 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %126, ptr null, 1 - %128 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } undef, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %127, 0 - %129 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %128, i1 true, 1 br label %_llgo_31 _llgo_30: ; preds = %_llgo_4 br label %_llgo_31 _llgo_31: ; preds = %_llgo_30, %_llgo_29 - %130 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } [ %129, %_llgo_29 ], [ zeroinitializer, %_llgo_30 ] - %131 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %130, 0 - %132 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %130, 1 - br i1 %132, label %_llgo_5, label %_llgo_6 + %113 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } [ { %"github.com/goplus/llgo/runtime/internal/runtime.iface" zeroinitializer, i1 true }, %_llgo_29 ], [ zeroinitializer, %_llgo_30 ] + %114 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %113, 0 + %115 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %113, 1 + br i1 %115, label %_llgo_5, label %_llgo_6 _llgo_32: ; preds = %_llgo_6 - %133 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %36, 1 - %134 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %37, 0 - %135 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %134, ptr %133, 1 - %136 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } undef, %"github.com/goplus/llgo/runtime/internal/runtime.eface" %135, 0 - %137 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } %136, i1 true, 1 + %116 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %33, 1 + %117 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %34, 0 + %118 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %117, ptr %116, 1 + %119 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } undef, %"github.com/goplus/llgo/runtime/internal/runtime.eface" %118, 0 + %120 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } %119, i1 true, 1 br label %_llgo_34 _llgo_33: ; preds = %_llgo_6 br label %_llgo_34 _llgo_34: ; preds = %_llgo_33, %_llgo_32 - %138 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } [ %137, %_llgo_32 ], [ zeroinitializer, %_llgo_33 ] - %139 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } %138, 0 - %140 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } %138, 1 - br i1 %140, label %_llgo_8, label %_llgo_7 + %121 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } [ %120, %_llgo_32 ], [ zeroinitializer, %_llgo_33 ] + %122 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } %121, 0 + %123 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } %121, 1 + br i1 %123, label %_llgo_8, label %_llgo_7 _llgo_35: ; preds = %_llgo_8 - %141 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %36, 1 - %142 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4", align 8 - %143 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %142, ptr %44) - %144 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %143, 0 - %145 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %144, ptr %141, 1 - %146 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } undef, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %145, 0 - %147 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %146, i1 true, 1 + %124 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } undef, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %33, 0 + %125 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %124, i1 true, 1 br label %_llgo_37 _llgo_36: ; preds = %_llgo_8 br label %_llgo_37 _llgo_37: ; preds = %_llgo_36, %_llgo_35 - %148 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } [ %147, %_llgo_35 ], [ zeroinitializer, %_llgo_36 ] - %149 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %148, 0 - %150 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %148, 1 - br i1 %150, label %_llgo_10, label %_llgo_9 + %126 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } [ %125, %_llgo_35 ], [ zeroinitializer, %_llgo_36 ] + %127 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %126, 0 + %128 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %126, 1 + br i1 %128, label %_llgo_10, label %_llgo_9 _llgo_38: ; preds = %_llgo_10 - %151 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %36, 1 - %152 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$gZBF8fFlqIMZ9M6lT2VWPyc3eu5Co6j0WoKGIEgDPAw", align 8 - %153 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %152, ptr %51) - %154 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %153, 0 - %155 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %154, ptr %151, 1 - %156 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } undef, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %155, 0 - %157 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %156, i1 true, 1 + %129 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %33, 1 + %130 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$gZBF8fFlqIMZ9M6lT2VWPyc3eu5Co6j0WoKGIEgDPAw", align 8 + %131 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %130, ptr %47) + %132 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %131, 0 + %133 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %132, ptr %129, 1 + %134 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } undef, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %133, 0 + %135 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %134, i1 true, 1 br label %_llgo_40 _llgo_39: ; preds = %_llgo_10 br label %_llgo_40 _llgo_40: ; preds = %_llgo_39, %_llgo_38 - %158 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } [ %157, %_llgo_38 ], [ zeroinitializer, %_llgo_39 ] - %159 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %158, 0 - %160 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %158, 1 - br i1 %160, label %_llgo_11, label %_llgo_12 + %136 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } [ %135, %_llgo_38 ], [ zeroinitializer, %_llgo_39 ] + %137 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %136, 0 + %138 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %136, 1 + br i1 %138, label %_llgo_11, label %_llgo_12 _llgo_41: ; preds = %_llgo_12 - %161 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %63, 1 - %162 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %64, 0 - %163 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %162, ptr %161, 1 - %164 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } undef, %"github.com/goplus/llgo/runtime/internal/runtime.eface" %163, 0 - %165 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } %164, i1 true, 1 + %139 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %59, 1 + %140 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %60, 0 + %141 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %140, ptr %139, 1 + %142 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } undef, %"github.com/goplus/llgo/runtime/internal/runtime.eface" %141, 0 + %143 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } %142, i1 true, 1 br label %_llgo_43 _llgo_42: ; preds = %_llgo_12 br label %_llgo_43 _llgo_43: ; preds = %_llgo_42, %_llgo_41 - %166 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } [ %165, %_llgo_41 ], [ zeroinitializer, %_llgo_42 ] - %167 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } %166, 0 - %168 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } %166, 1 - br i1 %168, label %_llgo_14, label %_llgo_13 + %144 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } [ %143, %_llgo_41 ], [ zeroinitializer, %_llgo_42 ] + %145 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } %144, 0 + %146 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.eface", i1 } %144, 1 + br i1 %146, label %_llgo_14, label %_llgo_13 _llgo_44: ; preds = %_llgo_14 - %169 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %63, 1 - %170 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4", align 8 - %171 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %170, ptr %71) - %172 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %171, 0 - %173 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %172, ptr %169, 1 - %174 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } undef, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %173, 0 - %175 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %174, i1 true, 1 + %147 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } undef, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %59, 0 + %148 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %147, i1 true, 1 br label %_llgo_46 _llgo_45: ; preds = %_llgo_14 br label %_llgo_46 _llgo_46: ; preds = %_llgo_45, %_llgo_44 - %176 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } [ %175, %_llgo_44 ], [ zeroinitializer, %_llgo_45 ] - %177 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %176, 0 - %178 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %176, 1 - br i1 %178, label %_llgo_16, label %_llgo_15 + %149 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } [ %148, %_llgo_44 ], [ zeroinitializer, %_llgo_45 ] + %150 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %149, 0 + %151 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %149, 1 + br i1 %151, label %_llgo_16, label %_llgo_15 _llgo_47: ; preds = %_llgo_16 - %179 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %63, 1 - %180 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$gZBF8fFlqIMZ9M6lT2VWPyc3eu5Co6j0WoKGIEgDPAw", align 8 - %181 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %180, ptr %78) - %182 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %181, 0 - %183 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %182, ptr %179, 1 - %184 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } undef, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %183, 0 - %185 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %184, i1 true, 1 + %152 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %59, 1 + %153 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$gZBF8fFlqIMZ9M6lT2VWPyc3eu5Co6j0WoKGIEgDPAw", align 8 + %154 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %153, ptr %73) + %155 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %154, 0 + %156 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %155, ptr %152, 1 + %157 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } undef, %"github.com/goplus/llgo/runtime/internal/runtime.iface" %156, 0 + %158 = insertvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %157, i1 true, 1 br label %_llgo_49 _llgo_48: ; preds = %_llgo_16 br label %_llgo_49 _llgo_49: ; preds = %_llgo_48, %_llgo_47 - %186 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } [ %185, %_llgo_47 ], [ zeroinitializer, %_llgo_48 ] - %187 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %186, 0 - %188 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %186, 1 - br i1 %188, label %_llgo_18, label %_llgo_17 + %159 = phi { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } [ %158, %_llgo_47 ], [ zeroinitializer, %_llgo_48 ] + %160 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %159, 0 + %161 = extractvalue { %"github.com/goplus/llgo/runtime/internal/runtime.iface", i1 } %159, 1 + br i1 %161, label %_llgo_18, label %_llgo_17 } define void @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.init$after"() { @@ -540,102 +513,102 @@ _llgo_11: ; preds = %_llgo_10 br label %_llgo_12 _llgo_12: ; preds = %_llgo_11, %_llgo_10 - %31 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %32 = insertvalue %"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 54 }, ptr undef }, ptr %31, 1 - %33 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 24) - %34 = getelementptr %"github.com/goplus/llgo/runtime/abi.Imethod", ptr %33, i64 0 - store %"github.com/goplus/llgo/runtime/abi.Imethod" %32, ptr %34, align 8 - %35 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %33, 0 - %36 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %35, i64 1, 1 - %37 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %36, i64 1, 2 - %38 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Interface"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 52 }, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %37) - store ptr %38, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4", align 8 - %39 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 52 }, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @6, i64 2 }) - %40 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I2", align 8 - %41 = icmp eq ptr %40, null - br i1 %41, label %_llgo_13, label %_llgo_14 + %31 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewNamedInterface"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 52 }, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @6, i64 2 }) + %32 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I2", align 8 + %33 = icmp eq ptr %32, null + br i1 %33, label %_llgo_13, label %_llgo_14 _llgo_13: ; preds = %_llgo_12 - store ptr %39, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I2", align 8 + store ptr %31, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.I2", align 8 br label %_llgo_14 _llgo_14: ; preds = %_llgo_13, %_llgo_12 - %42 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %43 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - br i1 %41, label %_llgo_15, label %_llgo_16 + %34 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %35 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + br i1 %33, label %_llgo_15, label %_llgo_16 _llgo_15: ; preds = %_llgo_14 - %44 = insertvalue %"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 54 }, ptr undef }, ptr %42, 1 - %45 = insertvalue %"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 54 }, ptr undef }, ptr %43, 1 - %46 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 48) - %47 = getelementptr %"github.com/goplus/llgo/runtime/abi.Imethod", ptr %46, i64 0 - store %"github.com/goplus/llgo/runtime/abi.Imethod" %44, ptr %47, align 8 - %48 = getelementptr %"github.com/goplus/llgo/runtime/abi.Imethod", ptr %46, i64 1 - store %"github.com/goplus/llgo/runtime/abi.Imethod" %45, ptr %48, align 8 - %49 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %46, 0 - %50 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %49, i64 2, 1 - %51 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %50, i64 2, 2 - call void @"github.com/goplus/llgo/runtime/internal/runtime.InitNamedInterface"(ptr %39, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %51) + %36 = insertvalue %"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 54 }, ptr undef }, ptr %34, 1 + %37 = insertvalue %"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 54 }, ptr undef }, ptr %35, 1 + %38 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 48) + %39 = getelementptr %"github.com/goplus/llgo/runtime/abi.Imethod", ptr %38, i64 0 + store %"github.com/goplus/llgo/runtime/abi.Imethod" %36, ptr %39, align 8 + %40 = getelementptr %"github.com/goplus/llgo/runtime/abi.Imethod", ptr %38, i64 1 + store %"github.com/goplus/llgo/runtime/abi.Imethod" %37, ptr %40, align 8 + %41 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %38, 0 + %42 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %41, i64 2, 1 + %43 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %42, i64 2, 2 + call void @"github.com/goplus/llgo/runtime/internal/runtime.InitNamedInterface"(ptr %31, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %43) br label %_llgo_16 _llgo_16: ; preds = %_llgo_15, %_llgo_14 - %52 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %53 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %54 = insertvalue %"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 54 }, ptr undef }, ptr %52, 1 - %55 = insertvalue %"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 54 }, ptr undef }, ptr %53, 1 - %56 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 48) - %57 = getelementptr %"github.com/goplus/llgo/runtime/abi.Imethod", ptr %56, i64 0 - store %"github.com/goplus/llgo/runtime/abi.Imethod" %54, ptr %57, align 8 - %58 = getelementptr %"github.com/goplus/llgo/runtime/abi.Imethod", ptr %56, i64 1 - store %"github.com/goplus/llgo/runtime/abi.Imethod" %55, ptr %58, align 8 - %59 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %56, 0 - %60 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %59, i64 2, 1 - %61 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %60, i64 2, 2 - %62 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Interface"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 52 }, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %61) - store ptr %62, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$gZBF8fFlqIMZ9M6lT2VWPyc3eu5Co6j0WoKGIEgDPAw", align 8 - %63 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewNamed"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 52 }, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @9, i64 2 }, i64 25, i64 0, i64 1, i64 1) - %64 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C1", align 8 - %65 = icmp eq ptr %64, null - br i1 %65, label %_llgo_17, label %_llgo_18 + %44 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %45 = insertvalue %"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 54 }, ptr undef }, ptr %44, 1 + %46 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 24) + %47 = getelementptr %"github.com/goplus/llgo/runtime/abi.Imethod", ptr %46, i64 0 + store %"github.com/goplus/llgo/runtime/abi.Imethod" %45, ptr %47, align 8 + %48 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %46, 0 + %49 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %48, i64 1, 1 + %50 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %49, i64 1, 2 + %51 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Interface"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 52 }, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %50) + store ptr %51, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$brpgdLtIeRlPi8QUoTgPCXzlehUkncg7v9aITo-GsF4", align 8 + %52 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewNamed"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 52 }, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @9, i64 2 }, i64 25, i64 0, i64 1, i64 1) + %53 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C1", align 8 + %54 = icmp eq ptr %53, null + br i1 %54, label %_llgo_17, label %_llgo_18 _llgo_17: ; preds = %_llgo_16 - store ptr %63, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C1", align 8 + store ptr %52, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C1", align 8 br label %_llgo_18 _llgo_18: ; preds = %_llgo_17, %_llgo_16 - %66 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 0) - %67 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %66, 0 - %68 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %67, i64 0, 1 - %69 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %68, i64 0, 2 - %70 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Struct"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 52 }, i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %69) - store ptr %70, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 - %71 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 - br i1 %65, label %_llgo_19, label %_llgo_20 + %55 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 0) + %56 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %55, 0 + %57 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %56, i64 0, 1 + %58 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %57, i64 0, 2 + %59 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Struct"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 52 }, i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %58) + store ptr %59, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 + %60 = load ptr, ptr @"_llgo_struct$n1H8J_3prDN3firMwPxBLVTkE5hJ9Di-AqNvaC9jczw", align 8 + br i1 %54, label %_llgo_19, label %_llgo_20 _llgo_19: ; preds = %_llgo_18 - %72 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 - %73 = insertvalue %"github.com/goplus/llgo/runtime/abi.Method" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 54 }, ptr undef, ptr undef, ptr undef }, ptr %72, 1 - %74 = insertvalue %"github.com/goplus/llgo/runtime/abi.Method" %73, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.(*C1).f", 2 - %75 = insertvalue %"github.com/goplus/llgo/runtime/abi.Method" %74, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.(*C1).f", 3 - %76 = insertvalue %"github.com/goplus/llgo/runtime/abi.Method" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 54 }, ptr undef, ptr undef, ptr undef }, ptr %72, 1 - %77 = insertvalue %"github.com/goplus/llgo/runtime/abi.Method" %76, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.(*C1).f", 2 - %78 = insertvalue %"github.com/goplus/llgo/runtime/abi.Method" %77, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C1.f", 3 - %79 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 40) - %80 = getelementptr %"github.com/goplus/llgo/runtime/abi.Method", ptr %79, i64 0 - store %"github.com/goplus/llgo/runtime/abi.Method" %78, ptr %80, align 8 - %81 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %79, 0 - %82 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %81, i64 1, 1 - %83 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %82, i64 1, 2 - %84 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 40) - %85 = getelementptr %"github.com/goplus/llgo/runtime/abi.Method", ptr %84, i64 0 - store %"github.com/goplus/llgo/runtime/abi.Method" %75, ptr %85, align 8 - %86 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %84, 0 - %87 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %86, i64 1, 1 - %88 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %87, i64 1, 2 - call void @"github.com/goplus/llgo/runtime/internal/runtime.InitNamed"(ptr %63, ptr %71, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %83, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %88) + %61 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %62 = insertvalue %"github.com/goplus/llgo/runtime/abi.Method" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 54 }, ptr undef, ptr undef, ptr undef }, ptr %61, 1 + %63 = insertvalue %"github.com/goplus/llgo/runtime/abi.Method" %62, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.(*C1).f", 2 + %64 = insertvalue %"github.com/goplus/llgo/runtime/abi.Method" %63, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.(*C1).f", 3 + %65 = insertvalue %"github.com/goplus/llgo/runtime/abi.Method" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 54 }, ptr undef, ptr undef, ptr undef }, ptr %61, 1 + %66 = insertvalue %"github.com/goplus/llgo/runtime/abi.Method" %65, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.(*C1).f", 2 + %67 = insertvalue %"github.com/goplus/llgo/runtime/abi.Method" %66, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C1.f", 3 + %68 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 40) + %69 = getelementptr %"github.com/goplus/llgo/runtime/abi.Method", ptr %68, i64 0 + store %"github.com/goplus/llgo/runtime/abi.Method" %67, ptr %69, align 8 + %70 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %68, 0 + %71 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %70, i64 1, 1 + %72 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %71, i64 1, 2 + %73 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 40) + %74 = getelementptr %"github.com/goplus/llgo/runtime/abi.Method", ptr %73, i64 0 + store %"github.com/goplus/llgo/runtime/abi.Method" %64, ptr %74, align 8 + %75 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %73, 0 + %76 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %75, i64 1, 1 + %77 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %76, i64 1, 2 + call void @"github.com/goplus/llgo/runtime/internal/runtime.InitNamed"(ptr %52, ptr %60, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %72, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %77) br label %_llgo_20 _llgo_20: ; preds = %_llgo_19, %_llgo_18 + %78 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %79 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8 + %80 = insertvalue %"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 54 }, ptr undef }, ptr %78, 1 + %81 = insertvalue %"github.com/goplus/llgo/runtime/abi.Imethod" { %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 54 }, ptr undef }, ptr %79, 1 + %82 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 48) + %83 = getelementptr %"github.com/goplus/llgo/runtime/abi.Imethod", ptr %82, i64 0 + store %"github.com/goplus/llgo/runtime/abi.Imethod" %80, ptr %83, align 8 + %84 = getelementptr %"github.com/goplus/llgo/runtime/abi.Imethod", ptr %82, i64 1 + store %"github.com/goplus/llgo/runtime/abi.Imethod" %81, ptr %84, align 8 + %85 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" undef, ptr %82, 0 + %86 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %85, i64 2, 1 + %87 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %86, i64 2, 2 + %88 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Interface"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 52 }, %"github.com/goplus/llgo/runtime/internal/runtime.Slice" %87) + store ptr %88, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.iface$gZBF8fFlqIMZ9M6lT2VWPyc3eu5Co6j0WoKGIEgDPAw", align 8 %89 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewNamed"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 52 }, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @14, i64 2 }, i64 25, i64 0, i64 2, i64 2) %90 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceconv.C2", align 8 %91 = icmp eq ptr %90, null @@ -693,8 +666,6 @@ declare void @"github.com/goplus/llgo/runtime/internal/runtime.InitNamedInterfac declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64) -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr, ptr) - declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64) declare void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") @@ -717,6 +688,8 @@ declare %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/ll declare void @"github.com/goplus/llgo/runtime/internal/runtime.InitNamed"(ptr, ptr, %"github.com/goplus/llgo/runtime/internal/runtime.Slice", %"github.com/goplus/llgo/runtime/internal/runtime.Slice") +declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr, ptr) + declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.EfaceEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.eface", %"github.com/goplus/llgo/runtime/internal/runtime.eface") declare void @"github.com/goplus/llgo/runtime/internal/runtime.PrintString"(%"github.com/goplus/llgo/runtime/internal/runtime.String") diff --git a/compiler/cl/_testgo/ifaceprom/out.ll b/compiler/cl/_testgo/ifaceprom/out.ll index 067af013..f593c396 100644 --- a/compiler/cl/_testgo/ifaceprom/out.ll +++ b/compiler/cl/_testgo/ifaceprom/out.ll @@ -27,7 +27,7 @@ source_filename = "github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom" @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA" = linkonce global ptr null, align 8 @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.I" = linkonce global ptr null, align 8 @6 = private unnamed_addr constant [1 x i8] c"I", align 1 -@7 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 +@7 = private unnamed_addr constant [134 x i8] c"type assertion github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.I -> github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.I failed", align 1 @8 = private unnamed_addr constant [4 x i8] c"pass", align 1 define i64 @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S.one"(%"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S" %0) { @@ -203,115 +203,111 @@ _llgo_4: ; preds = %_llgo_2 %43 = load %"github.com/goplus/llgo/runtime/internal/runtime.iface", ptr %42, align 8 %44 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %43) %45 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.I", align 8 - %46 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %45, ptr %44) - br i1 %46, label %_llgo_17, label %_llgo_18 + br i1 true, label %_llgo_17, label %_llgo_18 _llgo_5: ; preds = %_llgo_17 - %47 = load ptr, ptr @_llgo_int, align 8 - %48 = inttoptr i64 %122 to ptr - %49 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %47, 0 - %50 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %49, ptr %48, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %50) + %46 = load ptr, ptr @_llgo_int, align 8 + %47 = inttoptr i64 %113 to ptr + %48 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %46, 0 + %49 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %48, ptr %47, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %49) unreachable _llgo_6: ; preds = %_llgo_17 - %51 = load %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S", ptr %0, align 8 - %52 = extractvalue %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S" %51, 0 - %53 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %52) - %54 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.I", align 8 - %55 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %54, ptr %53) - br i1 %55, label %_llgo_19, label %_llgo_20 + %50 = load %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S", ptr %0, align 8 + %51 = extractvalue %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S" %50, 0 + %52 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %51) + %53 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.I", align 8 + br i1 true, label %_llgo_19, label %_llgo_20 _llgo_7: ; preds = %_llgo_19 - %56 = load ptr, ptr @_llgo_int, align 8 - %57 = inttoptr i64 %138 to ptr - %58 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %56, 0 - %59 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %58, ptr %57, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %59) + %54 = load ptr, ptr @_llgo_int, align 8 + %55 = inttoptr i64 %124 to ptr + %56 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %54, 0 + %57 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %56, ptr %55, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %57) unreachable _llgo_8: ; preds = %_llgo_19 - %60 = getelementptr inbounds %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S", ptr %0, i32 0, i32 0 - %61 = load %"github.com/goplus/llgo/runtime/internal/runtime.iface", ptr %60, align 8 - %62 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %61) - %63 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %61, 0 - %64 = getelementptr ptr, ptr %63, i64 4 - %65 = load ptr, ptr %64, align 8 - %66 = insertvalue { ptr, ptr } undef, ptr %65, 0 - %67 = insertvalue { ptr, ptr } %66, ptr %62, 1 - %68 = extractvalue { ptr, ptr } %67, 1 - %69 = extractvalue { ptr, ptr } %67, 0 - %70 = call %"github.com/goplus/llgo/runtime/internal/runtime.String" %69(ptr %68) - %71 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %70, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 3 }) - %72 = xor i1 %71, true - br i1 %72, label %_llgo_9, label %_llgo_10 + %58 = getelementptr inbounds %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S", ptr %0, i32 0, i32 0 + %59 = load %"github.com/goplus/llgo/runtime/internal/runtime.iface", ptr %58, align 8 + %60 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %59) + %61 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %59, 0 + %62 = getelementptr ptr, ptr %61, i64 4 + %63 = load ptr, ptr %62, align 8 + %64 = insertvalue { ptr, ptr } undef, ptr %63, 0 + %65 = insertvalue { ptr, ptr } %64, ptr %60, 1 + %66 = extractvalue { ptr, ptr } %65, 1 + %67 = extractvalue { ptr, ptr } %65, 0 + %68 = call %"github.com/goplus/llgo/runtime/internal/runtime.String" %67(ptr %66) + %69 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %68, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 3 }) + %70 = xor i1 %69, true + br i1 %70, label %_llgo_9, label %_llgo_10 _llgo_9: ; preds = %_llgo_8 - %73 = load ptr, ptr @_llgo_string, align 8 - %74 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" %70, ptr %74, align 8 - %75 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %73, 0 - %76 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %75, ptr %74, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %76) + %71 = load ptr, ptr @_llgo_string, align 8 + %72 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" %68, ptr %72, align 8 + %73 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %71, 0 + %74 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %73, ptr %72, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %74) unreachable _llgo_10: ; preds = %_llgo_8 - %77 = load %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S", ptr %0, align 8 - %78 = extractvalue %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S" %77, 0 - %79 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %78) - %80 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %78, 0 - %81 = getelementptr ptr, ptr %80, i64 4 - %82 = load ptr, ptr %81, align 8 - %83 = insertvalue { ptr, ptr } undef, ptr %82, 0 - %84 = insertvalue { ptr, ptr } %83, ptr %79, 1 - %85 = extractvalue { ptr, ptr } %84, 1 - %86 = extractvalue { ptr, ptr } %84, 0 - %87 = call %"github.com/goplus/llgo/runtime/internal/runtime.String" %86(ptr %85) - %88 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %87, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 3 }) - %89 = xor i1 %88, true - br i1 %89, label %_llgo_11, label %_llgo_12 + %75 = load %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S", ptr %0, align 8 + %76 = extractvalue %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S" %75, 0 + %77 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfacePtrData"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %76) + %78 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %76, 0 + %79 = getelementptr ptr, ptr %78, i64 4 + %80 = load ptr, ptr %79, align 8 + %81 = insertvalue { ptr, ptr } undef, ptr %80, 0 + %82 = insertvalue { ptr, ptr } %81, ptr %77, 1 + %83 = extractvalue { ptr, ptr } %82, 1 + %84 = extractvalue { ptr, ptr } %82, 0 + %85 = call %"github.com/goplus/llgo/runtime/internal/runtime.String" %84(ptr %83) + %86 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %85, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 3 }) + %87 = xor i1 %86, true + br i1 %87, label %_llgo_11, label %_llgo_12 _llgo_11: ; preds = %_llgo_10 - %90 = load ptr, ptr @_llgo_string, align 8 - %91 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" %87, ptr %91, align 8 - %92 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %90, 0 - %93 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %92, ptr %91, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %93) + %88 = load ptr, ptr @_llgo_string, align 8 + %89 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" %85, ptr %89, align 8 + %90 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %88, 0 + %91 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %90, ptr %89, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %91) unreachable _llgo_12: ; preds = %_llgo_10 - %94 = getelementptr inbounds %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S", ptr %0, i32 0, i32 0 - %95 = load %"github.com/goplus/llgo/runtime/internal/runtime.iface", ptr %94, align 8 - %96 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %95) - %97 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.I", align 8 - %98 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %97, ptr %96) - br i1 %98, label %_llgo_21, label %_llgo_22 + %92 = getelementptr inbounds %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S", ptr %0, i32 0, i32 0 + %93 = load %"github.com/goplus/llgo/runtime/internal/runtime.iface", ptr %92, align 8 + %94 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %93) + %95 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.I", align 8 + br i1 true, label %_llgo_21, label %_llgo_22 _llgo_13: ; preds = %_llgo_21 - %99 = load ptr, ptr @_llgo_string, align 8 - %100 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" %154, ptr %100, align 8 - %101 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %99, 0 - %102 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %101, ptr %100, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %102) + %96 = load ptr, ptr @_llgo_string, align 8 + %97 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" %135, ptr %97, align 8 + %98 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %96, 0 + %99 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %98, ptr %97, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %99) unreachable _llgo_14: ; preds = %_llgo_21 - %103 = load %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S", ptr %0, align 8 - %104 = extractvalue %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S" %103, 0 - %105 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %104) - %106 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.I", align 8 - %107 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %106, ptr %105) - br i1 %107, label %_llgo_23, label %_llgo_24 + %100 = load %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S", ptr %0, align 8 + %101 = extractvalue %"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.S" %100, 0 + %102 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.IfaceType"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %101) + %103 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.I", align 8 + br i1 true, label %_llgo_23, label %_llgo_24 _llgo_15: ; preds = %_llgo_23 - %108 = load ptr, ptr @_llgo_string, align 8 - %109 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" %171, ptr %109, align 8 - %110 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %108, 0 - %111 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %110, ptr %109, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %111) + %104 = load ptr, ptr @_llgo_string, align 8 + %105 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" %147, ptr %105, align 8 + %106 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %104, 0 + %107 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %106, ptr %105, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %107) unreachable _llgo_16: ; preds = %_llgo_23 @@ -320,105 +316,85 @@ _llgo_16: ; preds = %_llgo_23 ret void _llgo_17: ; preds = %_llgo_4 - %112 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %43, 1 - %113 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 - %114 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %113, ptr %44) - %115 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %114, 0 - %116 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %115, ptr %112, 1 - %117 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - %118 = getelementptr inbounds { %"github.com/goplus/llgo/runtime/internal/runtime.iface" }, ptr %117, i32 0, i32 0 - store %"github.com/goplus/llgo/runtime/internal/runtime.iface" %43, ptr %118, align 8 - %119 = insertvalue { ptr, ptr } { ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.one$bound", ptr undef }, ptr %117, 1 - %120 = extractvalue { ptr, ptr } %119, 1 - %121 = extractvalue { ptr, ptr } %119, 0 - %122 = call i64 %121(ptr %120) - %123 = icmp ne i64 %122, 1 - br i1 %123, label %_llgo_5, label %_llgo_6 + %108 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + %109 = getelementptr inbounds { %"github.com/goplus/llgo/runtime/internal/runtime.iface" }, ptr %108, i32 0, i32 0 + store %"github.com/goplus/llgo/runtime/internal/runtime.iface" %43, ptr %109, align 8 + %110 = insertvalue { ptr, ptr } { ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.one$bound", ptr undef }, ptr %108, 1 + %111 = extractvalue { ptr, ptr } %110, 1 + %112 = extractvalue { ptr, ptr } %110, 0 + %113 = call i64 %112(ptr %111) + %114 = icmp ne i64 %113, 1 + br i1 %114, label %_llgo_5, label %_llgo_6 _llgo_18: ; preds = %_llgo_4 - %124 = load ptr, ptr @_llgo_string, align 8 - %125 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 21 }, ptr %125, align 8 - %126 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %124, 0 - %127 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %126, ptr %125, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %127) + %115 = load ptr, ptr @_llgo_string, align 8 + %116 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 134 }, ptr %116, align 8 + %117 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %115, 0 + %118 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %117, ptr %116, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %118) unreachable _llgo_19: ; preds = %_llgo_6 - %128 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %52, 1 - %129 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 - %130 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %129, ptr %53) - %131 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %130, 0 - %132 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %131, ptr %128, 1 - %133 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - %134 = getelementptr inbounds { %"github.com/goplus/llgo/runtime/internal/runtime.iface" }, ptr %133, i32 0, i32 0 - store %"github.com/goplus/llgo/runtime/internal/runtime.iface" %52, ptr %134, align 8 - %135 = insertvalue { ptr, ptr } { ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.one$bound", ptr undef }, ptr %133, 1 - %136 = extractvalue { ptr, ptr } %135, 1 - %137 = extractvalue { ptr, ptr } %135, 0 - %138 = call i64 %137(ptr %136) - %139 = icmp ne i64 %138, 1 - br i1 %139, label %_llgo_7, label %_llgo_8 + %119 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + %120 = getelementptr inbounds { %"github.com/goplus/llgo/runtime/internal/runtime.iface" }, ptr %119, i32 0, i32 0 + store %"github.com/goplus/llgo/runtime/internal/runtime.iface" %51, ptr %120, align 8 + %121 = insertvalue { ptr, ptr } { ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.one$bound", ptr undef }, ptr %119, 1 + %122 = extractvalue { ptr, ptr } %121, 1 + %123 = extractvalue { ptr, ptr } %121, 0 + %124 = call i64 %123(ptr %122) + %125 = icmp ne i64 %124, 1 + br i1 %125, label %_llgo_7, label %_llgo_8 _llgo_20: ; preds = %_llgo_6 - %140 = load ptr, ptr @_llgo_string, align 8 - %141 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 21 }, ptr %141, align 8 - %142 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %140, 0 - %143 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %142, ptr %141, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %143) + %126 = load ptr, ptr @_llgo_string, align 8 + %127 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 134 }, ptr %127, align 8 + %128 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %126, 0 + %129 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %128, ptr %127, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %129) unreachable _llgo_21: ; preds = %_llgo_12 - %144 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %95, 1 - %145 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 - %146 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %145, ptr %96) - %147 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %146, 0 - %148 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %147, ptr %144, 1 - %149 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - %150 = getelementptr inbounds { %"github.com/goplus/llgo/runtime/internal/runtime.iface" }, ptr %149, i32 0, i32 0 - store %"github.com/goplus/llgo/runtime/internal/runtime.iface" %95, ptr %150, align 8 - %151 = insertvalue { ptr, ptr } { ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.two$bound", ptr undef }, ptr %149, 1 - %152 = extractvalue { ptr, ptr } %151, 1 - %153 = extractvalue { ptr, ptr } %151, 0 - %154 = call %"github.com/goplus/llgo/runtime/internal/runtime.String" %153(ptr %152) - %155 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %154, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 3 }) - %156 = xor i1 %155, true - br i1 %156, label %_llgo_13, label %_llgo_14 + %130 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + %131 = getelementptr inbounds { %"github.com/goplus/llgo/runtime/internal/runtime.iface" }, ptr %130, i32 0, i32 0 + store %"github.com/goplus/llgo/runtime/internal/runtime.iface" %93, ptr %131, align 8 + %132 = insertvalue { ptr, ptr } { ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.two$bound", ptr undef }, ptr %130, 1 + %133 = extractvalue { ptr, ptr } %132, 1 + %134 = extractvalue { ptr, ptr } %132, 0 + %135 = call %"github.com/goplus/llgo/runtime/internal/runtime.String" %134(ptr %133) + %136 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %135, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 3 }) + %137 = xor i1 %136, true + br i1 %137, label %_llgo_13, label %_llgo_14 _llgo_22: ; preds = %_llgo_12 - %157 = load ptr, ptr @_llgo_string, align 8 - %158 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 21 }, ptr %158, align 8 - %159 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %157, 0 - %160 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %159, ptr %158, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %160) + %138 = load ptr, ptr @_llgo_string, align 8 + %139 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 134 }, ptr %139, align 8 + %140 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %138, 0 + %141 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %140, ptr %139, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %141) unreachable _llgo_23: ; preds = %_llgo_14 - %161 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %104, 1 - %162 = load ptr, ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.iface$zZ89tENb5h_KNjvpxf1TXPfaWFYn0IZrZwyVf42lRtA", align 8 - %163 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %162, ptr %105) - %164 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %163, 0 - %165 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %164, ptr %161, 1 - %166 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - %167 = getelementptr inbounds { %"github.com/goplus/llgo/runtime/internal/runtime.iface" }, ptr %166, i32 0, i32 0 - store %"github.com/goplus/llgo/runtime/internal/runtime.iface" %104, ptr %167, align 8 - %168 = insertvalue { ptr, ptr } { ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.two$bound", ptr undef }, ptr %166, 1 - %169 = extractvalue { ptr, ptr } %168, 1 - %170 = extractvalue { ptr, ptr } %168, 0 - %171 = call %"github.com/goplus/llgo/runtime/internal/runtime.String" %170(ptr %169) - %172 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %171, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 3 }) - %173 = xor i1 %172, true - br i1 %173, label %_llgo_15, label %_llgo_16 + %142 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + %143 = getelementptr inbounds { %"github.com/goplus/llgo/runtime/internal/runtime.iface" }, ptr %142, i32 0, i32 0 + store %"github.com/goplus/llgo/runtime/internal/runtime.iface" %101, ptr %143, align 8 + %144 = insertvalue { ptr, ptr } { ptr @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.two$bound", ptr undef }, ptr %142, 1 + %145 = extractvalue { ptr, ptr } %144, 1 + %146 = extractvalue { ptr, ptr } %144, 0 + %147 = call %"github.com/goplus/llgo/runtime/internal/runtime.String" %146(ptr %145) + %148 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.StringEqual"(%"github.com/goplus/llgo/runtime/internal/runtime.String" %147, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 3 }) + %149 = xor i1 %148, true + br i1 %149, label %_llgo_15, label %_llgo_16 _llgo_24: ; preds = %_llgo_14 - %174 = load ptr, ptr @_llgo_string, align 8 - %175 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 21 }, ptr %175, align 8 - %176 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %174, 0 - %177 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %176, ptr %175, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %177) + %150 = load ptr, ptr @_llgo_string, align 8 + %151 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 134 }, ptr %151, align 8 + %152 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %150, 0 + %153 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %152, ptr %151, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %153) unreachable } @@ -609,8 +585,6 @@ declare ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewNamedInterface" declare void @"github.com/goplus/llgo/runtime/internal/runtime.InitNamedInterface"(ptr, %"github.com/goplus/llgo/runtime/internal/runtime.Slice") -declare i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr, ptr) - define i64 @"github.com/goplus/llgo/compiler/cl/_testgo/ifaceprom.one$bound"(ptr %0) { _llgo_0: %1 = load { %"github.com/goplus/llgo/runtime/internal/runtime.iface" }, ptr %0, align 8 diff --git a/compiler/cl/_testgo/invoke/out.ll b/compiler/cl/_testgo/invoke/out.ll index d61ca64e..567ea6cf 100644 --- a/compiler/cl/_testgo/invoke/out.ll +++ b/compiler/cl/_testgo/invoke/out.ll @@ -65,8 +65,10 @@ source_filename = "github.com/goplus/llgo/compiler/cl/_testgo/invoke" @22 = private unnamed_addr constant [5 x i8] c"world", align 1 @"_llgo_github.com/goplus/llgo/compiler/cl/_testgo/invoke.I" = linkonce global ptr null, align 8 @23 = private unnamed_addr constant [1 x i8] c"I", align 1 -@24 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 +@24 = private unnamed_addr constant [80 x i8] c"type assertion any -> github.com/goplus/llgo/compiler/cl/_testgo/invoke.I failed", align 1 @_llgo_any = linkonce global ptr null, align 8 +@25 = private unnamed_addr constant [32 x i8] c"type assertion any -> any failed", align 1 +@26 = private unnamed_addr constant [52 x i8] c"type assertion any -> interface{Invoke() int} failed", align 1 define i64 @"github.com/goplus/llgo/compiler/cl/_testgo/invoke.T.Invoke"(%"github.com/goplus/llgo/compiler/cl/_testgo/invoke.T" %0) { _llgo_0: @@ -391,52 +393,48 @@ _llgo_1: ; preds = %_llgo_0 call void @"github.com/goplus/llgo/compiler/cl/_testgo/invoke.invoke"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %124) %125 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %116, 0 %126 = load ptr, ptr @_llgo_any, align 8 - %127 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %126, ptr %125) - br i1 %127, label %_llgo_3, label %_llgo_4 + br i1 true, label %_llgo_3, label %_llgo_4 _llgo_2: ; preds = %_llgo_0 - %128 = load ptr, ptr @_llgo_string, align 8 - %129 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @24, i64 21 }, ptr %129, align 8 - %130 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %128, 0 - %131 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %130, ptr %129, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %131) + %127 = load ptr, ptr @_llgo_string, align 8 + %128 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @24, i64 80 }, ptr %128, align 8 + %129 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %127, 0 + %130 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %129, ptr %128, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %130) unreachable _llgo_3: ; preds = %_llgo_1 - %132 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %116, 1 - %133 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %125, 0 - %134 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %133, ptr %132, 1 - %135 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %134, 0 - %136 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %137 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %136, ptr %135) - br i1 %137, label %_llgo_5, label %_llgo_6 + %131 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %116, 0 + %132 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %133 = call i1 @"github.com/goplus/llgo/runtime/internal/runtime.Implements"(ptr %132, ptr %131) + br i1 %133, label %_llgo_5, label %_llgo_6 _llgo_4: ; preds = %_llgo_1 - %138 = load ptr, ptr @_llgo_string, align 8 - %139 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @24, i64 21 }, ptr %139, align 8 - %140 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %138, 0 - %141 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %140, ptr %139, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %141) + %134 = load ptr, ptr @_llgo_string, align 8 + %135 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @25, i64 32 }, ptr %135, align 8 + %136 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %134, 0 + %137 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %136, ptr %135, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %137) unreachable _llgo_5: ; preds = %_llgo_3 - %142 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %134, 1 - %143 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 - %144 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %143, ptr %135) - %145 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %144, 0 - %146 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %145, ptr %142, 1 - call void @"github.com/goplus/llgo/compiler/cl/_testgo/invoke.invoke"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %146) + %138 = extractvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %116, 1 + %139 = load ptr, ptr @"_llgo_iface$uRUteI7wmSy7y7ODhGzk0FdDaxGKMhVSSu6HZEv9aa0", align 8 + %140 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewItab"(ptr %139, ptr %131) + %141 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" undef, ptr %140, 0 + %142 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.iface" %141, ptr %138, 1 + call void @"github.com/goplus/llgo/compiler/cl/_testgo/invoke.invoke"(%"github.com/goplus/llgo/runtime/internal/runtime.iface" %142) ret void _llgo_6: ; preds = %_llgo_3 - %147 = load ptr, ptr @_llgo_string, align 8 - %148 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @24, i64 21 }, ptr %148, align 8 - %149 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %147, 0 - %150 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %149, ptr %148, 1 - call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %150) + %143 = load ptr, ptr @_llgo_string, align 8 + %144 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @26, i64 52 }, ptr %144, align 8 + %145 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %143, 0 + %146 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %145, ptr %144, 1 + call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %146) unreachable } diff --git a/compiler/cl/_testgo/reader/out.ll b/compiler/cl/_testgo/reader/out.ll index 5f947312..85253089 100644 --- a/compiler/cl/_testgo/reader/out.ll +++ b/compiler/cl/_testgo/reader/out.ll @@ -82,7 +82,7 @@ source_filename = "github.com/goplus/llgo/compiler/cl/_testgo/reader" @"github.com/goplus/llgo/compiler/cl/_testgo/reader.struct$QTufDJA9wEDzuzgkA-ZSrLqW-B6lWN8O25mTSglAoLQ" = linkonce global ptr null, align 8 @"*_llgo_github.com/goplus/llgo/compiler/cl/_testgo/reader.errorString" = linkonce global ptr null, align 8 @"_llgo_iface$Fh8eUJ-Gw4e6TYuajcFIOSCuqSPKAt5nS4ow7xeGXEU" = linkonce global ptr null, align 8 -@30 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 +@30 = private unnamed_addr constant [140 x i8] c"type assertion github.com/goplus/llgo/compiler/cl/_testgo/reader.Reader -> github.com/goplus/llgo/compiler/cl/_testgo/reader.WriterTo failed", align 1 @31 = private unnamed_addr constant [37 x i8] c"stringsReader.ReadAt: negative offset", align 1 @32 = private unnamed_addr constant [34 x i8] c"stringsReader.Seek: invalid whence", align 1 @33 = private unnamed_addr constant [37 x i8] c"stringsReader.Seek: negative position", align 1 @@ -475,7 +475,7 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_0 %26 = load ptr, ptr @_llgo_string, align 8 %27 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @30, i64 21 }, ptr %27, align 8 + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @30, i64 140 }, ptr %27, align 8 %28 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %26, 0 %29 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %28, ptr %27, 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %29) diff --git a/compiler/cl/_testgo/reflect/out.ll b/compiler/cl/_testgo/reflect/out.ll index 032c72a8..63762b55 100644 --- a/compiler/cl/_testgo/reflect/out.ll +++ b/compiler/cl/_testgo/reflect/out.ll @@ -40,7 +40,7 @@ source_filename = "github.com/goplus/llgo/compiler/cl/_testgo/reflect" @"_llgo_func$KK0iU4Wpi3BdRqssvycXqtgNe2Dq1riBlM61Rds1QsU" = linkonce global ptr null, align 8 @"github.com/goplus/llgo/compiler/cl/_testgo/reflect.struct$FjMjjQr3-2iTiWyZP1IIQFOz0hUCa0OS6pEm5uVV6Pk" = linkonce global ptr null, align 8 @14 = private unnamed_addr constant [10 x i8] c"call.slice", align 1 -@15 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 +@15 = private unnamed_addr constant [40 x i8] c"type assertion interface{} -> int failed", align 1 @"map[_llgo_int]_llgo_string" = linkonce global ptr null, align 8 @16 = private unnamed_addr constant [7 x i8] c"topbits", align 1 @17 = private unnamed_addr constant [4 x i8] c"keys", align 1 @@ -681,7 +681,7 @@ _llgo_4: ; preds = %_llgo_2 _llgo_5: ; preds = %_llgo_2 %38 = load ptr, ptr @_llgo_string, align 8 %39 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @15, i64 21 }, ptr %39, align 8 + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @15, i64 40 }, ptr %39, align 8 %40 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %38, 0 %41 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %40, ptr %39, 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %41) diff --git a/compiler/cl/_testgo/tpinst/out.ll b/compiler/cl/_testgo/tpinst/out.ll index c1ef8a9e..97100a7e 100644 --- a/compiler/cl/_testgo/tpinst/out.ll +++ b/compiler/cl/_testgo/tpinst/out.ll @@ -34,7 +34,7 @@ source_filename = "github.com/goplus/llgo/compiler/cl/_testgo/tpinst" @"*_llgo_github.com/goplus/llgo/compiler/cl/_testgo/tpinst.M[float64]" = linkonce global ptr null, align 8 @"_llgo_iface$2dxw6yZ6V86Spb7J0dTDIoWqg7ba7UDXlAlpJv3-HLk" = linkonce global ptr null, align 8 @"github.com/goplus/llgo/compiler/cl/_testgo/tpinst.iface$2sV9fFeqOv1SzesvwIdhTqCFzDT8ZX5buKUSAoHNSww" = linkonce global ptr null, align 8 -@8 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 +@8 = private unnamed_addr constant [104 x i8] c"type assertion github.com/goplus/llgo/compiler/cl/_testgo/tpinst.I[int] -> interface{value() int} failed", align 1 define void @"github.com/goplus/llgo/compiler/cl/_testgo/tpinst.demo"() { _llgo_0: @@ -141,7 +141,7 @@ _llgo_7: ; preds = %_llgo_4 _llgo_8: ; preds = %_llgo_4 %69 = load ptr, ptr @_llgo_string, align 8 %70 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @8, i64 21 }, ptr %70, align 8 + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @8, i64 104 }, ptr %70, align 8 %71 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %69, 0 %72 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %71, ptr %70, 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %72) diff --git a/compiler/cl/_testrt/any/out.ll b/compiler/cl/_testrt/any/out.ll index a2c80f48..d932d219 100644 --- a/compiler/cl/_testrt/any/out.ll +++ b/compiler/cl/_testrt/any/out.ll @@ -7,11 +7,12 @@ source_filename = "github.com/goplus/llgo/compiler/cl/_testrt/any" @"github.com/goplus/llgo/compiler/cl/_testrt/any.init$guard" = global i1 false, align 1 @_llgo_int8 = linkonce global ptr null, align 8 @"*_llgo_int8" = linkonce global ptr null, align 8 -@0 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 +@0 = private unnamed_addr constant [42 x i8] c"type assertion interface{} -> *int8 failed", align 1 @_llgo_string = linkonce global ptr null, align 8 @_llgo_int = linkonce global ptr null, align 8 -@1 = private unnamed_addr constant [7 x i8] c"%s %d\0A\00", align 1 -@2 = private unnamed_addr constant [6 x i8] c"Hello\00", align 1 +@1 = private unnamed_addr constant [40 x i8] c"type assertion interface{} -> int failed", align 1 +@2 = private unnamed_addr constant [7 x i8] c"%s %d\0A\00", align 1 +@3 = private unnamed_addr constant [6 x i8] c"Hello\00", align 1 define ptr @"github.com/goplus/llgo/compiler/cl/_testrt/any.hi"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) { _llgo_0: @@ -28,7 +29,7 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_0 %6 = load ptr, ptr @_llgo_string, align 8 %7 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 21 }, ptr %7, align 8 + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 42 }, ptr %7, align 8 %8 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %6, 0 %9 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %8, ptr %7, 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %9) @@ -51,7 +52,7 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_0 %7 = load ptr, ptr @_llgo_string, align 8 %8 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 21 }, ptr %8, align 8 + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @1, i64 40 }, ptr %8, align 8 %9 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %7, 0 %10 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %9, ptr %8, 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %10) @@ -76,13 +77,13 @@ define void @"github.com/goplus/llgo/compiler/cl/_testrt/any.main"() { _llgo_0: %0 = load ptr, ptr @"*_llgo_int8", align 8 %1 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %0, 0 - %2 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %1, ptr @2, 1 + %2 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %1, ptr @3, 1 %3 = call ptr @"github.com/goplus/llgo/compiler/cl/_testrt/any.hi"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %2) %4 = load ptr, ptr @_llgo_int, align 8 %5 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %4, 0 %6 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %5, ptr inttoptr (i64 100 to ptr), 1 %7 = call i64 @"github.com/goplus/llgo/compiler/cl/_testrt/any.incVal"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %6) - %8 = call i32 (ptr, ...) @printf(ptr @1, ptr %3, i64 %7) + %8 = call i32 (ptr, ...) @printf(ptr @2, ptr %3, i64 %7) ret void } diff --git a/compiler/cl/_testrt/float2any/out.ll b/compiler/cl/_testrt/float2any/out.ll index 16ade02c..307422c3 100644 --- a/compiler/cl/_testrt/float2any/out.ll +++ b/compiler/cl/_testrt/float2any/out.ll @@ -6,11 +6,12 @@ source_filename = "github.com/goplus/llgo/compiler/cl/_testrt/float2any" @"github.com/goplus/llgo/compiler/cl/_testrt/float2any.init$guard" = global i1 false, align 1 @_llgo_float32 = linkonce global ptr null, align 8 -@0 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 +@0 = private unnamed_addr constant [36 x i8] c"type assertion any -> float32 failed", align 1 @_llgo_string = linkonce global ptr null, align 8 @1 = private unnamed_addr constant [9 x i8] c"error f32", align 1 @_llgo_float64 = linkonce global ptr null, align 8 -@2 = private unnamed_addr constant [9 x i8] c"error f64", align 1 +@2 = private unnamed_addr constant [36 x i8] c"type assertion any -> float64 failed", align 1 +@3 = private unnamed_addr constant [9 x i8] c"error f64", align 1 define void @"github.com/goplus/llgo/compiler/cl/_testrt/float2any.check32"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %0) { _llgo_0: @@ -42,7 +43,7 @@ _llgo_3: ; preds = %_llgo_0 _llgo_4: ; preds = %_llgo_0 %13 = load ptr, ptr @_llgo_string, align 8 %14 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 21 }, ptr %14, align 8 + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 36 }, ptr %14, align 8 %15 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %13, 0 %16 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %15, ptr %14, 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %16) @@ -59,7 +60,7 @@ _llgo_0: _llgo_1: ; preds = %_llgo_3 %4 = load ptr, ptr @_llgo_string, align 8 %5 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @2, i64 9 }, ptr %5, align 8 + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 9 }, ptr %5, align 8 %6 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %4, 0 %7 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %6, ptr %5, 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %7) @@ -78,7 +79,7 @@ _llgo_3: ; preds = %_llgo_0 _llgo_4: ; preds = %_llgo_0 %12 = load ptr, ptr @_llgo_string, align 8 %13 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 21 }, ptr %13, align 8 + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @2, i64 36 }, ptr %13, align 8 %14 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %12, 0 %15 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %14, ptr %13, 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %15) diff --git a/compiler/cl/_testrt/funcdecl/out.ll b/compiler/cl/_testrt/funcdecl/out.ll index 41fcc8c5..f67045c9 100644 --- a/compiler/cl/_testrt/funcdecl/out.ll +++ b/compiler/cl/_testrt/funcdecl/out.ll @@ -14,7 +14,7 @@ source_filename = "github.com/goplus/llgo/compiler/cl/_testrt/funcdecl" @0 = private unnamed_addr constant [2 x i8] c"$f", align 1 @1 = private unnamed_addr constant [5 x i8] c"$data", align 1 @2 = private unnamed_addr constant [51 x i8] c"github.com/goplus/llgo/compiler/cl/_testrt/funcdecl", align 1 -@3 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 +@3 = private unnamed_addr constant [68 x i8] c"type assertion any -> struct{$f func(); $data unsafe.Pointer} failed", align 1 @_llgo_string = linkonce global ptr null, align 8 @4 = private unnamed_addr constant [4 x i8] c"demo", align 1 @5 = private unnamed_addr constant [5 x i8] c"hello", align 1 @@ -49,7 +49,7 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_0 %19 = load ptr, ptr @_llgo_string, align 8 %20 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 21 }, ptr %20, align 8 + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 68 }, ptr %20, align 8 %21 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %19, 0 %22 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %21, ptr %20, 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %22) @@ -83,7 +83,7 @@ _llgo_3: ; preds = %_llgo_1 _llgo_4: ; preds = %_llgo_1 %31 = load ptr, ptr @_llgo_string, align 8 %32 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 21 }, ptr %32, align 8 + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 68 }, ptr %32, align 8 %33 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %31, 0 %34 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %33, ptr %32, 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %34) diff --git a/compiler/cl/_testrt/makemap/out.ll b/compiler/cl/_testrt/makemap/out.ll index 439c5c66..f977b12c 100644 --- a/compiler/cl/_testrt/makemap/out.ll +++ b/compiler/cl/_testrt/makemap/out.ll @@ -29,7 +29,7 @@ source_filename = "github.com/goplus/llgo/compiler/cl/_testrt/makemap" @"_llgo_github.com/goplus/llgo/compiler/cl/_testrt/makemap.N1" = linkonce global ptr null, align 8 @12 = private unnamed_addr constant [2 x i8] c"N1", align 1 @"[1]_llgo_int" = linkonce global ptr null, align 8 -@13 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 +@13 = private unnamed_addr constant [90 x i8] c"type assertion interface{} -> github.com/goplus/llgo/compiler/cl/_testrt/makemap.N1 failed", align 1 @"_llgo_github.com/goplus/llgo/compiler/cl/_testrt/makemap.K" = linkonce global ptr null, align 8 @14 = private unnamed_addr constant [1 x i8] c"K", align 1 @"_llgo_github.com/goplus/llgo/compiler/cl/_testrt/makemap.N" = linkonce global ptr null, align 8 @@ -39,15 +39,17 @@ source_filename = "github.com/goplus/llgo/compiler/cl/_testrt/makemap" @16 = private unnamed_addr constant [2 x i8] c"n1", align 1 @17 = private unnamed_addr constant [2 x i8] c"n2", align 1 @"[1]_llgo_github.com/goplus/llgo/compiler/cl/_testrt/makemap.N" = linkonce global ptr null, align 8 +@18 = private unnamed_addr constant [89 x i8] c"type assertion interface{} -> github.com/goplus/llgo/compiler/cl/_testrt/makemap.K failed", align 1 @"_llgo_github.com/goplus/llgo/compiler/cl/_testrt/makemap.K2" = linkonce global ptr null, align 8 -@18 = private unnamed_addr constant [2 x i8] c"K2", align 1 +@19 = private unnamed_addr constant [2 x i8] c"K2", align 1 @"*_llgo_github.com/goplus/llgo/compiler/cl/_testrt/makemap.N" = linkonce global ptr null, align 8 @"[1]*_llgo_github.com/goplus/llgo/compiler/cl/_testrt/makemap.N" = linkonce global ptr null, align 8 +@20 = private unnamed_addr constant [90 x i8] c"type assertion interface{} -> github.com/goplus/llgo/compiler/cl/_testrt/makemap.K2 failed", align 1 @"chan _llgo_int" = linkonce global ptr null, align 8 -@19 = private unnamed_addr constant [4 x i8] c"chan", align 1 +@21 = private unnamed_addr constant [4 x i8] c"chan", align 1 @"map[chan _llgo_int]_llgo_int" = linkonce global ptr null, align 8 @"_llgo_github.com/goplus/llgo/compiler/cl/_testrt/makemap.M" = linkonce global ptr null, align 8 -@20 = private unnamed_addr constant [1 x i8] c"M", align 1 +@22 = private unnamed_addr constant [1 x i8] c"M", align 1 @"map[_llgo_github.com/goplus/llgo/compiler/cl/_testrt/makemap.N]_llgo_string" = linkonce global ptr null, align 8 define void @"github.com/goplus/llgo/compiler/cl/_testrt/makemap.init"() { @@ -408,7 +410,7 @@ _llgo_7: ; preds = %_llgo_2 _llgo_8: ; preds = %_llgo_2 %72 = load ptr, ptr @_llgo_string, align 8 %73 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @13, i64 21 }, ptr %73, align 8 + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @13, i64 90 }, ptr %73, align 8 %74 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %72, 0 %75 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %74, ptr %73, 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %75) @@ -540,7 +542,7 @@ _llgo_7: ; preds = %_llgo_2 _llgo_8: ; preds = %_llgo_2 %69 = load ptr, ptr @_llgo_string, align 8 %70 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @13, i64 21 }, ptr %70, align 8 + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @18, i64 89 }, ptr %70, align 8 %71 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %69, 0 %72 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %71, ptr %70, 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %72) @@ -671,7 +673,7 @@ _llgo_7: ; preds = %_llgo_2 _llgo_8: ; preds = %_llgo_2 %70 = load ptr, ptr @_llgo_string, align 8 %71 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @13, i64 21 }, ptr %71, align 8 + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @20, i64 90 }, ptr %71, align 8 %72 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %70, 0 %73 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %72, ptr %71, 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %73) @@ -1108,7 +1110,7 @@ _llgo_29: ; preds = %_llgo_28 br label %_llgo_30 _llgo_30: ; preds = %_llgo_29, %_llgo_28 - %132 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewNamed"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 50 }, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @18, i64 2 }, i64 17, i64 8, i64 0, i64 0) + %132 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewNamed"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 50 }, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @19, i64 2 }, i64 17, i64 8, i64 0, i64 0) %133 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testrt/makemap.K2", align 8 %134 = icmp eq ptr %133, null br i1 %134, label %_llgo_31, label %_llgo_32 @@ -1159,7 +1161,7 @@ _llgo_38: ; preds = %_llgo_37, %_llgo_36 _llgo_39: ; preds = %_llgo_38 %148 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 34) - %149 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @19, i64 4 }, ptr %148) + %149 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @21, i64 4 }, ptr %148) call void @"github.com/goplus/llgo/runtime/internal/runtime.SetDirectIface"(ptr %149) store ptr %149, ptr @"chan _llgo_int", align 8 br label %_llgo_40 @@ -1171,13 +1173,13 @@ _llgo_40: ; preds = %_llgo_39, %_llgo_38 _llgo_41: ; preds = %_llgo_40 %152 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 34) - %153 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @19, i64 4 }, ptr %152) + %153 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @21, i64 4 }, ptr %152) %154 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 34) %155 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 40) %156 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.ArrayOf"(i64 8, ptr %155) %157 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @0, i64 7 }, ptr %156, i64 0, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false) %158 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 34) - %159 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @19, i64 4 }, ptr %158) + %159 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @21, i64 4 }, ptr %158) %160 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.ArrayOf"(i64 8, ptr %159) %161 = call %"github.com/goplus/llgo/runtime/abi.StructField" @"github.com/goplus/llgo/runtime/internal/runtime.StructField"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @1, i64 4 }, ptr %160, i64 8, %"github.com/goplus/llgo/runtime/internal/runtime.String" zeroinitializer, i1 false) %162 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.Basic"(i64 34) @@ -1204,7 +1206,7 @@ _llgo_41: ; preds = %_llgo_40 br label %_llgo_42 _llgo_42: ; preds = %_llgo_41, %_llgo_40 - %177 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewNamed"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 50 }, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @20, i64 1 }, i64 21, i64 8, i64 0, i64 0) + %177 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.NewNamed"(%"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @4, i64 50 }, %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @22, i64 1 }, i64 21, i64 8, i64 0, i64 0) %178 = load ptr, ptr @"_llgo_github.com/goplus/llgo/compiler/cl/_testrt/makemap.M", align 8 %179 = icmp eq ptr %178, null br i1 %179, label %_llgo_43, label %_llgo_44 diff --git a/compiler/cl/_testrt/strlen/out.ll b/compiler/cl/_testrt/strlen/out.ll index f8cf076a..72a2dc2d 100644 --- a/compiler/cl/_testrt/strlen/out.ll +++ b/compiler/cl/_testrt/strlen/out.ll @@ -14,7 +14,7 @@ _llgo_0: declare void @runtime.cgoUse(%"github.com/goplus/llgo/runtime/internal/runtime.eface") -declare void @"github.com/goplus/llgo/compiler/cl/_testrt/strlen._cgoCheckResult"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @runtime.cgoCheckResult(%"github.com/goplus/llgo/runtime/internal/runtime.eface") define void @"github.com/goplus/llgo/compiler/cl/_testrt/strlen.init"() { _llgo_0: diff --git a/compiler/cl/_testrt/struct/out.ll b/compiler/cl/_testrt/struct/out.ll index 3d595d07..ef4a1ffc 100644 --- a/compiler/cl/_testrt/struct/out.ll +++ b/compiler/cl/_testrt/struct/out.ll @@ -41,7 +41,7 @@ _llgo_0: declare void @runtime.cgoUse(%"github.com/goplus/llgo/runtime/internal/runtime.eface") -declare void @"github.com/goplus/llgo/compiler/cl/_testrt/struct._cgoCheckResult"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @runtime.cgoCheckResult(%"github.com/goplus/llgo/runtime/internal/runtime.eface") define void @"github.com/goplus/llgo/compiler/cl/_testrt/struct.init"() { _llgo_0: diff --git a/compiler/cl/_testrt/tpabi/out.ll b/compiler/cl/_testrt/tpabi/out.ll index a5bf9a9a..d34d0cc4 100644 --- a/compiler/cl/_testrt/tpabi/out.ll +++ b/compiler/cl/_testrt/tpabi/out.ll @@ -23,7 +23,7 @@ source_filename = "github.com/goplus/llgo/compiler/cl/_testrt/tpabi" @5 = private unnamed_addr constant [4 x i8] c"Demo", align 1 @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac" = linkonce global ptr null, align 8 @6 = private unnamed_addr constant [4 x i8] c"Info", align 1 -@7 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 +@7 = private unnamed_addr constant [100 x i8] c"type assertion interface{} -> github.com/goplus/llgo/compiler/cl/_testrt/tpabi.T[string, int] failed", align 1 @8 = private unnamed_addr constant [5 x i8] c"hello", align 1 @"*_llgo_github.com/goplus/llgo/compiler/cl/_testrt/tpabi.T[string,int]" = linkonce global ptr null, align 8 @"_llgo_iface$BP0p_lUsEd-IbbtJVukGmgrdQkqzcoYzSiwgUvgFvUs" = linkonce global ptr null, align 8 @@ -107,7 +107,7 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_0 %38 = load ptr, ptr @_llgo_string, align 8 %39 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 21 }, ptr %39, align 8 + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @7, i64 100 }, ptr %39, align 8 %40 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %38, 0 %41 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %40, ptr %39, 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %41) diff --git a/compiler/cl/_testrt/typalias/out.ll b/compiler/cl/_testrt/typalias/out.ll index 1a1d2911..77bdb859 100644 --- a/compiler/cl/_testrt/typalias/out.ll +++ b/compiler/cl/_testrt/typalias/out.ll @@ -30,7 +30,7 @@ _llgo_0: declare void @runtime.cgoUse(%"github.com/goplus/llgo/runtime/internal/runtime.eface") -declare void @"github.com/goplus/llgo/compiler/cl/_testrt/typalias._cgoCheckResult"(%"github.com/goplus/llgo/runtime/internal/runtime.eface") +declare void @runtime.cgoCheckResult(%"github.com/goplus/llgo/runtime/internal/runtime.eface") define void @"github.com/goplus/llgo/compiler/cl/_testrt/typalias.init"() { _llgo_0: diff --git a/compiler/cl/_testrt/typed/out.ll b/compiler/cl/_testrt/typed/out.ll index d8e2cd8c..9012db20 100644 --- a/compiler/cl/_testrt/typed/out.ll +++ b/compiler/cl/_testrt/typed/out.ll @@ -11,7 +11,7 @@ source_filename = "github.com/goplus/llgo/compiler/cl/_testrt/typed" @1 = private unnamed_addr constant [48 x i8] c"github.com/goplus/llgo/compiler/cl/_testrt/typed", align 1 @2 = private unnamed_addr constant [1 x i8] c"T", align 1 @_llgo_string = linkonce global ptr null, align 8 -@3 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1 +@3 = private unnamed_addr constant [79 x i8] c"type assertion any -> github.com/goplus/llgo/compiler/cl/_testrt/typed.T failed", align 1 @"_llgo_github.com/goplus/llgo/compiler/cl/_testrt/typed.A" = linkonce global ptr null, align 8 @4 = private unnamed_addr constant [1 x i8] c"A", align 1 @_llgo_int = linkonce global ptr null, align 8 @@ -56,7 +56,7 @@ _llgo_1: ; preds = %_llgo_0 _llgo_2: ; preds = %_llgo_0 %12 = load ptr, ptr @_llgo_string, align 8 %13 = call ptr @"github.com/goplus/llgo/runtime/internal/runtime.AllocU"(i64 16) - store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 21 }, ptr %13, align 8 + store %"github.com/goplus/llgo/runtime/internal/runtime.String" { ptr @3, i64 79 }, ptr %13, align 8 %14 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" undef, ptr %12, 0 %15 = insertvalue %"github.com/goplus/llgo/runtime/internal/runtime.eface" %14, ptr %13, 1 call void @"github.com/goplus/llgo/runtime/internal/runtime.Panic"(%"github.com/goplus/llgo/runtime/internal/runtime.eface" %15)