internal/runtime: check abi.KindDirectIface
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,6 @@ source_filename = "main"
|
||||
|
||||
%"github.com/goplus/llgo/internal/runtime.eface" = type { ptr, ptr }
|
||||
%"github.com/goplus/llgo/internal/runtime.String" = type { ptr, i64 }
|
||||
%"github.com/goplus/llgo/internal/abi.Type" = type { i64, i64, i32, i8, i8, i8, i8, { ptr, ptr }, ptr, %"github.com/goplus/llgo/internal/runtime.String", ptr }
|
||||
|
||||
@"main.init$guard" = global i1 false, align 1
|
||||
@_llgo_int8 = linkonce global ptr null, align 8
|
||||
@@ -127,48 +126,39 @@ _llgo_0:
|
||||
br i1 %1, label %_llgo_1, label %_llgo_2
|
||||
|
||||
_llgo_1: ; preds = %_llgo_0
|
||||
%2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 3)
|
||||
%3 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %2, i32 0, i32 6
|
||||
%4 = load i8, ptr %3, align 1
|
||||
%5 = or i8 %4, 32
|
||||
store i8 %5, ptr %3, align 1
|
||||
%2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35)
|
||||
store ptr %2, ptr @_llgo_int8, align 8
|
||||
br label %_llgo_2
|
||||
|
||||
_llgo_2: ; preds = %_llgo_1, %_llgo_0
|
||||
%6 = load ptr, ptr @"*_llgo_int8", align 8
|
||||
%7 = icmp eq ptr %6, null
|
||||
br i1 %7, label %_llgo_3, label %_llgo_4
|
||||
%3 = load ptr, ptr @"*_llgo_int8", align 8
|
||||
%4 = icmp eq ptr %3, null
|
||||
br i1 %4, label %_llgo_3, label %_llgo_4
|
||||
|
||||
_llgo_3: ; preds = %_llgo_2
|
||||
%8 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 3)
|
||||
%9 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %8)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %9)
|
||||
store ptr %9, ptr @"*_llgo_int8", align 8
|
||||
%5 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35)
|
||||
%6 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %5)
|
||||
store ptr %6, ptr @"*_llgo_int8", align 8
|
||||
br label %_llgo_4
|
||||
|
||||
_llgo_4: ; preds = %_llgo_3, %_llgo_2
|
||||
%10 = load ptr, ptr @_llgo_string, align 8
|
||||
%11 = icmp eq ptr %10, null
|
||||
br i1 %11, label %_llgo_5, label %_llgo_6
|
||||
%7 = load ptr, ptr @_llgo_string, align 8
|
||||
%8 = icmp eq ptr %7, null
|
||||
br i1 %8, label %_llgo_5, label %_llgo_6
|
||||
|
||||
_llgo_5: ; preds = %_llgo_4
|
||||
%12 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24)
|
||||
store ptr %12, ptr @_llgo_string, align 8
|
||||
%9 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24)
|
||||
store ptr %9, ptr @_llgo_string, align 8
|
||||
br label %_llgo_6
|
||||
|
||||
_llgo_6: ; preds = %_llgo_5, %_llgo_4
|
||||
%13 = load ptr, ptr @_llgo_int, align 8
|
||||
%14 = icmp eq ptr %13, null
|
||||
br i1 %14, label %_llgo_7, label %_llgo_8
|
||||
%10 = load ptr, ptr @_llgo_int, align 8
|
||||
%11 = icmp eq ptr %10, null
|
||||
br i1 %11, label %_llgo_7, label %_llgo_8
|
||||
|
||||
_llgo_7: ; preds = %_llgo_6
|
||||
%15 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%16 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %15, i32 0, i32 6
|
||||
%17 = load i8, ptr %16, align 1
|
||||
%18 = or i8 %17, 32
|
||||
store i8 %18, ptr %16, align 1
|
||||
store ptr %15, ptr @_llgo_int, align 8
|
||||
%12 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
store ptr %12, ptr @_llgo_int, align 8
|
||||
br label %_llgo_8
|
||||
|
||||
_llgo_8: ; preds = %_llgo_7, %_llgo_6
|
||||
@@ -179,8 +169,6 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr)
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64)
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface")
|
||||
|
||||
@@ -4,7 +4,6 @@ source_filename = "main"
|
||||
%"github.com/goplus/llgo/internal/runtime.Slice" = type { ptr, i64, i64 }
|
||||
%"github.com/goplus/llgo/internal/runtime.String" = type { ptr, i64 }
|
||||
%"github.com/goplus/llgo/internal/runtime.eface" = type { ptr, ptr }
|
||||
%"github.com/goplus/llgo/internal/abi.Type" = type { i64, i64, i32, i8, i8, i8, i8, { ptr, ptr }, ptr, %"github.com/goplus/llgo/internal/runtime.String", ptr }
|
||||
|
||||
@main.a = global i64 0, align 8
|
||||
@main.b = global i64 0, align 8
|
||||
@@ -663,11 +662,7 @@ _llgo_0:
|
||||
br i1 %1, label %_llgo_1, label %_llgo_2
|
||||
|
||||
_llgo_1: ; preds = %_llgo_0
|
||||
%2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%3 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %2, i32 0, i32 6
|
||||
%4 = load i8, ptr %3, align 1
|
||||
%5 = or i8 %4, 32
|
||||
store i8 %5, ptr %3, align 1
|
||||
%2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
store ptr %2, ptr @_llgo_int, align 8
|
||||
br label %_llgo_2
|
||||
|
||||
|
||||
@@ -442,390 +442,332 @@ _llgo_0:
|
||||
br i1 %1, label %_llgo_1, label %_llgo_2
|
||||
|
||||
_llgo_1: ; preds = %_llgo_0
|
||||
%2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 1)
|
||||
%3 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %2, i32 0, i32 6
|
||||
%4 = load i8, ptr %3, align 1
|
||||
%5 = or i8 %4, 32
|
||||
store i8 %5, ptr %3, align 1
|
||||
%2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 33)
|
||||
store ptr %2, ptr @_llgo_bool, align 8
|
||||
br label %_llgo_2
|
||||
|
||||
_llgo_2: ; preds = %_llgo_1, %_llgo_0
|
||||
%6 = load ptr, ptr @_llgo_int, align 8
|
||||
%7 = icmp eq ptr %6, null
|
||||
br i1 %7, label %_llgo_3, label %_llgo_4
|
||||
%3 = load ptr, ptr @_llgo_int, align 8
|
||||
%4 = icmp eq ptr %3, null
|
||||
br i1 %4, label %_llgo_3, label %_llgo_4
|
||||
|
||||
_llgo_3: ; preds = %_llgo_2
|
||||
%8 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%9 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %8, i32 0, i32 6
|
||||
%10 = load i8, ptr %9, align 1
|
||||
%11 = or i8 %10, 32
|
||||
store i8 %11, ptr %9, align 1
|
||||
store ptr %8, ptr @_llgo_int, align 8
|
||||
%5 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
store ptr %5, ptr @_llgo_int, align 8
|
||||
br label %_llgo_4
|
||||
|
||||
_llgo_4: ; preds = %_llgo_3, %_llgo_2
|
||||
%12 = load ptr, ptr @_llgo_int8, align 8
|
||||
%13 = icmp eq ptr %12, null
|
||||
br i1 %13, label %_llgo_5, label %_llgo_6
|
||||
%6 = load ptr, ptr @_llgo_int8, align 8
|
||||
%7 = icmp eq ptr %6, null
|
||||
br i1 %7, label %_llgo_5, label %_llgo_6
|
||||
|
||||
_llgo_5: ; preds = %_llgo_4
|
||||
%14 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 3)
|
||||
%15 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %14, i32 0, i32 6
|
||||
%16 = load i8, ptr %15, align 1
|
||||
%17 = or i8 %16, 32
|
||||
store i8 %17, ptr %15, align 1
|
||||
store ptr %14, ptr @_llgo_int8, align 8
|
||||
%8 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35)
|
||||
store ptr %8, ptr @_llgo_int8, align 8
|
||||
br label %_llgo_6
|
||||
|
||||
_llgo_6: ; preds = %_llgo_5, %_llgo_4
|
||||
%18 = load ptr, ptr @_llgo_int16, align 8
|
||||
%19 = icmp eq ptr %18, null
|
||||
br i1 %19, label %_llgo_7, label %_llgo_8
|
||||
%9 = load ptr, ptr @_llgo_int16, align 8
|
||||
%10 = icmp eq ptr %9, null
|
||||
br i1 %10, label %_llgo_7, label %_llgo_8
|
||||
|
||||
_llgo_7: ; preds = %_llgo_6
|
||||
%20 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 4)
|
||||
%21 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %20, i32 0, i32 6
|
||||
%22 = load i8, ptr %21, align 1
|
||||
%23 = or i8 %22, 32
|
||||
store i8 %23, ptr %21, align 1
|
||||
store ptr %20, ptr @_llgo_int16, align 8
|
||||
%11 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 36)
|
||||
store ptr %11, ptr @_llgo_int16, align 8
|
||||
br label %_llgo_8
|
||||
|
||||
_llgo_8: ; preds = %_llgo_7, %_llgo_6
|
||||
%24 = load ptr, ptr @_llgo_int32, align 8
|
||||
%25 = icmp eq ptr %24, null
|
||||
br i1 %25, label %_llgo_9, label %_llgo_10
|
||||
%12 = load ptr, ptr @_llgo_int32, align 8
|
||||
%13 = icmp eq ptr %12, null
|
||||
br i1 %13, label %_llgo_9, label %_llgo_10
|
||||
|
||||
_llgo_9: ; preds = %_llgo_8
|
||||
%26 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 5)
|
||||
%27 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %26, i32 0, i32 6
|
||||
%28 = load i8, ptr %27, align 1
|
||||
%29 = or i8 %28, 32
|
||||
store i8 %29, ptr %27, align 1
|
||||
store ptr %26, ptr @_llgo_int32, align 8
|
||||
%14 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 37)
|
||||
store ptr %14, ptr @_llgo_int32, align 8
|
||||
br label %_llgo_10
|
||||
|
||||
_llgo_10: ; preds = %_llgo_9, %_llgo_8
|
||||
%30 = load ptr, ptr @_llgo_int64, align 8
|
||||
%31 = icmp eq ptr %30, null
|
||||
br i1 %31, label %_llgo_11, label %_llgo_12
|
||||
%15 = load ptr, ptr @_llgo_int64, align 8
|
||||
%16 = icmp eq ptr %15, null
|
||||
br i1 %16, label %_llgo_11, label %_llgo_12
|
||||
|
||||
_llgo_11: ; preds = %_llgo_10
|
||||
%32 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 6)
|
||||
%33 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %32, i32 0, i32 6
|
||||
%34 = load i8, ptr %33, align 1
|
||||
%35 = or i8 %34, 32
|
||||
store i8 %35, ptr %33, align 1
|
||||
store ptr %32, ptr @_llgo_int64, align 8
|
||||
%17 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 38)
|
||||
store ptr %17, ptr @_llgo_int64, align 8
|
||||
br label %_llgo_12
|
||||
|
||||
_llgo_12: ; preds = %_llgo_11, %_llgo_10
|
||||
%36 = load ptr, ptr @_llgo_uint, align 8
|
||||
%37 = icmp eq ptr %36, null
|
||||
br i1 %37, label %_llgo_13, label %_llgo_14
|
||||
%18 = load ptr, ptr @_llgo_uint, align 8
|
||||
%19 = icmp eq ptr %18, null
|
||||
br i1 %19, label %_llgo_13, label %_llgo_14
|
||||
|
||||
_llgo_13: ; preds = %_llgo_12
|
||||
%38 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 7)
|
||||
%39 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %38, i32 0, i32 6
|
||||
%40 = load i8, ptr %39, align 1
|
||||
%41 = or i8 %40, 32
|
||||
store i8 %41, ptr %39, align 1
|
||||
store ptr %38, ptr @_llgo_uint, align 8
|
||||
%20 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 39)
|
||||
store ptr %20, ptr @_llgo_uint, align 8
|
||||
br label %_llgo_14
|
||||
|
||||
_llgo_14: ; preds = %_llgo_13, %_llgo_12
|
||||
%42 = load ptr, ptr @_llgo_uint8, align 8
|
||||
%43 = icmp eq ptr %42, null
|
||||
br i1 %43, label %_llgo_15, label %_llgo_16
|
||||
%21 = load ptr, ptr @_llgo_uint8, align 8
|
||||
%22 = icmp eq ptr %21, null
|
||||
br i1 %22, label %_llgo_15, label %_llgo_16
|
||||
|
||||
_llgo_15: ; preds = %_llgo_14
|
||||
%44 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 8)
|
||||
%45 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %44, i32 0, i32 6
|
||||
%46 = load i8, ptr %45, align 1
|
||||
%47 = or i8 %46, 32
|
||||
store i8 %47, ptr %45, align 1
|
||||
store ptr %44, ptr @_llgo_uint8, align 8
|
||||
%23 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40)
|
||||
store ptr %23, ptr @_llgo_uint8, align 8
|
||||
br label %_llgo_16
|
||||
|
||||
_llgo_16: ; preds = %_llgo_15, %_llgo_14
|
||||
%48 = load ptr, ptr @_llgo_uint16, align 8
|
||||
%49 = icmp eq ptr %48, null
|
||||
br i1 %49, label %_llgo_17, label %_llgo_18
|
||||
%24 = load ptr, ptr @_llgo_uint16, align 8
|
||||
%25 = icmp eq ptr %24, null
|
||||
br i1 %25, label %_llgo_17, label %_llgo_18
|
||||
|
||||
_llgo_17: ; preds = %_llgo_16
|
||||
%50 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 9)
|
||||
%51 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %50, i32 0, i32 6
|
||||
%52 = load i8, ptr %51, align 1
|
||||
%53 = or i8 %52, 32
|
||||
store i8 %53, ptr %51, align 1
|
||||
store ptr %50, ptr @_llgo_uint16, align 8
|
||||
%26 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 41)
|
||||
store ptr %26, ptr @_llgo_uint16, align 8
|
||||
br label %_llgo_18
|
||||
|
||||
_llgo_18: ; preds = %_llgo_17, %_llgo_16
|
||||
%54 = load ptr, ptr @_llgo_uint32, align 8
|
||||
%55 = icmp eq ptr %54, null
|
||||
br i1 %55, label %_llgo_19, label %_llgo_20
|
||||
%27 = load ptr, ptr @_llgo_uint32, align 8
|
||||
%28 = icmp eq ptr %27, null
|
||||
br i1 %28, label %_llgo_19, label %_llgo_20
|
||||
|
||||
_llgo_19: ; preds = %_llgo_18
|
||||
%56 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 10)
|
||||
%57 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %56, i32 0, i32 6
|
||||
%58 = load i8, ptr %57, align 1
|
||||
%59 = or i8 %58, 32
|
||||
store i8 %59, ptr %57, align 1
|
||||
store ptr %56, ptr @_llgo_uint32, align 8
|
||||
%29 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 42)
|
||||
store ptr %29, ptr @_llgo_uint32, align 8
|
||||
br label %_llgo_20
|
||||
|
||||
_llgo_20: ; preds = %_llgo_19, %_llgo_18
|
||||
%60 = load ptr, ptr @_llgo_uint64, align 8
|
||||
%61 = icmp eq ptr %60, null
|
||||
br i1 %61, label %_llgo_21, label %_llgo_22
|
||||
%30 = load ptr, ptr @_llgo_uint64, align 8
|
||||
%31 = icmp eq ptr %30, null
|
||||
br i1 %31, label %_llgo_21, label %_llgo_22
|
||||
|
||||
_llgo_21: ; preds = %_llgo_20
|
||||
%62 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 11)
|
||||
%63 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %62, i32 0, i32 6
|
||||
%64 = load i8, ptr %63, align 1
|
||||
%65 = or i8 %64, 32
|
||||
store i8 %65, ptr %63, align 1
|
||||
store ptr %62, ptr @_llgo_uint64, align 8
|
||||
%32 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 43)
|
||||
store ptr %32, ptr @_llgo_uint64, align 8
|
||||
br label %_llgo_22
|
||||
|
||||
_llgo_22: ; preds = %_llgo_21, %_llgo_20
|
||||
%66 = load ptr, ptr @_llgo_uintptr, align 8
|
||||
%67 = icmp eq ptr %66, null
|
||||
br i1 %67, label %_llgo_23, label %_llgo_24
|
||||
%33 = load ptr, ptr @_llgo_uintptr, align 8
|
||||
%34 = icmp eq ptr %33, null
|
||||
br i1 %34, label %_llgo_23, label %_llgo_24
|
||||
|
||||
_llgo_23: ; preds = %_llgo_22
|
||||
%68 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 12)
|
||||
%69 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %68, i32 0, i32 6
|
||||
%70 = load i8, ptr %69, align 1
|
||||
%71 = or i8 %70, 32
|
||||
store i8 %71, ptr %69, align 1
|
||||
store ptr %68, ptr @_llgo_uintptr, align 8
|
||||
%35 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44)
|
||||
store ptr %35, ptr @_llgo_uintptr, align 8
|
||||
br label %_llgo_24
|
||||
|
||||
_llgo_24: ; preds = %_llgo_23, %_llgo_22
|
||||
%72 = load ptr, ptr @_llgo_float32, align 8
|
||||
%73 = icmp eq ptr %72, null
|
||||
br i1 %73, label %_llgo_25, label %_llgo_26
|
||||
%36 = load ptr, ptr @_llgo_float32, align 8
|
||||
%37 = icmp eq ptr %36, null
|
||||
br i1 %37, label %_llgo_25, label %_llgo_26
|
||||
|
||||
_llgo_25: ; preds = %_llgo_24
|
||||
%74 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 13)
|
||||
%75 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %74, i32 0, i32 6
|
||||
%76 = load i8, ptr %75, align 1
|
||||
%77 = or i8 %76, 32
|
||||
store i8 %77, ptr %75, align 1
|
||||
store ptr %74, ptr @_llgo_float32, align 8
|
||||
%38 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 45)
|
||||
store ptr %38, ptr @_llgo_float32, align 8
|
||||
br label %_llgo_26
|
||||
|
||||
_llgo_26: ; preds = %_llgo_25, %_llgo_24
|
||||
%78 = load ptr, ptr @_llgo_float64, align 8
|
||||
%79 = icmp eq ptr %78, null
|
||||
br i1 %79, label %_llgo_27, label %_llgo_28
|
||||
%39 = load ptr, ptr @_llgo_float64, align 8
|
||||
%40 = icmp eq ptr %39, null
|
||||
br i1 %40, label %_llgo_27, label %_llgo_28
|
||||
|
||||
_llgo_27: ; preds = %_llgo_26
|
||||
%80 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 14)
|
||||
%81 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %80, i32 0, i32 6
|
||||
%82 = load i8, ptr %81, align 1
|
||||
%83 = or i8 %82, 32
|
||||
store i8 %83, ptr %81, align 1
|
||||
store ptr %80, ptr @_llgo_float64, align 8
|
||||
%41 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 46)
|
||||
store ptr %41, ptr @_llgo_float64, align 8
|
||||
br label %_llgo_28
|
||||
|
||||
_llgo_28: ; preds = %_llgo_27, %_llgo_26
|
||||
%84 = load ptr, ptr @"[10]_llgo_int", align 8
|
||||
%85 = icmp eq ptr %84, null
|
||||
br i1 %85, label %_llgo_29, label %_llgo_30
|
||||
%42 = load ptr, ptr @"[10]_llgo_int", align 8
|
||||
%43 = icmp eq ptr %42, null
|
||||
br i1 %43, label %_llgo_29, label %_llgo_30
|
||||
|
||||
_llgo_29: ; preds = %_llgo_28
|
||||
%86 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%87 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 10, ptr %86)
|
||||
store ptr %87, ptr @"[10]_llgo_int", align 8
|
||||
%44 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%45 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 10, ptr %44)
|
||||
store ptr %45, ptr @"[10]_llgo_int", align 8
|
||||
br label %_llgo_30
|
||||
|
||||
_llgo_30: ; preds = %_llgo_29, %_llgo_28
|
||||
%88 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8
|
||||
%89 = icmp eq ptr %88, null
|
||||
br i1 %89, label %_llgo_31, label %_llgo_32
|
||||
%46 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8
|
||||
%47 = icmp eq ptr %46, null
|
||||
br i1 %47, label %_llgo_31, label %_llgo_32
|
||||
|
||||
_llgo_31: ; preds = %_llgo_30
|
||||
%90 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0)
|
||||
%91 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8
|
||||
%92 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %91, i32 0, i32 0
|
||||
store ptr %90, ptr %92, align 8
|
||||
%93 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %91, i32 0, i32 1
|
||||
store i64 0, ptr %93, align 4
|
||||
%94 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %91, i32 0, i32 2
|
||||
store i64 0, ptr %94, align 4
|
||||
%95 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %91, align 8
|
||||
%96 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0)
|
||||
%97 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8
|
||||
%98 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %97, i32 0, i32 0
|
||||
store ptr %96, ptr %98, align 8
|
||||
%99 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %97, i32 0, i32 1
|
||||
store i64 0, ptr %99, align 4
|
||||
%100 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %97, i32 0, i32 2
|
||||
store i64 0, ptr %100, align 4
|
||||
%101 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %97, align 8
|
||||
%102 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %95, %"github.com/goplus/llgo/internal/runtime.Slice" %101, i1 false)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %102)
|
||||
store ptr %102, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8
|
||||
%48 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0)
|
||||
%49 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8
|
||||
%50 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %49, i32 0, i32 0
|
||||
store ptr %48, ptr %50, align 8
|
||||
%51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %49, i32 0, i32 1
|
||||
store i64 0, ptr %51, align 4
|
||||
%52 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %49, i32 0, i32 2
|
||||
store i64 0, ptr %52, align 4
|
||||
%53 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %49, align 8
|
||||
%54 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 0)
|
||||
%55 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8
|
||||
%56 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %55, i32 0, i32 0
|
||||
store ptr %54, ptr %56, align 8
|
||||
%57 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %55, i32 0, i32 1
|
||||
store i64 0, ptr %57, align 4
|
||||
%58 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %55, i32 0, i32 2
|
||||
store i64 0, ptr %58, align 4
|
||||
%59 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %55, align 8
|
||||
%60 = call ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice" %53, %"github.com/goplus/llgo/internal/runtime.Slice" %59, i1 false)
|
||||
store ptr %60, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8
|
||||
br label %_llgo_32
|
||||
|
||||
_llgo_32: ; preds = %_llgo_31, %_llgo_30
|
||||
%103 = load ptr, ptr @"*_llgo_int", align 8
|
||||
%104 = icmp eq ptr %103, null
|
||||
br i1 %104, label %_llgo_33, label %_llgo_34
|
||||
%61 = load ptr, ptr @"*_llgo_int", align 8
|
||||
%62 = icmp eq ptr %61, null
|
||||
br i1 %62, label %_llgo_33, label %_llgo_34
|
||||
|
||||
_llgo_33: ; preds = %_llgo_32
|
||||
%105 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%106 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %105)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %106)
|
||||
store ptr %106, ptr @"*_llgo_int", align 8
|
||||
%63 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%64 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %63)
|
||||
store ptr %64, ptr @"*_llgo_int", align 8
|
||||
br label %_llgo_34
|
||||
|
||||
_llgo_34: ; preds = %_llgo_33, %_llgo_32
|
||||
%107 = load ptr, ptr @"[]_llgo_int", align 8
|
||||
%108 = icmp eq ptr %107, null
|
||||
br i1 %108, label %_llgo_35, label %_llgo_36
|
||||
%65 = load ptr, ptr @"[]_llgo_int", align 8
|
||||
%66 = icmp eq ptr %65, null
|
||||
br i1 %66, label %_llgo_35, label %_llgo_36
|
||||
|
||||
_llgo_35: ; preds = %_llgo_34
|
||||
%109 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%110 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %109)
|
||||
store ptr %110, ptr @"[]_llgo_int", align 8
|
||||
%67 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%68 = call ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr %67)
|
||||
store ptr %68, ptr @"[]_llgo_int", align 8
|
||||
br label %_llgo_36
|
||||
|
||||
_llgo_36: ; preds = %_llgo_35, %_llgo_34
|
||||
%111 = load ptr, ptr @_llgo_string, align 8
|
||||
%112 = icmp eq ptr %111, null
|
||||
br i1 %112, label %_llgo_37, label %_llgo_38
|
||||
%69 = load ptr, ptr @_llgo_string, align 8
|
||||
%70 = icmp eq ptr %69, null
|
||||
br i1 %70, label %_llgo_37, label %_llgo_38
|
||||
|
||||
_llgo_37: ; preds = %_llgo_36
|
||||
%113 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24)
|
||||
store ptr %113, ptr @_llgo_string, align 8
|
||||
%71 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24)
|
||||
store ptr %71, ptr @_llgo_string, align 8
|
||||
br label %_llgo_38
|
||||
|
||||
_llgo_38: ; preds = %_llgo_37, %_llgo_36
|
||||
%114 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%115 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %114, i32 0, i32 0
|
||||
store ptr @4, ptr %115, align 8
|
||||
%116 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %114, i32 0, i32 1
|
||||
store i64 1, ptr %116, align 4
|
||||
%117 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %114, align 8
|
||||
%118 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%119 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %118, i32 0, i32 0
|
||||
store ptr null, ptr %119, align 8
|
||||
%120 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %118, i32 0, i32 1
|
||||
store i64 0, ptr %120, align 4
|
||||
%121 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %118, align 8
|
||||
%122 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 3)
|
||||
%123 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %117, ptr %122, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %121, i1 false)
|
||||
%124 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%125 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %124, i32 0, i32 0
|
||||
store ptr @5, ptr %125, align 8
|
||||
%126 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %124, i32 0, i32 1
|
||||
store i64 1, ptr %126, align 4
|
||||
%127 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %124, align 8
|
||||
%128 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%129 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %128, i32 0, i32 0
|
||||
store ptr null, ptr %129, align 8
|
||||
%130 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %128, i32 0, i32 1
|
||||
store i64 0, ptr %130, align 4
|
||||
%131 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %128, align 8
|
||||
%132 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%133 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %127, ptr %132, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %131, i1 false)
|
||||
%134 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%135 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %134, i32 0, i32 0
|
||||
store ptr @6, ptr %135, align 8
|
||||
%136 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %134, i32 0, i32 1
|
||||
store i64 1, ptr %136, align 4
|
||||
%137 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %134, align 8
|
||||
%138 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%139 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %138, i32 0, i32 0
|
||||
store ptr null, ptr %139, align 8
|
||||
%140 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %138, i32 0, i32 1
|
||||
store i64 0, ptr %140, align 4
|
||||
%141 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %138, align 8
|
||||
%142 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%143 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %137, ptr %142, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %141, i1 false)
|
||||
%144 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%145 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %144, i32 0, i32 0
|
||||
store ptr @7, ptr %145, align 8
|
||||
%146 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %144, i32 0, i32 1
|
||||
store i64 4, ptr %146, align 4
|
||||
%147 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %144, align 8
|
||||
%148 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168)
|
||||
%149 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %148, i64 0
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %123, ptr %149, align 8
|
||||
%150 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %148, i64 1
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %133, ptr %150, align 8
|
||||
%151 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %148, i64 2
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %143, ptr %151, align 8
|
||||
%152 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8
|
||||
%153 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %152, i32 0, i32 0
|
||||
store ptr %148, ptr %153, align 8
|
||||
%154 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %152, i32 0, i32 1
|
||||
store i64 3, ptr %154, align 4
|
||||
%155 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %152, i32 0, i32 2
|
||||
store i64 3, ptr %155, align 4
|
||||
%156 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %152, align 8
|
||||
%157 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %147, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %156)
|
||||
store ptr %157, ptr @"main.struct$RKbUG45GE4henGMAdmt0Rju0JptyR8NsX7IZLsOI0OM", align 8
|
||||
%158 = load ptr, ptr @_llgo_main.T, align 8
|
||||
%159 = icmp eq ptr %158, null
|
||||
br i1 %159, label %_llgo_39, label %_llgo_40
|
||||
%72 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%73 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %72, i32 0, i32 0
|
||||
store ptr @4, ptr %73, align 8
|
||||
%74 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %72, i32 0, i32 1
|
||||
store i64 1, ptr %74, align 4
|
||||
%75 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %72, align 8
|
||||
%76 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%77 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %76, i32 0, i32 0
|
||||
store ptr null, ptr %77, align 8
|
||||
%78 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %76, i32 0, i32 1
|
||||
store i64 0, ptr %78, align 4
|
||||
%79 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %76, align 8
|
||||
%80 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35)
|
||||
%81 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %75, ptr %80, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %79, i1 false)
|
||||
%82 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%83 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %82, i32 0, i32 0
|
||||
store ptr @5, ptr %83, align 8
|
||||
%84 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %82, i32 0, i32 1
|
||||
store i64 1, ptr %84, align 4
|
||||
%85 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %82, align 8
|
||||
%86 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%87 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %86, i32 0, i32 0
|
||||
store ptr null, ptr %87, align 8
|
||||
%88 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %86, i32 0, i32 1
|
||||
store i64 0, ptr %88, align 4
|
||||
%89 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %86, align 8
|
||||
%90 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%91 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %85, ptr %90, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %89, i1 false)
|
||||
%92 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%93 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %92, i32 0, i32 0
|
||||
store ptr @6, ptr %93, align 8
|
||||
%94 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %92, i32 0, i32 1
|
||||
store i64 1, ptr %94, align 4
|
||||
%95 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %92, align 8
|
||||
%96 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%97 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %96, i32 0, i32 0
|
||||
store ptr null, ptr %97, align 8
|
||||
%98 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %96, i32 0, i32 1
|
||||
store i64 0, ptr %98, align 4
|
||||
%99 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %96, align 8
|
||||
%100 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%101 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %95, ptr %100, i64 16, %"github.com/goplus/llgo/internal/runtime.String" %99, i1 false)
|
||||
%102 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%103 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %102, i32 0, i32 0
|
||||
store ptr @7, ptr %103, align 8
|
||||
%104 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %102, i32 0, i32 1
|
||||
store i64 4, ptr %104, align 4
|
||||
%105 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %102, align 8
|
||||
%106 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 168)
|
||||
%107 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %106, i64 0
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %81, ptr %107, align 8
|
||||
%108 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %106, i64 1
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %91, ptr %108, align 8
|
||||
%109 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %106, i64 2
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %101, ptr %109, align 8
|
||||
%110 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8
|
||||
%111 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %110, i32 0, i32 0
|
||||
store ptr %106, ptr %111, align 8
|
||||
%112 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %110, i32 0, i32 1
|
||||
store i64 3, ptr %112, align 4
|
||||
%113 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %110, i32 0, i32 2
|
||||
store i64 3, ptr %113, align 4
|
||||
%114 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %110, align 8
|
||||
%115 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %105, i64 24, %"github.com/goplus/llgo/internal/runtime.Slice" %114)
|
||||
store ptr %115, ptr @"main.struct$RKbUG45GE4henGMAdmt0Rju0JptyR8NsX7IZLsOI0OM", align 8
|
||||
%116 = load ptr, ptr @_llgo_main.T, align 8
|
||||
%117 = icmp eq ptr %116, null
|
||||
br i1 %117, label %_llgo_39, label %_llgo_40
|
||||
|
||||
_llgo_39: ; preds = %_llgo_38
|
||||
%160 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 24, i64 0, i64 1)
|
||||
store ptr %160, ptr @_llgo_main.T, align 8
|
||||
%118 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 24, i64 0, i64 1)
|
||||
store ptr %118, ptr @_llgo_main.T, align 8
|
||||
br label %_llgo_40
|
||||
|
||||
_llgo_40: ; preds = %_llgo_39, %_llgo_38
|
||||
%161 = load ptr, ptr @_llgo_string, align 8
|
||||
br i1 %159, label %_llgo_41, label %_llgo_42
|
||||
%119 = load ptr, ptr @_llgo_string, align 8
|
||||
br i1 %117, label %_llgo_41, label %_llgo_42
|
||||
|
||||
_llgo_41: ; preds = %_llgo_40
|
||||
%162 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%163 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %162, i32 0, i32 0
|
||||
store ptr @8, ptr %163, align 8
|
||||
%164 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %162, i32 0, i32 1
|
||||
store i64 6, ptr %164, align 4
|
||||
%165 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %162, align 8
|
||||
%166 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8
|
||||
%167 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8
|
||||
%168 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %167, i32 0, i32 0
|
||||
store %"github.com/goplus/llgo/internal/runtime.String" %165, ptr %168, align 8
|
||||
%169 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %167, i32 0, i32 1
|
||||
store ptr %166, ptr %169, align 8
|
||||
%170 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %167, i32 0, i32 2
|
||||
store ptr @"main.(*T).Invoke", ptr %170, align 8
|
||||
%171 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %167, i32 0, i32 3
|
||||
store ptr @"main.(*T).Invoke", ptr %171, align 8
|
||||
%172 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %167, align 8
|
||||
%173 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40)
|
||||
%174 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %173, i64 0
|
||||
store %"github.com/goplus/llgo/internal/abi.Method" %172, ptr %174, align 8
|
||||
%175 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8
|
||||
%176 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %175, i32 0, i32 0
|
||||
store ptr %173, ptr %176, align 8
|
||||
%177 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %175, i32 0, i32 1
|
||||
store i64 1, ptr %177, align 4
|
||||
%178 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %175, i32 0, i32 2
|
||||
store i64 1, ptr %178, align 4
|
||||
%179 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %175, align 8
|
||||
%180 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%181 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %180, i32 0, i32 0
|
||||
store ptr @7, ptr %181, align 8
|
||||
%182 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %180, i32 0, i32 1
|
||||
store i64 4, ptr %182, align 4
|
||||
%183 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %180, align 8
|
||||
%184 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%185 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %184, i32 0, i32 0
|
||||
store ptr @9, ptr %185, align 8
|
||||
%186 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %184, i32 0, i32 1
|
||||
store i64 1, ptr %186, align 4
|
||||
%187 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %184, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %160, %"github.com/goplus/llgo/internal/runtime.String" %183, %"github.com/goplus/llgo/internal/runtime.String" %187, ptr %161, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %179)
|
||||
%120 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%121 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %120, i32 0, i32 0
|
||||
store ptr @8, ptr %121, align 8
|
||||
%122 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %120, i32 0, i32 1
|
||||
store i64 6, ptr %122, align 4
|
||||
%123 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %120, align 8
|
||||
%124 = load ptr, ptr @"_llgo_func$2_iS07vIlF2_rZqWB5eU0IvP_9HviM4MYZNkXZDvbac", align 8
|
||||
%125 = alloca %"github.com/goplus/llgo/internal/abi.Method", align 8
|
||||
%126 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %125, i32 0, i32 0
|
||||
store %"github.com/goplus/llgo/internal/runtime.String" %123, ptr %126, align 8
|
||||
%127 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %125, i32 0, i32 1
|
||||
store ptr %124, ptr %127, align 8
|
||||
%128 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %125, i32 0, i32 2
|
||||
store ptr @"main.(*T).Invoke", ptr %128, align 8
|
||||
%129 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Method", ptr %125, i32 0, i32 3
|
||||
store ptr @"main.(*T).Invoke", ptr %129, align 8
|
||||
%130 = load %"github.com/goplus/llgo/internal/abi.Method", ptr %125, align 8
|
||||
%131 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 40)
|
||||
%132 = getelementptr %"github.com/goplus/llgo/internal/abi.Method", ptr %131, i64 0
|
||||
store %"github.com/goplus/llgo/internal/abi.Method" %130, ptr %132, align 8
|
||||
%133 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8
|
||||
%134 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %133, i32 0, i32 0
|
||||
store ptr %131, ptr %134, align 8
|
||||
%135 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %133, i32 0, i32 1
|
||||
store i64 1, ptr %135, align 4
|
||||
%136 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %133, i32 0, i32 2
|
||||
store i64 1, ptr %136, align 4
|
||||
%137 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %133, align 8
|
||||
%138 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%139 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %138, i32 0, i32 0
|
||||
store ptr @7, ptr %139, align 8
|
||||
%140 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %138, i32 0, i32 1
|
||||
store i64 4, ptr %140, align 4
|
||||
%141 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %138, align 8
|
||||
%142 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%143 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %142, i32 0, i32 0
|
||||
store ptr @9, ptr %143, align 8
|
||||
%144 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %142, i32 0, i32 1
|
||||
store i64 1, ptr %144, align 4
|
||||
%145 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %142, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %118, %"github.com/goplus/llgo/internal/runtime.String" %141, %"github.com/goplus/llgo/internal/runtime.String" %145, ptr %119, { ptr, i64, i64 } zeroinitializer, %"github.com/goplus/llgo/internal/runtime.Slice" %137)
|
||||
br label %_llgo_42
|
||||
|
||||
_llgo_42: ; preds = %_llgo_41, %_llgo_40
|
||||
@@ -840,8 +782,6 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.Func"(%"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice", i1)
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.SliceOf"(ptr)
|
||||
|
||||
@@ -6,7 +6,6 @@ source_filename = "main"
|
||||
%main.N = type { i8, i8 }
|
||||
%"github.com/goplus/llgo/internal/abi.StructField" = type { %"github.com/goplus/llgo/internal/runtime.String", ptr, i64, %"github.com/goplus/llgo/internal/runtime.String", i1 }
|
||||
%"github.com/goplus/llgo/internal/runtime.Slice" = type { ptr, i64, i64 }
|
||||
%"github.com/goplus/llgo/internal/abi.Type" = type { i64, i64, i32, i8, i8, i8, i8, { ptr, ptr }, ptr, %"github.com/goplus/llgo/internal/runtime.String", ptr }
|
||||
|
||||
@"main.init$guard" = global i1 false, align 1
|
||||
@__llgo_argc = global i32 0, align 4
|
||||
@@ -1006,7 +1005,7 @@ _llgo_0:
|
||||
br i1 %1, label %_llgo_1, label %_llgo_2
|
||||
|
||||
_llgo_1: ; preds = %_llgo_0
|
||||
%2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%3 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24)
|
||||
%4 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%5 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %4, i32 0, i32 0
|
||||
@@ -1020,7 +1019,7 @@ _llgo_1: ; preds = %_llgo_0
|
||||
%10 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %8, i32 0, i32 1
|
||||
store i64 0, ptr %10, align 4
|
||||
%11 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %8, align 8
|
||||
%12 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 8)
|
||||
%12 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40)
|
||||
%13 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %12)
|
||||
%14 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %7, ptr %13, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %11, i1 false)
|
||||
%15 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
@@ -1035,7 +1034,7 @@ _llgo_1: ; preds = %_llgo_0
|
||||
%21 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %19, i32 0, i32 1
|
||||
store i64 0, ptr %21, align 4
|
||||
%22 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %19, align 8
|
||||
%23 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%23 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%24 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %23)
|
||||
%25 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %18, ptr %24, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %22, i1 false)
|
||||
%26 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
@@ -1065,7 +1064,7 @@ _llgo_1: ; preds = %_llgo_0
|
||||
%43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %41, i32 0, i32 1
|
||||
store i64 0, ptr %43, align 4
|
||||
%44 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %41, align 8
|
||||
%45 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 26)
|
||||
%45 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58)
|
||||
%46 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %40, ptr %45, i64 200, %"github.com/goplus/llgo/internal/runtime.String" %44, i1 false)
|
||||
%47 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%48 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %47, i32 0, i32 0
|
||||
@@ -1092,7 +1091,6 @@ _llgo_1: ; preds = %_llgo_0
|
||||
%60 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %56, align 8
|
||||
%61 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %50, i64 208, %"github.com/goplus/llgo/internal/runtime.Slice" %60)
|
||||
%62 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %2, ptr %3, ptr %61, i64 4)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %62)
|
||||
store ptr %62, ptr @"map[_llgo_int]_llgo_string", align 8
|
||||
br label %_llgo_2
|
||||
|
||||
@@ -1103,7 +1101,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0
|
||||
|
||||
_llgo_3: ; preds = %_llgo_2
|
||||
%65 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24)
|
||||
%66 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%66 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%67 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%68 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %67, i32 0, i32 0
|
||||
store ptr @0, ptr %68, align 8
|
||||
@@ -1116,7 +1114,7 @@ _llgo_3: ; preds = %_llgo_2
|
||||
%73 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %71, i32 0, i32 1
|
||||
store i64 0, ptr %73, align 4
|
||||
%74 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %71, align 8
|
||||
%75 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 8)
|
||||
%75 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40)
|
||||
%76 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %75)
|
||||
%77 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %70, ptr %76, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %74, i1 false)
|
||||
%78 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
@@ -1146,7 +1144,7 @@ _llgo_3: ; preds = %_llgo_2
|
||||
%95 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %93, i32 0, i32 1
|
||||
store i64 0, ptr %95, align 4
|
||||
%96 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %93, align 8
|
||||
%97 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%97 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%98 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %97)
|
||||
%99 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %92, ptr %98, i64 136, %"github.com/goplus/llgo/internal/runtime.String" %96, i1 false)
|
||||
%100 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
@@ -1161,7 +1159,7 @@ _llgo_3: ; preds = %_llgo_2
|
||||
%106 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %104, i32 0, i32 1
|
||||
store i64 0, ptr %106, align 4
|
||||
%107 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %104, align 8
|
||||
%108 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 26)
|
||||
%108 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58)
|
||||
%109 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %103, ptr %108, i64 200, %"github.com/goplus/llgo/internal/runtime.String" %107, i1 false)
|
||||
%110 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%111 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %110, i32 0, i32 0
|
||||
@@ -1188,7 +1186,6 @@ _llgo_3: ; preds = %_llgo_2
|
||||
%123 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %119, align 8
|
||||
%124 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %113, i64 208, %"github.com/goplus/llgo/internal/runtime.Slice" %123)
|
||||
%125 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %65, ptr %66, ptr %124, i64 12)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %125)
|
||||
store ptr %125, ptr @"map[_llgo_string]_llgo_int", align 8
|
||||
br label %_llgo_4
|
||||
|
||||
@@ -1230,7 +1227,7 @@ _llgo_7: ; preds = %_llgo_6
|
||||
store i64 0, ptr %143, align 4
|
||||
%144 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %141, align 8
|
||||
%145 = call ptr @"github.com/goplus/llgo/internal/runtime.Interface"(%"github.com/goplus/llgo/internal/runtime.String" %140, %"github.com/goplus/llgo/internal/runtime.String" %144, %"github.com/goplus/llgo/internal/runtime.Slice" %136)
|
||||
%146 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%146 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%147 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%148 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %147, i32 0, i32 0
|
||||
store ptr @0, ptr %148, align 8
|
||||
@@ -1243,7 +1240,7 @@ _llgo_7: ; preds = %_llgo_6
|
||||
%153 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %151, i32 0, i32 1
|
||||
store i64 0, ptr %153, align 4
|
||||
%154 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %151, align 8
|
||||
%155 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 8)
|
||||
%155 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40)
|
||||
%156 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %155)
|
||||
%157 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %150, ptr %156, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %154, i1 false)
|
||||
%158 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
@@ -1294,7 +1291,7 @@ _llgo_7: ; preds = %_llgo_6
|
||||
%189 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %187, i32 0, i32 1
|
||||
store i64 0, ptr %189, align 4
|
||||
%190 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %187, align 8
|
||||
%191 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%191 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%192 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %191)
|
||||
%193 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %186, ptr %192, i64 136, %"github.com/goplus/llgo/internal/runtime.String" %190, i1 false)
|
||||
%194 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
@@ -1309,7 +1306,7 @@ _llgo_7: ; preds = %_llgo_6
|
||||
%200 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %198, i32 0, i32 1
|
||||
store i64 0, ptr %200, align 4
|
||||
%201 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %198, align 8
|
||||
%202 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 26)
|
||||
%202 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58)
|
||||
%203 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %197, ptr %202, i64 200, %"github.com/goplus/llgo/internal/runtime.String" %201, i1 false)
|
||||
%204 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%205 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %204, i32 0, i32 0
|
||||
@@ -1336,7 +1333,6 @@ _llgo_7: ; preds = %_llgo_6
|
||||
%217 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %213, align 8
|
||||
%218 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %207, i64 208, %"github.com/goplus/llgo/internal/runtime.Slice" %217)
|
||||
%219 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %145, ptr %146, ptr %218, i64 24)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %219)
|
||||
store ptr %219, ptr @"map[_llgo_any]_llgo_int", align 8
|
||||
br label %_llgo_8
|
||||
|
||||
@@ -1347,364 +1343,347 @@ _llgo_8: ; preds = %_llgo_7, %_llgo_6
|
||||
|
||||
_llgo_9: ; preds = %_llgo_8
|
||||
%222 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 17, i64 0, i64 0)
|
||||
%223 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %222, i32 0, i32 6
|
||||
%224 = load i8, ptr %223, align 1
|
||||
%225 = or i8 %224, 32
|
||||
store i8 %225, ptr %223, align 1
|
||||
store ptr %222, ptr @_llgo_main.N1, align 8
|
||||
br label %_llgo_10
|
||||
|
||||
_llgo_10: ; preds = %_llgo_9, %_llgo_8
|
||||
%226 = load ptr, ptr @_llgo_int, align 8
|
||||
%227 = icmp eq ptr %226, null
|
||||
br i1 %227, label %_llgo_11, label %_llgo_12
|
||||
%223 = load ptr, ptr @_llgo_int, align 8
|
||||
%224 = icmp eq ptr %223, null
|
||||
br i1 %224, label %_llgo_11, label %_llgo_12
|
||||
|
||||
_llgo_11: ; preds = %_llgo_10
|
||||
%228 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%229 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %228, i32 0, i32 6
|
||||
%230 = load i8, ptr %229, align 1
|
||||
%231 = or i8 %230, 32
|
||||
store i8 %231, ptr %229, align 1
|
||||
store ptr %228, ptr @_llgo_int, align 8
|
||||
%225 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
store ptr %225, ptr @_llgo_int, align 8
|
||||
br label %_llgo_12
|
||||
|
||||
_llgo_12: ; preds = %_llgo_11, %_llgo_10
|
||||
%232 = load ptr, ptr @_llgo_int, align 8
|
||||
%233 = load ptr, ptr @"[1]_llgo_int", align 8
|
||||
%234 = icmp eq ptr %233, null
|
||||
br i1 %234, label %_llgo_13, label %_llgo_14
|
||||
%226 = load ptr, ptr @_llgo_int, align 8
|
||||
%227 = load ptr, ptr @"[1]_llgo_int", align 8
|
||||
%228 = icmp eq ptr %227, null
|
||||
br i1 %228, label %_llgo_13, label %_llgo_14
|
||||
|
||||
_llgo_13: ; preds = %_llgo_12
|
||||
%235 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%236 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %235)
|
||||
%237 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %236, i32 0, i32 6
|
||||
%238 = load i8, ptr %237, align 1
|
||||
%239 = or i8 %238, 32
|
||||
store i8 %239, ptr %237, align 1
|
||||
store ptr %236, ptr @"[1]_llgo_int", align 8
|
||||
%229 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%230 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %229)
|
||||
store ptr %230, ptr @"[1]_llgo_int", align 8
|
||||
br label %_llgo_14
|
||||
|
||||
_llgo_14: ; preds = %_llgo_13, %_llgo_12
|
||||
%240 = load ptr, ptr @"[1]_llgo_int", align 8
|
||||
%231 = load ptr, ptr @"[1]_llgo_int", align 8
|
||||
br i1 %221, label %_llgo_15, label %_llgo_16
|
||||
|
||||
_llgo_15: ; preds = %_llgo_14
|
||||
%241 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%242 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %241, i32 0, i32 0
|
||||
store ptr @4, ptr %242, align 8
|
||||
%243 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %241, i32 0, i32 1
|
||||
store i64 4, ptr %243, align 4
|
||||
%244 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %241, align 8
|
||||
%245 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%246 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %245, i32 0, i32 0
|
||||
store ptr @12, ptr %246, align 8
|
||||
%247 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %245, i32 0, i32 1
|
||||
store i64 2, ptr %247, align 4
|
||||
%248 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %245, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %222, %"github.com/goplus/llgo/internal/runtime.String" %244, %"github.com/goplus/llgo/internal/runtime.String" %248, ptr %240, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
|
||||
%232 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%233 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %232, i32 0, i32 0
|
||||
store ptr @4, ptr %233, align 8
|
||||
%234 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %232, i32 0, i32 1
|
||||
store i64 4, ptr %234, align 4
|
||||
%235 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %232, align 8
|
||||
%236 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%237 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %236, i32 0, i32 0
|
||||
store ptr @12, ptr %237, align 8
|
||||
%238 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %236, i32 0, i32 1
|
||||
store i64 2, ptr %238, align 4
|
||||
%239 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %236, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %222, %"github.com/goplus/llgo/internal/runtime.String" %235, %"github.com/goplus/llgo/internal/runtime.String" %239, ptr %231, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
|
||||
br label %_llgo_16
|
||||
|
||||
_llgo_16: ; preds = %_llgo_15, %_llgo_14
|
||||
%249 = load ptr, ptr @_llgo_main.K, align 8
|
||||
%250 = icmp eq ptr %249, null
|
||||
br i1 %250, label %_llgo_17, label %_llgo_18
|
||||
%240 = load ptr, ptr @_llgo_main.K, align 8
|
||||
%241 = icmp eq ptr %240, null
|
||||
br i1 %241, label %_llgo_17, label %_llgo_18
|
||||
|
||||
_llgo_17: ; preds = %_llgo_16
|
||||
%251 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 17, i64 0, i64 0)
|
||||
store ptr %251, ptr @_llgo_main.K, align 8
|
||||
%242 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 17, i64 0, i64 0)
|
||||
store ptr %242, ptr @_llgo_main.K, align 8
|
||||
br label %_llgo_18
|
||||
|
||||
_llgo_18: ; preds = %_llgo_17, %_llgo_16
|
||||
%252 = load ptr, ptr @_llgo_main.N, align 8
|
||||
%253 = icmp eq ptr %252, null
|
||||
br i1 %253, label %_llgo_19, label %_llgo_20
|
||||
%243 = load ptr, ptr @_llgo_main.N, align 8
|
||||
%244 = icmp eq ptr %243, null
|
||||
br i1 %244, label %_llgo_19, label %_llgo_20
|
||||
|
||||
_llgo_19: ; preds = %_llgo_18
|
||||
%254 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 0, i64 0)
|
||||
store ptr %254, ptr @_llgo_main.N, align 8
|
||||
%245 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 25, i64 0, i64 0)
|
||||
store ptr %245, ptr @_llgo_main.N, align 8
|
||||
br label %_llgo_20
|
||||
|
||||
_llgo_20: ; preds = %_llgo_19, %_llgo_18
|
||||
%255 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%256 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %255, i32 0, i32 0
|
||||
store ptr @14, ptr %256, align 8
|
||||
%257 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %255, i32 0, i32 1
|
||||
store i64 2, ptr %257, align 4
|
||||
%258 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %255, align 8
|
||||
%259 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%260 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %259, i32 0, i32 0
|
||||
store ptr null, ptr %260, align 8
|
||||
%261 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %259, i32 0, i32 1
|
||||
store i64 0, ptr %261, align 4
|
||||
%262 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %259, align 8
|
||||
%263 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 3)
|
||||
%264 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %258, ptr %263, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %262, i1 false)
|
||||
%265 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%266 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %265, i32 0, i32 0
|
||||
store ptr @15, ptr %266, align 8
|
||||
%267 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %265, i32 0, i32 1
|
||||
store i64 2, ptr %267, align 4
|
||||
%268 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %265, align 8
|
||||
%269 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%270 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %269, i32 0, i32 0
|
||||
store ptr null, ptr %270, align 8
|
||||
%271 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %269, i32 0, i32 1
|
||||
store i64 0, ptr %271, align 4
|
||||
%272 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %269, align 8
|
||||
%273 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 3)
|
||||
%274 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %268, ptr %273, i64 1, %"github.com/goplus/llgo/internal/runtime.String" %272, i1 false)
|
||||
%275 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%276 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %275, i32 0, i32 0
|
||||
store ptr @4, ptr %276, align 8
|
||||
%277 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %275, i32 0, i32 1
|
||||
store i64 4, ptr %277, align 4
|
||||
%278 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %275, align 8
|
||||
%279 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112)
|
||||
%280 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %279, i64 0
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %264, ptr %280, align 8
|
||||
%281 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %279, i64 1
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %274, ptr %281, align 8
|
||||
%282 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8
|
||||
%283 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %282, i32 0, i32 0
|
||||
store ptr %279, ptr %283, align 8
|
||||
%284 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %282, i32 0, i32 1
|
||||
store i64 2, ptr %284, align 4
|
||||
%285 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %282, i32 0, i32 2
|
||||
store i64 2, ptr %285, align 4
|
||||
%286 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %282, align 8
|
||||
%287 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %278, i64 2, %"github.com/goplus/llgo/internal/runtime.Slice" %286)
|
||||
store ptr %287, ptr @"main.struct$e65EDK9vxC36Nz3YTgO1ulssLlNH03Bva_WWaCjH-4A", align 8
|
||||
%288 = load ptr, ptr @"main.struct$e65EDK9vxC36Nz3YTgO1ulssLlNH03Bva_WWaCjH-4A", align 8
|
||||
br i1 %253, label %_llgo_21, label %_llgo_22
|
||||
%246 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%247 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %246, i32 0, i32 0
|
||||
store ptr @14, ptr %247, align 8
|
||||
%248 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %246, i32 0, i32 1
|
||||
store i64 2, ptr %248, align 4
|
||||
%249 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %246, align 8
|
||||
%250 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%251 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %250, i32 0, i32 0
|
||||
store ptr null, ptr %251, align 8
|
||||
%252 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %250, i32 0, i32 1
|
||||
store i64 0, ptr %252, align 4
|
||||
%253 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %250, align 8
|
||||
%254 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35)
|
||||
%255 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %249, ptr %254, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %253, i1 false)
|
||||
%256 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%257 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %256, i32 0, i32 0
|
||||
store ptr @15, ptr %257, align 8
|
||||
%258 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %256, i32 0, i32 1
|
||||
store i64 2, ptr %258, align 4
|
||||
%259 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %256, align 8
|
||||
%260 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%261 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %260, i32 0, i32 0
|
||||
store ptr null, ptr %261, align 8
|
||||
%262 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %260, i32 0, i32 1
|
||||
store i64 0, ptr %262, align 4
|
||||
%263 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %260, align 8
|
||||
%264 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 35)
|
||||
%265 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %259, ptr %264, i64 1, %"github.com/goplus/llgo/internal/runtime.String" %263, i1 false)
|
||||
%266 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%267 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %266, i32 0, i32 0
|
||||
store ptr @4, ptr %267, align 8
|
||||
%268 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %266, i32 0, i32 1
|
||||
store i64 4, ptr %268, align 4
|
||||
%269 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %266, align 8
|
||||
%270 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 112)
|
||||
%271 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %270, i64 0
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %255, ptr %271, align 8
|
||||
%272 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %270, i64 1
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %265, ptr %272, align 8
|
||||
%273 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8
|
||||
%274 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %273, i32 0, i32 0
|
||||
store ptr %270, ptr %274, align 8
|
||||
%275 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %273, i32 0, i32 1
|
||||
store i64 2, ptr %275, align 4
|
||||
%276 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %273, i32 0, i32 2
|
||||
store i64 2, ptr %276, align 4
|
||||
%277 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %273, align 8
|
||||
%278 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %269, i64 2, %"github.com/goplus/llgo/internal/runtime.Slice" %277)
|
||||
store ptr %278, ptr @"main.struct$e65EDK9vxC36Nz3YTgO1ulssLlNH03Bva_WWaCjH-4A", align 8
|
||||
%279 = load ptr, ptr @"main.struct$e65EDK9vxC36Nz3YTgO1ulssLlNH03Bva_WWaCjH-4A", align 8
|
||||
br i1 %244, label %_llgo_21, label %_llgo_22
|
||||
|
||||
_llgo_21: ; preds = %_llgo_20
|
||||
%289 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%290 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %289, i32 0, i32 0
|
||||
store ptr @4, ptr %290, align 8
|
||||
%291 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %289, i32 0, i32 1
|
||||
store i64 4, ptr %291, align 4
|
||||
%292 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %289, align 8
|
||||
%293 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%294 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %293, i32 0, i32 0
|
||||
store ptr @16, ptr %294, align 8
|
||||
%295 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %293, i32 0, i32 1
|
||||
store i64 1, ptr %295, align 4
|
||||
%296 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %293, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %254, %"github.com/goplus/llgo/internal/runtime.String" %292, %"github.com/goplus/llgo/internal/runtime.String" %296, ptr %288, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
|
||||
%280 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%281 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %280, i32 0, i32 0
|
||||
store ptr @4, ptr %281, align 8
|
||||
%282 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %280, i32 0, i32 1
|
||||
store i64 4, ptr %282, align 4
|
||||
%283 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %280, align 8
|
||||
%284 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%285 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %284, i32 0, i32 0
|
||||
store ptr @16, ptr %285, align 8
|
||||
%286 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %284, i32 0, i32 1
|
||||
store i64 1, ptr %286, align 4
|
||||
%287 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %284, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %245, %"github.com/goplus/llgo/internal/runtime.String" %283, %"github.com/goplus/llgo/internal/runtime.String" %287, ptr %279, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
|
||||
br label %_llgo_22
|
||||
|
||||
_llgo_22: ; preds = %_llgo_21, %_llgo_20
|
||||
%297 = load ptr, ptr @_llgo_main.N, align 8
|
||||
%298 = load ptr, ptr @"[1]_llgo_main.N", align 8
|
||||
%299 = icmp eq ptr %298, null
|
||||
br i1 %299, label %_llgo_23, label %_llgo_24
|
||||
%288 = load ptr, ptr @_llgo_main.N, align 8
|
||||
%289 = load ptr, ptr @"[1]_llgo_main.N", align 8
|
||||
%290 = icmp eq ptr %289, null
|
||||
br i1 %290, label %_llgo_23, label %_llgo_24
|
||||
|
||||
_llgo_23: ; preds = %_llgo_22
|
||||
%300 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %254)
|
||||
store ptr %300, ptr @"[1]_llgo_main.N", align 8
|
||||
%291 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %245)
|
||||
store ptr %291, ptr @"[1]_llgo_main.N", align 8
|
||||
br label %_llgo_24
|
||||
|
||||
_llgo_24: ; preds = %_llgo_23, %_llgo_22
|
||||
%301 = load ptr, ptr @"[1]_llgo_main.N", align 8
|
||||
br i1 %250, label %_llgo_25, label %_llgo_26
|
||||
%292 = load ptr, ptr @"[1]_llgo_main.N", align 8
|
||||
br i1 %241, label %_llgo_25, label %_llgo_26
|
||||
|
||||
_llgo_25: ; preds = %_llgo_24
|
||||
%302 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%303 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %302, i32 0, i32 0
|
||||
store ptr @4, ptr %303, align 8
|
||||
%304 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %302, i32 0, i32 1
|
||||
store i64 4, ptr %304, align 4
|
||||
%305 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %302, align 8
|
||||
%306 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%307 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %306, i32 0, i32 0
|
||||
store ptr @17, ptr %307, align 8
|
||||
%308 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %306, i32 0, i32 1
|
||||
store i64 1, ptr %308, align 4
|
||||
%309 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %306, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %251, %"github.com/goplus/llgo/internal/runtime.String" %305, %"github.com/goplus/llgo/internal/runtime.String" %309, ptr %301, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
|
||||
%293 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%294 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %293, i32 0, i32 0
|
||||
store ptr @4, ptr %294, align 8
|
||||
%295 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %293, i32 0, i32 1
|
||||
store i64 4, ptr %295, align 4
|
||||
%296 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %293, align 8
|
||||
%297 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%298 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %297, i32 0, i32 0
|
||||
store ptr @17, ptr %298, align 8
|
||||
%299 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %297, i32 0, i32 1
|
||||
store i64 1, ptr %299, align 4
|
||||
%300 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %297, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %242, %"github.com/goplus/llgo/internal/runtime.String" %296, %"github.com/goplus/llgo/internal/runtime.String" %300, ptr %292, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
|
||||
br label %_llgo_26
|
||||
|
||||
_llgo_26: ; preds = %_llgo_25, %_llgo_24
|
||||
%310 = load ptr, ptr @_llgo_main.K2, align 8
|
||||
%311 = icmp eq ptr %310, null
|
||||
br i1 %311, label %_llgo_27, label %_llgo_28
|
||||
%301 = load ptr, ptr @_llgo_main.K2, align 8
|
||||
%302 = icmp eq ptr %301, null
|
||||
br i1 %302, label %_llgo_27, label %_llgo_28
|
||||
|
||||
_llgo_27: ; preds = %_llgo_26
|
||||
%312 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 17, i64 0, i64 0)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %312)
|
||||
store ptr %312, ptr @_llgo_main.K2, align 8
|
||||
%303 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 17, i64 0, i64 0)
|
||||
store ptr %303, ptr @_llgo_main.K2, align 8
|
||||
br label %_llgo_28
|
||||
|
||||
_llgo_28: ; preds = %_llgo_27, %_llgo_26
|
||||
%313 = load ptr, ptr @"*_llgo_main.N", align 8
|
||||
%314 = icmp eq ptr %313, null
|
||||
br i1 %314, label %_llgo_29, label %_llgo_30
|
||||
%304 = load ptr, ptr @"*_llgo_main.N", align 8
|
||||
%305 = icmp eq ptr %304, null
|
||||
br i1 %305, label %_llgo_29, label %_llgo_30
|
||||
|
||||
_llgo_29: ; preds = %_llgo_28
|
||||
%315 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %254)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %315)
|
||||
store ptr %315, ptr @"*_llgo_main.N", align 8
|
||||
%306 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %245)
|
||||
store ptr %306, ptr @"*_llgo_main.N", align 8
|
||||
br label %_llgo_30
|
||||
|
||||
_llgo_30: ; preds = %_llgo_29, %_llgo_28
|
||||
%316 = load ptr, ptr @"*_llgo_main.N", align 8
|
||||
%317 = load ptr, ptr @"[1]*_llgo_main.N", align 8
|
||||
%318 = icmp eq ptr %317, null
|
||||
br i1 %318, label %_llgo_31, label %_llgo_32
|
||||
%307 = load ptr, ptr @"*_llgo_main.N", align 8
|
||||
%308 = load ptr, ptr @"[1]*_llgo_main.N", align 8
|
||||
%309 = icmp eq ptr %308, null
|
||||
br i1 %309, label %_llgo_31, label %_llgo_32
|
||||
|
||||
_llgo_31: ; preds = %_llgo_30
|
||||
%319 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %254)
|
||||
%320 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %319)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %320)
|
||||
store ptr %320, ptr @"[1]*_llgo_main.N", align 8
|
||||
%310 = call ptr @"github.com/goplus/llgo/internal/runtime.PointerTo"(ptr %245)
|
||||
%311 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 1, ptr %310)
|
||||
store ptr %311, ptr @"[1]*_llgo_main.N", align 8
|
||||
br label %_llgo_32
|
||||
|
||||
_llgo_32: ; preds = %_llgo_31, %_llgo_30
|
||||
%321 = load ptr, ptr @"[1]*_llgo_main.N", align 8
|
||||
br i1 %311, label %_llgo_33, label %_llgo_34
|
||||
%312 = load ptr, ptr @"[1]*_llgo_main.N", align 8
|
||||
br i1 %302, label %_llgo_33, label %_llgo_34
|
||||
|
||||
_llgo_33: ; preds = %_llgo_32
|
||||
%322 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%323 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %322, i32 0, i32 0
|
||||
store ptr @4, ptr %323, align 8
|
||||
%324 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %322, i32 0, i32 1
|
||||
store i64 4, ptr %324, align 4
|
||||
%325 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %322, align 8
|
||||
%326 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%327 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %326, i32 0, i32 0
|
||||
store ptr @18, ptr %327, align 8
|
||||
%328 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %326, i32 0, i32 1
|
||||
store i64 2, ptr %328, align 4
|
||||
%329 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %326, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %312, %"github.com/goplus/llgo/internal/runtime.String" %325, %"github.com/goplus/llgo/internal/runtime.String" %329, ptr %321, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
|
||||
%313 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%314 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %313, i32 0, i32 0
|
||||
store ptr @4, ptr %314, align 8
|
||||
%315 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %313, i32 0, i32 1
|
||||
store i64 4, ptr %315, align 4
|
||||
%316 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %313, align 8
|
||||
%317 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%318 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %317, i32 0, i32 0
|
||||
store ptr @18, ptr %318, align 8
|
||||
%319 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %317, i32 0, i32 1
|
||||
store i64 2, ptr %319, align 4
|
||||
%320 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %317, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %303, %"github.com/goplus/llgo/internal/runtime.String" %316, %"github.com/goplus/llgo/internal/runtime.String" %320, ptr %312, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
|
||||
br label %_llgo_34
|
||||
|
||||
_llgo_34: ; preds = %_llgo_33, %_llgo_32
|
||||
%330 = load ptr, ptr @"chan _llgo_int", align 8
|
||||
%331 = icmp eq ptr %330, null
|
||||
br i1 %331, label %_llgo_35, label %_llgo_36
|
||||
%321 = load ptr, ptr @"chan _llgo_int", align 8
|
||||
%322 = icmp eq ptr %321, null
|
||||
br i1 %322, label %_llgo_35, label %_llgo_36
|
||||
|
||||
_llgo_35: ; preds = %_llgo_34
|
||||
%332 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%333 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %332, i32 0, i32 0
|
||||
store ptr @19, ptr %333, align 8
|
||||
%334 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %332, i32 0, i32 1
|
||||
store i64 4, ptr %334, align 4
|
||||
%335 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %332, align 8
|
||||
%336 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%337 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" %335, ptr %336)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %337)
|
||||
store ptr %337, ptr @"chan _llgo_int", align 8
|
||||
%323 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%324 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %323, i32 0, i32 0
|
||||
store ptr @19, ptr %324, align 8
|
||||
%325 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %323, i32 0, i32 1
|
||||
store i64 4, ptr %325, align 4
|
||||
%326 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %323, align 8
|
||||
%327 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%328 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" %326, ptr %327)
|
||||
store ptr %328, ptr @"chan _llgo_int", align 8
|
||||
br label %_llgo_36
|
||||
|
||||
_llgo_36: ; preds = %_llgo_35, %_llgo_34
|
||||
%338 = load ptr, ptr @"map[chan _llgo_int]_llgo_int", align 8
|
||||
%339 = icmp eq ptr %338, null
|
||||
br i1 %339, label %_llgo_37, label %_llgo_38
|
||||
%329 = load ptr, ptr @"map[chan _llgo_int]_llgo_int", align 8
|
||||
%330 = icmp eq ptr %329, null
|
||||
br i1 %330, label %_llgo_37, label %_llgo_38
|
||||
|
||||
_llgo_37: ; preds = %_llgo_36
|
||||
%340 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%341 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %340, i32 0, i32 0
|
||||
store ptr @19, ptr %341, align 8
|
||||
%342 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %340, i32 0, i32 1
|
||||
store i64 4, ptr %342, align 4
|
||||
%343 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %340, align 8
|
||||
%344 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%345 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" %343, ptr %344)
|
||||
%346 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%347 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%348 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %347, i32 0, i32 0
|
||||
store ptr @0, ptr %348, align 8
|
||||
%349 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %347, i32 0, i32 1
|
||||
store i64 7, ptr %349, align 4
|
||||
%350 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %347, align 8
|
||||
%351 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%352 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %351, i32 0, i32 0
|
||||
store ptr null, ptr %352, align 8
|
||||
%353 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %351, i32 0, i32 1
|
||||
store i64 0, ptr %353, align 4
|
||||
%354 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %351, align 8
|
||||
%355 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 8)
|
||||
%356 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %355)
|
||||
%357 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %350, ptr %356, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %354, i1 false)
|
||||
%358 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%359 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %358, i32 0, i32 0
|
||||
store ptr @1, ptr %359, align 8
|
||||
%360 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %358, i32 0, i32 1
|
||||
store i64 4, ptr %360, align 4
|
||||
%361 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %358, align 8
|
||||
%362 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%363 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %362, i32 0, i32 0
|
||||
store ptr null, ptr %363, align 8
|
||||
%364 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %362, i32 0, i32 1
|
||||
store i64 0, ptr %364, align 4
|
||||
%365 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %362, align 8
|
||||
%366 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%367 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %366, i32 0, i32 0
|
||||
store ptr @19, ptr %367, align 8
|
||||
%368 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %366, i32 0, i32 1
|
||||
store i64 4, ptr %368, align 4
|
||||
%369 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %366, align 8
|
||||
%370 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%371 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" %369, ptr %370)
|
||||
%372 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %371)
|
||||
%373 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %361, ptr %372, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %365, i1 false)
|
||||
%374 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%375 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %374, i32 0, i32 0
|
||||
store ptr @2, ptr %375, align 8
|
||||
%376 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %374, i32 0, i32 1
|
||||
store i64 5, ptr %376, align 4
|
||||
%377 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %374, align 8
|
||||
%378 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%379 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %378, i32 0, i32 0
|
||||
store ptr null, ptr %379, align 8
|
||||
%380 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %378, i32 0, i32 1
|
||||
store i64 0, ptr %380, align 4
|
||||
%381 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %378, align 8
|
||||
%382 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%383 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %382)
|
||||
%384 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %377, ptr %383, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %381, i1 false)
|
||||
%385 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%386 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %385, i32 0, i32 0
|
||||
store ptr @3, ptr %386, align 8
|
||||
%387 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %385, i32 0, i32 1
|
||||
store i64 8, ptr %387, align 4
|
||||
%388 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %385, align 8
|
||||
%389 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%390 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %389, i32 0, i32 0
|
||||
store ptr null, ptr %390, align 8
|
||||
%391 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %389, i32 0, i32 1
|
||||
store i64 0, ptr %391, align 4
|
||||
%392 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %389, align 8
|
||||
%393 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 26)
|
||||
%394 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %388, ptr %393, i64 136, %"github.com/goplus/llgo/internal/runtime.String" %392, i1 false)
|
||||
%395 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%396 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %395, i32 0, i32 0
|
||||
store ptr @4, ptr %396, align 8
|
||||
%397 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %395, i32 0, i32 1
|
||||
%331 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%332 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %331, i32 0, i32 0
|
||||
store ptr @19, ptr %332, align 8
|
||||
%333 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %331, i32 0, i32 1
|
||||
store i64 4, ptr %333, align 4
|
||||
%334 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %331, align 8
|
||||
%335 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%336 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" %334, ptr %335)
|
||||
%337 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%338 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%339 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %338, i32 0, i32 0
|
||||
store ptr @0, ptr %339, align 8
|
||||
%340 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %338, i32 0, i32 1
|
||||
store i64 7, ptr %340, align 4
|
||||
%341 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %338, align 8
|
||||
%342 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%343 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %342, i32 0, i32 0
|
||||
store ptr null, ptr %343, align 8
|
||||
%344 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %342, i32 0, i32 1
|
||||
store i64 0, ptr %344, align 4
|
||||
%345 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %342, align 8
|
||||
%346 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40)
|
||||
%347 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %346)
|
||||
%348 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %341, ptr %347, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %345, i1 false)
|
||||
%349 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%350 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %349, i32 0, i32 0
|
||||
store ptr @1, ptr %350, align 8
|
||||
%351 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %349, i32 0, i32 1
|
||||
store i64 4, ptr %351, align 4
|
||||
%352 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %349, align 8
|
||||
%353 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%354 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %353, i32 0, i32 0
|
||||
store ptr null, ptr %354, align 8
|
||||
%355 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %353, i32 0, i32 1
|
||||
store i64 0, ptr %355, align 4
|
||||
%356 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %353, align 8
|
||||
%357 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%358 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %357, i32 0, i32 0
|
||||
store ptr @19, ptr %358, align 8
|
||||
%359 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %357, i32 0, i32 1
|
||||
store i64 4, ptr %359, align 4
|
||||
%360 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %357, align 8
|
||||
%361 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%362 = call ptr @"github.com/goplus/llgo/internal/runtime.ChanOf"(i64 3, %"github.com/goplus/llgo/internal/runtime.String" %360, ptr %361)
|
||||
%363 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %362)
|
||||
%364 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %352, ptr %363, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %356, i1 false)
|
||||
%365 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%366 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %365, i32 0, i32 0
|
||||
store ptr @2, ptr %366, align 8
|
||||
%367 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %365, i32 0, i32 1
|
||||
store i64 5, ptr %367, align 4
|
||||
%368 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %365, align 8
|
||||
%369 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%370 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %369, i32 0, i32 0
|
||||
store ptr null, ptr %370, align 8
|
||||
%371 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %369, i32 0, i32 1
|
||||
store i64 0, ptr %371, align 4
|
||||
%372 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %369, align 8
|
||||
%373 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%374 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %373)
|
||||
%375 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %368, ptr %374, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %372, i1 false)
|
||||
%376 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%377 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %376, i32 0, i32 0
|
||||
store ptr @3, ptr %377, align 8
|
||||
%378 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %376, i32 0, i32 1
|
||||
store i64 8, ptr %378, align 4
|
||||
%379 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %376, align 8
|
||||
%380 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%381 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %380, i32 0, i32 0
|
||||
store ptr null, ptr %381, align 8
|
||||
%382 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %380, i32 0, i32 1
|
||||
store i64 0, ptr %382, align 4
|
||||
%383 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %380, align 8
|
||||
%384 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 58)
|
||||
%385 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %379, ptr %384, i64 136, %"github.com/goplus/llgo/internal/runtime.String" %383, i1 false)
|
||||
%386 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%387 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %386, i32 0, i32 0
|
||||
store ptr @4, ptr %387, align 8
|
||||
%388 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %386, i32 0, i32 1
|
||||
store i64 4, ptr %388, align 4
|
||||
%389 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %386, align 8
|
||||
%390 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224)
|
||||
%391 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %390, i64 0
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %348, ptr %391, align 8
|
||||
%392 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %390, i64 1
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %364, ptr %392, align 8
|
||||
%393 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %390, i64 2
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %375, ptr %393, align 8
|
||||
%394 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %390, i64 3
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %385, ptr %394, align 8
|
||||
%395 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8
|
||||
%396 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %395, i32 0, i32 0
|
||||
store ptr %390, ptr %396, align 8
|
||||
%397 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %395, i32 0, i32 1
|
||||
store i64 4, ptr %397, align 4
|
||||
%398 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %395, align 8
|
||||
%399 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 224)
|
||||
%400 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %399, i64 0
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %357, ptr %400, align 8
|
||||
%401 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %399, i64 1
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %373, ptr %401, align 8
|
||||
%402 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %399, i64 2
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %384, ptr %402, align 8
|
||||
%403 = getelementptr %"github.com/goplus/llgo/internal/abi.StructField", ptr %399, i64 3
|
||||
store %"github.com/goplus/llgo/internal/abi.StructField" %394, ptr %403, align 8
|
||||
%404 = alloca %"github.com/goplus/llgo/internal/runtime.Slice", align 8
|
||||
%405 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %404, i32 0, i32 0
|
||||
store ptr %399, ptr %405, align 8
|
||||
%406 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %404, i32 0, i32 1
|
||||
store i64 4, ptr %406, align 4
|
||||
%407 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %404, i32 0, i32 2
|
||||
store i64 4, ptr %407, align 4
|
||||
%408 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %404, align 8
|
||||
%409 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %398, i64 144, %"github.com/goplus/llgo/internal/runtime.Slice" %408)
|
||||
%410 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %345, ptr %346, ptr %409, i64 4)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %410)
|
||||
store ptr %410, ptr @"map[chan _llgo_int]_llgo_int", align 8
|
||||
%398 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.Slice", ptr %395, i32 0, i32 2
|
||||
store i64 4, ptr %398, align 4
|
||||
%399 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %395, align 8
|
||||
%400 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %389, i64 144, %"github.com/goplus/llgo/internal/runtime.Slice" %399)
|
||||
%401 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %336, ptr %337, ptr %400, i64 4)
|
||||
store ptr %401, ptr @"map[chan _llgo_int]_llgo_int", align 8
|
||||
br label %_llgo_38
|
||||
|
||||
_llgo_38: ; preds = %_llgo_37, %_llgo_36
|
||||
@@ -1723,8 +1702,6 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64, ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64)
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr, i64)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr, ptr, ptr)
|
||||
|
||||
@@ -66,8 +66,8 @@ _llgo_0:
|
||||
br i1 %1, label %_llgo_1, label %_llgo_2
|
||||
|
||||
_llgo_1: ; preds = %_llgo_0
|
||||
%2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%3 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%2 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%3 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%4 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%5 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %4, i32 0, i32 0
|
||||
store ptr @0, ptr %5, align 8
|
||||
@@ -80,7 +80,7 @@ _llgo_1: ; preds = %_llgo_0
|
||||
%10 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %8, i32 0, i32 1
|
||||
store i64 0, ptr %10, align 4
|
||||
%11 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %8, align 8
|
||||
%12 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 8)
|
||||
%12 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 40)
|
||||
%13 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %12)
|
||||
%14 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %7, ptr %13, i64 0, %"github.com/goplus/llgo/internal/runtime.String" %11, i1 false)
|
||||
%15 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
@@ -95,7 +95,7 @@ _llgo_1: ; preds = %_llgo_0
|
||||
%21 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %19, i32 0, i32 1
|
||||
store i64 0, ptr %21, align 4
|
||||
%22 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %19, align 8
|
||||
%23 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%23 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%24 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %23)
|
||||
%25 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %18, ptr %24, i64 8, %"github.com/goplus/llgo/internal/runtime.String" %22, i1 false)
|
||||
%26 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
@@ -110,7 +110,7 @@ _llgo_1: ; preds = %_llgo_0
|
||||
%32 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %30, i32 0, i32 1
|
||||
store i64 0, ptr %32, align 4
|
||||
%33 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %30, align 8
|
||||
%34 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 2)
|
||||
%34 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%35 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 8, ptr %34)
|
||||
%36 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %29, ptr %35, i64 72, %"github.com/goplus/llgo/internal/runtime.String" %33, i1 false)
|
||||
%37 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
@@ -125,7 +125,7 @@ _llgo_1: ; preds = %_llgo_0
|
||||
%43 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %41, i32 0, i32 1
|
||||
store i64 0, ptr %43, align 4
|
||||
%44 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %41, align 8
|
||||
%45 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 12)
|
||||
%45 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 44)
|
||||
%46 = call %"github.com/goplus/llgo/internal/abi.StructField" @"github.com/goplus/llgo/internal/runtime.StructField"(%"github.com/goplus/llgo/internal/runtime.String" %40, ptr %45, i64 136, %"github.com/goplus/llgo/internal/runtime.String" %44, i1 false)
|
||||
%47 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%48 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %47, i32 0, i32 0
|
||||
@@ -152,7 +152,6 @@ _llgo_1: ; preds = %_llgo_0
|
||||
%60 = load %"github.com/goplus/llgo/internal/runtime.Slice", ptr %56, align 8
|
||||
%61 = call ptr @"github.com/goplus/llgo/internal/runtime.Struct"(%"github.com/goplus/llgo/internal/runtime.String" %50, i64 144, %"github.com/goplus/llgo/internal/runtime.Slice" %60)
|
||||
%62 = call ptr @"github.com/goplus/llgo/internal/runtime.MapOf"(ptr %2, ptr %3, ptr %61, i64 4)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr %62)
|
||||
store ptr %62, ptr @"map[_llgo_int]_llgo_int", align 8
|
||||
br label %_llgo_2
|
||||
|
||||
@@ -172,8 +171,6 @@ declare ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64, ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64)
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.SetDirectIface"(ptr)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.MakeMap"(ptr, i64)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.MapAssign"(ptr, ptr, ptr)
|
||||
|
||||
15
cl/_testrt/typed/in.go
Normal file
15
cl/_testrt/typed/in.go
Normal file
@@ -0,0 +1,15 @@
|
||||
package main
|
||||
|
||||
type T string
|
||||
type A [2]int
|
||||
|
||||
func main() {
|
||||
var v any = T("hello")
|
||||
println(v.(T))
|
||||
s, ok := v.(string)
|
||||
println(s, ok)
|
||||
|
||||
var a any = A{1, 2}
|
||||
ar, ok := a.(A)
|
||||
println(ar[0], ar[1], ok)
|
||||
}
|
||||
299
cl/_testrt/typed/out.ll
Normal file
299
cl/_testrt/typed/out.ll
Normal file
@@ -0,0 +1,299 @@
|
||||
; ModuleID = 'main'
|
||||
source_filename = "main"
|
||||
|
||||
%"github.com/goplus/llgo/internal/runtime.String" = type { ptr, i64 }
|
||||
%"github.com/goplus/llgo/internal/runtime.eface" = type { ptr, ptr }
|
||||
%"github.com/goplus/llgo/internal/runtime.Slice" = type { ptr, i64, i64 }
|
||||
|
||||
@"main.init$guard" = global i1 false, align 1
|
||||
@__llgo_argc = global i32 0, align 4
|
||||
@__llgo_argv = global ptr null, align 8
|
||||
@0 = private unnamed_addr constant [5 x i8] c"hello", align 1
|
||||
@_llgo_main.T = linkonce global ptr null, align 8
|
||||
@_llgo_string = linkonce global ptr null, align 8
|
||||
@1 = private unnamed_addr constant [4 x i8] c"main", align 1
|
||||
@2 = private unnamed_addr constant [1 x i8] c"T", align 1
|
||||
@3 = private unnamed_addr constant [21 x i8] c"type assertion failed", align 1
|
||||
@_llgo_main.A = linkonce global ptr null, align 8
|
||||
@_llgo_int = linkonce global ptr null, align 8
|
||||
@"[2]_llgo_int" = linkonce global ptr null, align 8
|
||||
@4 = private unnamed_addr constant [1 x i8] c"A", align 1
|
||||
|
||||
define void @main.init() {
|
||||
_llgo_0:
|
||||
%0 = load i1, ptr @"main.init$guard", align 1
|
||||
br i1 %0, label %_llgo_2, label %_llgo_1
|
||||
|
||||
_llgo_1: ; preds = %_llgo_0
|
||||
store i1 true, ptr @"main.init$guard", align 1
|
||||
call void @"main.init$after"()
|
||||
br label %_llgo_2
|
||||
|
||||
_llgo_2: ; preds = %_llgo_1, %_llgo_0
|
||||
ret void
|
||||
}
|
||||
|
||||
define i32 @main(i32 %0, ptr %1) {
|
||||
_llgo_0:
|
||||
store i32 %0, ptr @__llgo_argc, align 4
|
||||
store ptr %1, ptr @__llgo_argv, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.init"()
|
||||
call void @main.init()
|
||||
%2 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%3 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2, i32 0, i32 0
|
||||
store ptr @0, ptr %3, align 8
|
||||
%4 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %2, i32 0, i32 1
|
||||
store i64 5, ptr %4, align 4
|
||||
%5 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %2, align 8
|
||||
%6 = load ptr, ptr @_llgo_main.T, align 8
|
||||
%7 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16)
|
||||
store %"github.com/goplus/llgo/internal/runtime.String" %5, ptr %7, align 8
|
||||
%8 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8
|
||||
%9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %8, i32 0, i32 0
|
||||
store ptr %6, ptr %9, align 8
|
||||
%10 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %8, i32 0, i32 1
|
||||
store ptr %7, ptr %10, align 8
|
||||
%11 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %8, align 8
|
||||
%12 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %11, 0
|
||||
%13 = load ptr, ptr @_llgo_main.T, align 8
|
||||
%14 = icmp eq ptr %12, %13
|
||||
br i1 %14, label %_llgo_1, label %_llgo_2
|
||||
|
||||
_llgo_1: ; preds = %_llgo_0
|
||||
%15 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %11, 1
|
||||
%16 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %15, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %16)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10)
|
||||
%17 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %11, 0
|
||||
%18 = load ptr, ptr @_llgo_string, align 8
|
||||
%19 = icmp eq ptr %17, %18
|
||||
br i1 %19, label %_llgo_3, label %_llgo_4
|
||||
|
||||
_llgo_2: ; preds = %_llgo_0
|
||||
%20 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%21 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %20, i32 0, i32 0
|
||||
store ptr @3, ptr %21, align 8
|
||||
%22 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %20, i32 0, i32 1
|
||||
store i64 21, ptr %22, align 4
|
||||
%23 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %20, align 8
|
||||
%24 = load ptr, ptr @_llgo_string, align 8
|
||||
%25 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16)
|
||||
store %"github.com/goplus/llgo/internal/runtime.String" %23, ptr %25, align 8
|
||||
%26 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8
|
||||
%27 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %26, i32 0, i32 0
|
||||
store ptr %24, ptr %27, align 8
|
||||
%28 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %26, i32 0, i32 1
|
||||
store ptr %25, ptr %28, align 8
|
||||
%29 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %26, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface" %29)
|
||||
unreachable
|
||||
|
||||
_llgo_3: ; preds = %_llgo_1
|
||||
%30 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %11, 1
|
||||
%31 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %30, align 8
|
||||
%32 = alloca { %"github.com/goplus/llgo/internal/runtime.String", i1 }, align 8
|
||||
%33 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.String", i1 }, ptr %32, i32 0, i32 0
|
||||
store %"github.com/goplus/llgo/internal/runtime.String" %31, ptr %33, align 8
|
||||
%34 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.String", i1 }, ptr %32, i32 0, i32 1
|
||||
store i1 true, ptr %34, align 1
|
||||
%35 = load { %"github.com/goplus/llgo/internal/runtime.String", i1 }, ptr %32, align 8
|
||||
br label %_llgo_5
|
||||
|
||||
_llgo_4: ; preds = %_llgo_1
|
||||
%36 = alloca { %"github.com/goplus/llgo/internal/runtime.String", i1 }, align 8
|
||||
%37 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.String", i1 }, ptr %36, i32 0, i32 0
|
||||
store { ptr, i64 } zeroinitializer, ptr %37, align 8
|
||||
%38 = getelementptr inbounds { %"github.com/goplus/llgo/internal/runtime.String", i1 }, ptr %36, i32 0, i32 1
|
||||
store i1 false, ptr %38, align 1
|
||||
%39 = load { %"github.com/goplus/llgo/internal/runtime.String", i1 }, ptr %36, align 8
|
||||
br label %_llgo_5
|
||||
|
||||
_llgo_5: ; preds = %_llgo_4, %_llgo_3
|
||||
%40 = phi { %"github.com/goplus/llgo/internal/runtime.String", i1 } [ %35, %_llgo_3 ], [ %39, %_llgo_4 ]
|
||||
%41 = extractvalue { %"github.com/goplus/llgo/internal/runtime.String", i1 } %40, 0
|
||||
%42 = extractvalue { %"github.com/goplus/llgo/internal/runtime.String", i1 } %40, 1
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %41)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %42)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10)
|
||||
%43 = alloca [2 x i64], align 8
|
||||
%44 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %43, i64 16)
|
||||
%45 = getelementptr inbounds i64, ptr %44, i64 0
|
||||
%46 = getelementptr inbounds i64, ptr %44, i64 1
|
||||
store i64 1, ptr %45, align 4
|
||||
store i64 2, ptr %46, align 4
|
||||
%47 = load [2 x i64], ptr %44, align 4
|
||||
%48 = load ptr, ptr @_llgo_main.A, align 8
|
||||
%49 = call ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64 16)
|
||||
store [2 x i64] %47, ptr %49, align 4
|
||||
%50 = alloca %"github.com/goplus/llgo/internal/runtime.eface", align 8
|
||||
%51 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %50, i32 0, i32 0
|
||||
store ptr %48, ptr %51, align 8
|
||||
%52 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.eface", ptr %50, i32 0, i32 1
|
||||
store ptr %49, ptr %52, align 8
|
||||
%53 = load %"github.com/goplus/llgo/internal/runtime.eface", ptr %50, align 8
|
||||
%54 = alloca [2 x i64], align 8
|
||||
%55 = call ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr %54, i64 16)
|
||||
%56 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %53, 0
|
||||
%57 = load ptr, ptr @_llgo_main.A, align 8
|
||||
%58 = icmp eq ptr %56, %57
|
||||
br i1 %58, label %_llgo_6, label %_llgo_7
|
||||
|
||||
_llgo_6: ; preds = %_llgo_5
|
||||
%59 = extractvalue %"github.com/goplus/llgo/internal/runtime.eface" %53, 1
|
||||
%60 = load [2 x i64], ptr %59, align 4
|
||||
%61 = alloca { [2 x i64], i1 }, align 8
|
||||
%62 = getelementptr inbounds { [2 x i64], i1 }, ptr %61, i32 0, i32 0
|
||||
store [2 x i64] %60, ptr %62, align 4
|
||||
%63 = getelementptr inbounds { [2 x i64], i1 }, ptr %61, i32 0, i32 1
|
||||
store i1 true, ptr %63, align 1
|
||||
%64 = load { [2 x i64], i1 }, ptr %61, align 4
|
||||
br label %_llgo_8
|
||||
|
||||
_llgo_7: ; preds = %_llgo_5
|
||||
%65 = alloca { [2 x i64], i1 }, align 8
|
||||
%66 = getelementptr inbounds { [2 x i64], i1 }, ptr %65, i32 0, i32 0
|
||||
store [2 x i64] zeroinitializer, ptr %66, align 4
|
||||
%67 = getelementptr inbounds { [2 x i64], i1 }, ptr %65, i32 0, i32 1
|
||||
store i1 false, ptr %67, align 1
|
||||
%68 = load { [2 x i64], i1 }, ptr %65, align 4
|
||||
br label %_llgo_8
|
||||
|
||||
_llgo_8: ; preds = %_llgo_7, %_llgo_6
|
||||
%69 = phi { [2 x i64], i1 } [ %64, %_llgo_6 ], [ %68, %_llgo_7 ]
|
||||
%70 = extractvalue { [2 x i64], i1 } %69, 0
|
||||
store [2 x i64] %70, ptr %55, align 4
|
||||
%71 = extractvalue { [2 x i64], i1 } %69, 1
|
||||
%72 = getelementptr inbounds i64, ptr %55, i64 0
|
||||
%73 = load i64, ptr %72, align 4
|
||||
%74 = getelementptr inbounds i64, ptr %55, i64 1
|
||||
%75 = load i64, ptr %74, align 4
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %73)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %75)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 32)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1 %71)
|
||||
call void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8 10)
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.init"()
|
||||
|
||||
define void @"main.init$after"() {
|
||||
_llgo_0:
|
||||
%0 = load ptr, ptr @_llgo_main.T, align 8
|
||||
%1 = icmp eq ptr %0, null
|
||||
br i1 %1, label %_llgo_1, label %_llgo_2
|
||||
|
||||
_llgo_1: ; preds = %_llgo_0
|
||||
%2 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 24, i64 0, i64 0)
|
||||
store ptr %2, ptr @_llgo_main.T, align 8
|
||||
br label %_llgo_2
|
||||
|
||||
_llgo_2: ; preds = %_llgo_1, %_llgo_0
|
||||
%3 = load ptr, ptr @_llgo_string, align 8
|
||||
%4 = icmp eq ptr %3, null
|
||||
br i1 %4, label %_llgo_3, label %_llgo_4
|
||||
|
||||
_llgo_3: ; preds = %_llgo_2
|
||||
%5 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 24)
|
||||
store ptr %5, ptr @_llgo_string, align 8
|
||||
br label %_llgo_4
|
||||
|
||||
_llgo_4: ; preds = %_llgo_3, %_llgo_2
|
||||
%6 = load ptr, ptr @_llgo_string, align 8
|
||||
br i1 %1, label %_llgo_5, label %_llgo_6
|
||||
|
||||
_llgo_5: ; preds = %_llgo_4
|
||||
%7 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%8 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %7, i32 0, i32 0
|
||||
store ptr @1, ptr %8, align 8
|
||||
%9 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %7, i32 0, i32 1
|
||||
store i64 4, ptr %9, align 4
|
||||
%10 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %7, align 8
|
||||
%11 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%12 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %11, i32 0, i32 0
|
||||
store ptr @2, ptr %12, align 8
|
||||
%13 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %11, i32 0, i32 1
|
||||
store i64 1, ptr %13, align 4
|
||||
%14 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %11, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %2, %"github.com/goplus/llgo/internal/runtime.String" %10, %"github.com/goplus/llgo/internal/runtime.String" %14, ptr %6, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
|
||||
br label %_llgo_6
|
||||
|
||||
_llgo_6: ; preds = %_llgo_5, %_llgo_4
|
||||
%15 = load ptr, ptr @_llgo_main.A, align 8
|
||||
%16 = icmp eq ptr %15, null
|
||||
br i1 %16, label %_llgo_7, label %_llgo_8
|
||||
|
||||
_llgo_7: ; preds = %_llgo_6
|
||||
%17 = call ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64 17, i64 0, i64 0)
|
||||
store ptr %17, ptr @_llgo_main.A, align 8
|
||||
br label %_llgo_8
|
||||
|
||||
_llgo_8: ; preds = %_llgo_7, %_llgo_6
|
||||
%18 = load ptr, ptr @_llgo_int, align 8
|
||||
%19 = icmp eq ptr %18, null
|
||||
br i1 %19, label %_llgo_9, label %_llgo_10
|
||||
|
||||
_llgo_9: ; preds = %_llgo_8
|
||||
%20 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
store ptr %20, ptr @_llgo_int, align 8
|
||||
br label %_llgo_10
|
||||
|
||||
_llgo_10: ; preds = %_llgo_9, %_llgo_8
|
||||
%21 = load ptr, ptr @_llgo_int, align 8
|
||||
%22 = load ptr, ptr @"[2]_llgo_int", align 8
|
||||
%23 = icmp eq ptr %22, null
|
||||
br i1 %23, label %_llgo_11, label %_llgo_12
|
||||
|
||||
_llgo_11: ; preds = %_llgo_10
|
||||
%24 = call ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64 34)
|
||||
%25 = call ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64 2, ptr %24)
|
||||
store ptr %25, ptr @"[2]_llgo_int", align 8
|
||||
br label %_llgo_12
|
||||
|
||||
_llgo_12: ; preds = %_llgo_11, %_llgo_10
|
||||
%26 = load ptr, ptr @"[2]_llgo_int", align 8
|
||||
br i1 %16, label %_llgo_13, label %_llgo_14
|
||||
|
||||
_llgo_13: ; preds = %_llgo_12
|
||||
%27 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%28 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %27, i32 0, i32 0
|
||||
store ptr @1, ptr %28, align 8
|
||||
%29 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %27, i32 0, i32 1
|
||||
store i64 4, ptr %29, align 4
|
||||
%30 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %27, align 8
|
||||
%31 = alloca %"github.com/goplus/llgo/internal/runtime.String", align 8
|
||||
%32 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %31, i32 0, i32 0
|
||||
store ptr @4, ptr %32, align 8
|
||||
%33 = getelementptr inbounds %"github.com/goplus/llgo/internal/runtime.String", ptr %31, i32 0, i32 1
|
||||
store i64 1, ptr %33, align 4
|
||||
%34 = load %"github.com/goplus/llgo/internal/runtime.String", ptr %31, align 8
|
||||
call void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr %17, %"github.com/goplus/llgo/internal/runtime.String" %30, %"github.com/goplus/llgo/internal/runtime.String" %34, ptr %26, { ptr, i64, i64 } zeroinitializer, { ptr, i64, i64 } zeroinitializer)
|
||||
br label %_llgo_14
|
||||
|
||||
_llgo_14: ; preds = %_llgo_13, %_llgo_12
|
||||
ret void
|
||||
}
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.NewNamed"(i64, i64, i64)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.Basic"(i64)
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.InitNamed"(ptr, %"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String", ptr, %"github.com/goplus/llgo/internal/runtime.Slice", %"github.com/goplus/llgo/internal/runtime.Slice")
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.AllocU"(i64)
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.Panic"(%"github.com/goplus/llgo/internal/runtime.eface")
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String")
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.PrintByte"(i8)
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.PrintBool"(i1)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr, i64)
|
||||
|
||||
declare ptr @"github.com/goplus/llgo/internal/runtime.ArrayOf"(i64, ptr)
|
||||
|
||||
declare void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64)
|
||||
Reference in New Issue
Block a user