diff --git a/cl/_testdata/fncall/out.ll b/cl/_testdata/fncall/out.ll index aee35e31..180fd4cb 100644 --- a/cl/_testdata/fncall/out.ll +++ b/cl/_testdata/fncall/out.ll @@ -18,14 +18,14 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 = call i64 @main.max(i64 1, i64 2) - ret void + ret i32 0 } define i64 @main.max(i64 %0, i64 %1) { diff --git a/cl/_testdata/importpkg/out.ll b/cl/_testdata/importpkg/out.ll index 141afc03..dc48a001 100644 --- a/cl/_testdata/importpkg/out.ll +++ b/cl/_testdata/importpkg/out.ll @@ -27,7 +27,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -35,7 +35,7 @@ _llgo_0: call void @main.init() %2 = call i64 @"github.com/goplus/llgo/cl/internal/stdio.Max"(i64 2, i64 100) call void (ptr, ...) @printf(ptr @main.hello) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/cl/internal/stdio.init"() diff --git a/cl/_testdata/method/out.ll b/cl/_testdata/method/out.ll index 790e8b55..cbec5de4 100644 --- a/cl/_testdata/method/out.ll +++ b/cl/_testdata/method/out.ll @@ -42,7 +42,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -50,7 +50,7 @@ _llgo_0: call void @main.init() %2 = call i64 @"(main.T).Add"(i64 1, i64 2) call void (ptr, ...) @printf(ptr @main.format, i64 %2) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testdata/print/out.ll b/cl/_testdata/print/out.ll index 2e91fdad..aba25c06 100644 --- a/cl/_testdata/print/out.ll +++ b/cl/_testdata/print/out.ll @@ -77,7 +77,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -205,7 +205,7 @@ _llgo_2: ; preds = %_llgo_3, %_llgo_1, store %"github.com/goplus/llgo/internal/runtime.iface" %74, ptr %72, align 8 %75 = call %"github.com/goplus/llgo/internal/runtime.Slice" @"github.com/goplus/llgo/internal/runtime.NewSlice3"(ptr %26, i64 16, i64 16, i64 0, i64 16, i64 16) call void @main.println(%"github.com/goplus/llgo/internal/runtime.Slice" %75) - ret void + ret i32 0 _llgo_3: ; preds = %_llgo_0 br i1 true, label %_llgo_1, label %_llgo_2 @@ -488,10 +488,10 @@ _llgo_11: ; preds = %_llgo_8 %17 = fcmp olt double %16, 0.000000e+00 br i1 %17, label %_llgo_14, label %_llgo_12 -_llgo_12: ; preds = %_llgo_24, %_llgo_22, %_llgo_14, %_llgo_11 - %18 = phi double [ %0, %_llgo_11 ], [ %36, %_llgo_22 ], [ %0, %_llgo_14 ], [ %42, %_llgo_24 ] - %19 = phi i64 [ 0, %_llgo_11 ], [ %32, %_llgo_22 ], [ 0, %_llgo_14 ], [ %41, %_llgo_24 ] - br label %_llgo_27 +_llgo_12: ; preds = %_llgo_24, %_llgo_23, %_llgo_14, %_llgo_11 + %18 = phi double [ %0, %_llgo_11 ], [ %39, %_llgo_23 ], [ %0, %_llgo_14 ], [ %42, %_llgo_24 ] + %19 = phi i64 [ 0, %_llgo_11 ], [ %32, %_llgo_23 ], [ 0, %_llgo_14 ], [ %41, %_llgo_24 ] + br label %_llgo_25 _llgo_13: ; preds = %_llgo_8 %20 = fcmp olt double %0, 0.000000e+00 @@ -525,7 +525,7 @@ _llgo_18: ; preds = %_llgo_20 br label %_llgo_20 _llgo_19: ; preds = %_llgo_20 - br label %_llgo_23 + br label %_llgo_21 _llgo_20: ; preds = %_llgo_18, %_llgo_17 %31 = phi double [ %26, %_llgo_17 ], [ %30, %_llgo_18 ] @@ -533,68 +533,68 @@ _llgo_20: ; preds = %_llgo_18, %_llgo_17 %33 = fcmp olt double %31, 1.000000e+00 br i1 %33, label %_llgo_18, label %_llgo_19 -_llgo_21: ; preds = %_llgo_23 - %34 = fdiv double %38, 1.000000e+01 - %35 = add i64 %39, 1 - br label %_llgo_23 +_llgo_21: ; preds = %_llgo_22, %_llgo_19 + %34 = phi double [ 5.000000e+00, %_llgo_19 ], [ %37, %_llgo_22 ] + %35 = phi i64 [ 0, %_llgo_19 ], [ %38, %_llgo_22 ] + %36 = icmp slt i64 %35, 7 + br i1 %36, label %_llgo_22, label %_llgo_23 -_llgo_22: ; preds = %_llgo_23 - %36 = fadd double %31, %38 - %37 = fcmp oge double %36, 1.000000e+01 - br i1 %37, label %_llgo_24, label %_llgo_12 +_llgo_22: ; preds = %_llgo_21 + %37 = fdiv double %34, 1.000000e+01 + %38 = add i64 %35, 1 + br label %_llgo_21 -_llgo_23: ; preds = %_llgo_21, %_llgo_19 - %38 = phi double [ 5.000000e+00, %_llgo_19 ], [ %34, %_llgo_21 ] - %39 = phi i64 [ 0, %_llgo_19 ], [ %35, %_llgo_21 ] - %40 = icmp slt i64 %39, 7 - br i1 %40, label %_llgo_21, label %_llgo_22 +_llgo_23: ; preds = %_llgo_21 + %39 = fadd double %31, %34 + %40 = fcmp oge double %39, 1.000000e+01 + br i1 %40, label %_llgo_24, label %_llgo_12 -_llgo_24: ; preds = %_llgo_22 +_llgo_24: ; preds = %_llgo_23 %41 = add i64 %32, 1 - %42 = fdiv double %36, 1.000000e+01 + %42 = fdiv double %39, 1.000000e+01 br label %_llgo_12 -_llgo_25: ; preds = %_llgo_27 - %43 = fptosi double %59 to i64 - %44 = add i64 %60, 2 - %45 = add i64 %43, 48 - %46 = trunc i64 %45 to i8 - %47 = getelementptr inbounds i8, ptr %11, i64 %44 - store i8 %46, ptr %47, align 1 - %48 = sitofp i64 %43 to double - %49 = fsub double %59, %48 - %50 = fmul double %49, 1.000000e+01 - %51 = add i64 %60, 1 - br label %_llgo_27 +_llgo_25: ; preds = %_llgo_26, %_llgo_12 + %43 = phi double [ %18, %_llgo_12 ], [ %53, %_llgo_26 ] + %44 = phi i64 [ 0, %_llgo_12 ], [ %54, %_llgo_26 ] + %45 = icmp slt i64 %44, 7 + br i1 %45, label %_llgo_26, label %_llgo_27 -_llgo_26: ; preds = %_llgo_27 - %52 = getelementptr inbounds i8, ptr %11, i64 2 - %53 = load i8, ptr %52, align 1 - %54 = getelementptr inbounds i8, ptr %11, i64 1 - store i8 %53, ptr %54, align 1 +_llgo_26: ; preds = %_llgo_25 + %46 = fptosi double %43 to i64 + %47 = add i64 %44, 2 + %48 = add i64 %46, 48 + %49 = trunc i64 %48 to i8 + %50 = getelementptr inbounds i8, ptr %11, i64 %47 + store i8 %49, ptr %50, align 1 + %51 = sitofp i64 %46 to double + %52 = fsub double %43, %51 + %53 = fmul double %52, 1.000000e+01 + %54 = add i64 %44, 1 + br label %_llgo_25 + +_llgo_27: ; preds = %_llgo_25 %55 = getelementptr inbounds i8, ptr %11, i64 2 - store i8 46, ptr %55, align 1 - %56 = getelementptr inbounds i8, ptr %11, i64 9 - store i8 101, ptr %56, align 1 - %57 = getelementptr inbounds i8, ptr %11, i64 10 - store i8 43, ptr %57, align 1 - %58 = icmp slt i64 %19, 0 - br i1 %58, label %_llgo_28, label %_llgo_29 + %56 = load i8, ptr %55, align 1 + %57 = getelementptr inbounds i8, ptr %11, i64 1 + store i8 %56, ptr %57, align 1 + %58 = getelementptr inbounds i8, ptr %11, i64 2 + store i8 46, ptr %58, align 1 + %59 = getelementptr inbounds i8, ptr %11, i64 9 + store i8 101, ptr %59, align 1 + %60 = getelementptr inbounds i8, ptr %11, i64 10 + store i8 43, ptr %60, align 1 + %61 = icmp slt i64 %19, 0 + br i1 %61, label %_llgo_28, label %_llgo_29 -_llgo_27: ; preds = %_llgo_25, %_llgo_12 - %59 = phi double [ %18, %_llgo_12 ], [ %50, %_llgo_25 ] - %60 = phi i64 [ 0, %_llgo_12 ], [ %51, %_llgo_25 ] - %61 = icmp slt i64 %60, 7 - br i1 %61, label %_llgo_25, label %_llgo_26 - -_llgo_28: ; preds = %_llgo_26 +_llgo_28: ; preds = %_llgo_27 %62 = sub i64 0, %19 %63 = getelementptr inbounds i8, ptr %11, i64 10 store i8 45, ptr %63, align 1 br label %_llgo_29 -_llgo_29: ; preds = %_llgo_28, %_llgo_26 - %64 = phi i64 [ %19, %_llgo_26 ], [ %62, %_llgo_28 ] +_llgo_29: ; preds = %_llgo_28, %_llgo_27 + %64 = phi i64 [ %19, %_llgo_27 ], [ %62, %_llgo_28 ] %65 = sdiv i64 %64, 100 %66 = trunc i64 %65 to i8 %67 = add i8 %66, 48 diff --git a/cl/_testdata/printf/out.ll b/cl/_testdata/printf/out.ll index fbd81b42..02d042b6 100644 --- a/cl/_testdata/printf/out.ll +++ b/cl/_testdata/printf/out.ll @@ -26,14 +26,14 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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() call void (ptr, ...) @printf(ptr @main.hello) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testdata/printval/out.ll b/cl/_testdata/printval/out.ll index e080919a..6b97f9ef 100644 --- a/cl/_testdata/printval/out.ll +++ b/cl/_testdata/printval/out.ll @@ -29,14 +29,14 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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() call void (ptr, ...) @printf(ptr @main.format, i64 100) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testdata/ptrmthd/out.ll b/cl/_testdata/ptrmthd/out.ll index 60dcf196..79d70308 100644 --- a/cl/_testdata/ptrmthd/out.ll +++ b/cl/_testdata/ptrmthd/out.ll @@ -35,14 +35,14 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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() call void @"(*main.T).Print"(ptr @main.format, i64 100) - ret void + ret i32 0 } declare void @printf(ptr, ...) diff --git a/cl/_testdata/uint/out.ll b/cl/_testdata/uint/out.ll index ceaaae3a..0dde97f7 100644 --- a/cl/_testdata/uint/out.ll +++ b/cl/_testdata/uint/out.ll @@ -25,7 +25,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -33,7 +33,7 @@ _llgo_0: call void @main.init() %2 = call i32 @main.f(i32 100) %3 = call i32 (ptr, ...) @printf(ptr @0, i32 %2) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testdata/untyped/out.ll b/cl/_testdata/untyped/out.ll index 9978c791..c64ab15b 100644 --- a/cl/_testdata/untyped/out.ll +++ b/cl/_testdata/untyped/out.ll @@ -20,7 +20,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -33,7 +33,7 @@ _llgo_1: ; preds = %_llgo_0 br label %_llgo_2 _llgo_2: ; preds = %_llgo_1, %_llgo_0 - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testdata/vargs/out.ll b/cl/_testdata/vargs/out.ll index 4657338e..7c75776b 100644 --- a/cl/_testdata/vargs/out.ll +++ b/cl/_testdata/vargs/out.ll @@ -22,7 +22,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -43,7 +43,7 @@ _llgo_0: store %"github.com/goplus/llgo/internal/runtime.iface" %11, ptr %9, align 8 %12 = call %"github.com/goplus/llgo/internal/runtime.Slice" @"github.com/goplus/llgo/internal/runtime.NewSlice3"(ptr %2, i64 16, i64 3, i64 0, i64 3, i64 3) call void @main.test(%"github.com/goplus/llgo/internal/runtime.Slice" %12) - ret void + ret i32 0 } define void @main.test(%"github.com/goplus/llgo/internal/runtime.Slice" %0) { diff --git a/cl/_testdata/varinit/out.ll b/cl/_testdata/varinit/out.ll index 66e631ba..bd98b63c 100644 --- a/cl/_testdata/varinit/out.ll +++ b/cl/_testdata/varinit/out.ll @@ -20,7 +20,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -30,7 +30,7 @@ _llgo_0: %3 = add i64 %2, 1 store i64 %3, ptr @main.a, align 4 %4 = load i64, ptr @main.a, align 4 - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testlibc/sqlite/out.ll b/cl/_testlibc/sqlite/out.ll index bdf9be1a..9e43a502 100644 --- a/cl/_testlibc/sqlite/out.ll +++ b/cl/_testlibc/sqlite/out.ll @@ -35,7 +35,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -46,7 +46,7 @@ _llgo_0: %4 = extractvalue { ptr, i32 } %2, 1 call void @main.check(i32 %4) %5 = call i32 @sqlite3_close(ptr %3) - ret void + ret i32 0 } declare ptr @sqlite3_errstr(i32) diff --git a/cl/_testpy/callpy/out.ll b/cl/_testpy/callpy/out.ll index 1d9a8119..090e0348 100644 --- a/cl/_testpy/callpy/out.ll +++ b/cl/_testpy/callpy/out.ll @@ -32,7 +32,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +define i32 @main(i32 %0, ptr %1) { _llgo_0: call void @Py_Initialize() store i32 %0, ptr @__llgo_argc, align 4 @@ -48,7 +48,7 @@ _llgo_0: %8 = call i32 (ptr, ...) @printf(ptr @0, double %7) %9 = call ptr @PyUnicode_AsUTF8(ptr %6) %10 = call i32 (ptr, ...) @printf(ptr @1, ptr %9) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/py/math.init"() diff --git a/cl/_testpy/gcd/out.ll b/cl/_testpy/gcd/out.ll index ccee1b2f..5d4461e5 100644 --- a/cl/_testpy/gcd/out.ll +++ b/cl/_testpy/gcd/out.ll @@ -25,7 +25,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +define i32 @main(i32 %0, ptr %1) { _llgo_0: call void @Py_Initialize() store i32 %0, ptr @__llgo_argc, align 4 @@ -39,7 +39,7 @@ _llgo_0: %6 = call ptr (ptr, ...) @PyObject_CallFunctionObjArgs(ptr %5, ptr %2, ptr %3, ptr %4, ptr null) %7 = call i32 @PyLong_AsLong(ptr %6) %8 = call i32 (ptr, ...) @printf(ptr @0, i32 %7) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/py/math.init"() diff --git a/cl/_testpy/matrix/out.ll b/cl/_testpy/matrix/out.ll index 956009c4..4ff6b720 100644 --- a/cl/_testpy/matrix/out.ll +++ b/cl/_testpy/matrix/out.ll @@ -27,7 +27,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +define i32 @main(i32 %0, ptr %1) { _llgo_0: call void @Py_Initialize() store i32 %0, ptr @__llgo_argc, align 4 @@ -95,7 +95,7 @@ _llgo_0: %60 = call ptr @PyObject_Str(ptr %53) %61 = call ptr @PyUnicode_AsUTF8(ptr %60) %62 = call i32 (ptr, ...) @printf(ptr @2, ptr %61) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/py/numpy.init"() diff --git a/cl/_testpy/pi/out.ll b/cl/_testpy/pi/out.ll index 78809604..face3827 100644 --- a/cl/_testpy/pi/out.ll +++ b/cl/_testpy/pi/out.ll @@ -31,7 +31,7 @@ _llgo_0: call void @main.init() %2 = load ptr, ptr @__llgo_py.math, align 8 %3 = call ptr @PyObject_GetAttrString(ptr %2, ptr @1) - %4 = call double @PyFloat_AsDouble(ptr %3) + %4 = call double @"(*github.com/goplus/llgo/py.Object).Float64"(ptr %3) %5 = call i32 (ptr, ...) @printf(ptr @0, double %4) ret i32 0 } @@ -42,7 +42,7 @@ declare void @"github.com/goplus/llgo/internal/runtime.init"() declare ptr @PyObject_GetAttrString(ptr, ptr) -declare double @PyFloat_AsDouble(ptr) +declare double @"(*github.com/goplus/llgo/py.Object).Float64"(ptr) declare i32 @printf(ptr, ...) diff --git a/cl/_testpy/pow/out.ll b/cl/_testpy/pow/out.ll index e1bd0f04..16c2d44a 100644 --- a/cl/_testpy/pow/out.ll +++ b/cl/_testpy/pow/out.ll @@ -25,7 +25,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +define i32 @main(i32 %0, ptr %1) { _llgo_0: call void @Py_Initialize() store i32 %0, ptr @__llgo_argc, align 4 @@ -38,7 +38,7 @@ _llgo_0: %5 = call ptr (ptr, ...) @PyObject_CallFunctionObjArgs(ptr %4, ptr %2, ptr %3, ptr null) %6 = call double @PyFloat_AsDouble(ptr %5) %7 = call i32 (ptr, ...) @printf(ptr @0, double %6) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/py/math.init"() diff --git a/cl/_testrt/alloca/out.ll b/cl/_testrt/alloca/out.ll index 0593e6b7..452d403a 100644 --- a/cl/_testrt/alloca/out.ll +++ b/cl/_testrt/alloca/out.ll @@ -20,7 +20,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -29,7 +29,7 @@ _llgo_0: %2 = alloca i8, i64 4, align 1 %3 = call ptr @memcpy(ptr %2, ptr @0, i64 4) %4 = call i32 (ptr, ...) @printf(ptr @1, ptr %2) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testrt/allocstr/out.ll b/cl/_testrt/allocstr/out.ll index 5726edc7..e3373759 100644 --- a/cl/_testrt/allocstr/out.ll +++ b/cl/_testrt/allocstr/out.ll @@ -27,7 +27,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -39,7 +39,7 @@ _llgo_0: %5 = alloca i8, i64 %4, align 1 %6 = call ptr @"github.com/goplus/llgo/internal/runtime.CStrCopy"(ptr %5, %"github.com/goplus/llgo/internal/runtime.String" %2) %7 = call i32 (ptr, ...) @printf(ptr %6) - ret void + ret i32 0 } declare %"github.com/goplus/llgo/internal/runtime.String" @"github.com/goplus/llgo/internal/runtime.NewString"(ptr, i64) diff --git a/cl/_testrt/any/out.ll b/cl/_testrt/any/out.ll index ee4c5f30..fdd52ad1 100644 --- a/cl/_testrt/any/out.ll +++ b/cl/_testrt/any/out.ll @@ -29,7 +29,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -39,7 +39,7 @@ _llgo_0: %3 = call %"github.com/goplus/llgo/internal/runtime.iface" @"github.com/goplus/llgo/internal/runtime.MakeAnyInt"(ptr %2, i64 100) %4 = call i64 @main.incVal(%"github.com/goplus/llgo/internal/runtime.iface" %3) %5 = call i32 (ptr, ...) @printf(ptr @0, i64 %4) - ret void + ret i32 0 } declare i64 @"github.com/goplus/llgo/internal/runtime.I2Int"(%"github.com/goplus/llgo/internal/runtime.iface", ptr) diff --git a/cl/_testrt/builtin/out.ll b/cl/_testrt/builtin/out.ll index 5cd53638..a844642e 100644 --- a/cl/_testrt/builtin/out.ll +++ b/cl/_testrt/builtin/out.ll @@ -72,7 +72,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -310,7 +310,7 @@ _llgo_0: call void @"github.com/goplus/llgo/internal/runtime.PrintUint"(i64 %126) %135 = call %"github.com/goplus/llgo/internal/runtime.String" @"github.com/goplus/llgo/internal/runtime.NewString"(ptr @43, i64 1) call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %135) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testrt/callback/out.ll b/cl/_testrt/callback/out.ll index 663812c1..42ae697a 100644 --- a/cl/_testrt/callback/out.ll +++ b/cl/_testrt/callback/out.ll @@ -28,7 +28,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -48,7 +48,7 @@ _llgo_0: store ptr null, ptr %8, align 8 %9 = load { ptr, ptr }, ptr %6, align 8 call void @main.callback(ptr @1, { ptr, ptr } %9) - ret void + ret i32 0 } define void @main.print(ptr %0) { diff --git a/cl/_testrt/cast/out.ll b/cl/_testrt/cast/out.ll index 65c7100b..313b7037 100644 --- a/cl/_testrt/cast/out.ll +++ b/cl/_testrt/cast/out.ll @@ -237,7 +237,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -298,7 +298,7 @@ _llgo_0: call void @main.cvt32to64(i32 0, i64 0) call void @main.cvt32to64(i32 2147483647, i64 2147483647) call void @main.cvtUinptr(i32 1024, i64 1024) - ret void + ret i32 0 } declare %"github.com/goplus/llgo/internal/runtime.String" @"github.com/goplus/llgo/internal/runtime.NewString"(ptr, i64) diff --git a/cl/_testrt/closure/out.ll b/cl/_testrt/closure/out.ll index d6f12d17..e3a0e66f 100644 --- a/cl/_testrt/closure/out.ll +++ b/cl/_testrt/closure/out.ll @@ -20,7 +20,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -47,7 +47,7 @@ _llgo_0: %13 = extractvalue { ptr, ptr } %12, 1 %14 = extractvalue { ptr, ptr } %12, 0 call void %14(ptr %13) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testrt/concat/out.ll b/cl/_testrt/concat/out.ll index af3e1e82..00c7d18a 100644 --- a/cl/_testrt/concat/out.ll +++ b/cl/_testrt/concat/out.ll @@ -73,7 +73,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -97,7 +97,7 @@ _llgo_0: %14 = alloca i8, i64 %13, align 1 %15 = call ptr @"github.com/goplus/llgo/internal/runtime.CStrCopy"(ptr %14, %"github.com/goplus/llgo/internal/runtime.String" %10) %16 = call i32 (ptr, ptr, ...) @fprintf(ptr %11, ptr @6, ptr %15) - ret void + ret i32 0 } declare %"github.com/goplus/llgo/internal/runtime.String" @"github.com/goplus/llgo/internal/runtime.StringCat"(%"github.com/goplus/llgo/internal/runtime.String", %"github.com/goplus/llgo/internal/runtime.String") diff --git a/cl/_testrt/cstr/out.ll b/cl/_testrt/cstr/out.ll index 176c625d..480ae6d2 100644 --- a/cl/_testrt/cstr/out.ll +++ b/cl/_testrt/cstr/out.ll @@ -19,14 +19,14 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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() call void (ptr, ...) @printf(ptr @0) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testrt/cvar/out.ll b/cl/_testrt/cvar/out.ll index 480991fc..bd6f7762 100644 --- a/cl/_testrt/cvar/out.ll +++ b/cl/_testrt/cvar/out.ll @@ -20,7 +20,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -28,7 +28,7 @@ _llgo_0: call void @main.init() %2 = load { [16 x i8], [2 x ptr] }, ptr @_bar_x, align 8 %3 = load { [16 x i8] }, ptr @_bar_y, align 1 - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testrt/fprintf/out.ll b/cl/_testrt/fprintf/out.ll index ef638102..0046e6ca 100644 --- a/cl/_testrt/fprintf/out.ll +++ b/cl/_testrt/fprintf/out.ll @@ -20,7 +20,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -28,7 +28,7 @@ _llgo_0: call void @main.init() %2 = load ptr, ptr @__stderrp, align 8 call void (ptr, ptr, ...) @fprintf(ptr %2, ptr @0, i64 100) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testrt/gblarray/out.ll b/cl/_testrt/gblarray/out.ll index 0acd8155..d0f42446 100644 --- a/cl/_testrt/gblarray/out.ll +++ b/cl/_testrt/gblarray/out.ll @@ -50,7 +50,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -63,7 +63,7 @@ _llgo_0: %6 = getelementptr inbounds %"github.com/goplus/llgo/internal/abi.Type", ptr %2, i32 0, i32 0 %7 = load i64, ptr %6, align 4 %8 = call i32 (ptr, ...) @printf(ptr @0, i64 %5, i64 %7) - ret void + ret i32 0 } declare ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64) diff --git a/cl/_testrt/gotypes/out.ll b/cl/_testrt/gotypes/out.ll index 3702addc..ae8de993 100644 --- a/cl/_testrt/gotypes/out.ll +++ b/cl/_testrt/gotypes/out.ll @@ -25,14 +25,14 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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() call void @main.foo(%"github.com/goplus/llgo/internal/runtime.iface" zeroinitializer) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testrt/hello/out.ll b/cl/_testrt/hello/out.ll index f186523a..f71fe323 100644 --- a/cl/_testrt/hello/out.ll +++ b/cl/_testrt/hello/out.ll @@ -29,7 +29,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -37,7 +37,7 @@ _llgo_0: call void @main.init() %2 = call i32 @strlen(ptr @main.format) call void (ptr, ...) @printf(ptr @main.format, i32 %2) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testrt/index/out.ll b/cl/_testrt/index/out.ll index a9af0027..834b497e 100644 --- a/cl/_testrt/index/out.ll +++ b/cl/_testrt/index/out.ll @@ -29,7 +29,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -128,7 +128,7 @@ _llgo_0: %70 = getelementptr inbounds i8, ptr %69, i64 1 %71 = load i8, ptr %70, align 1 %72 = call i32 (ptr, ...) @printf(ptr @6, i8 %71) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testrt/intgen/out.ll b/cl/_testrt/intgen/out.ll index 8d91dd12..a344eb5f 100644 --- a/cl/_testrt/intgen/out.ll +++ b/cl/_testrt/intgen/out.ll @@ -63,7 +63,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -152,7 +152,7 @@ _llgo_8: ; preds = %_llgo_7 br label %_llgo_7 _llgo_9: ; preds = %_llgo_7 - ret void + ret i32 0 } declare ptr @"github.com/goplus/llgo/internal/runtime.AllocZ"(i64) diff --git a/cl/_testrt/linkname/out.ll b/cl/_testrt/linkname/out.ll index 41d631cf..47f22283 100644 --- a/cl/_testrt/linkname/out.ll +++ b/cl/_testrt/linkname/out.ll @@ -26,7 +26,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -34,7 +34,7 @@ _llgo_0: call void @main.init() call void @"github.com/goplus/llgo/cl/internal/linktarget.F"(ptr @0, ptr @1, ptr @2, ptr @3) call void @"github.com/goplus/llgo/cl/internal/linktarget.F"(ptr @4, ptr @5, ptr @6, ptr @7) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/cl/internal/linktarget.F"(ptr, ptr, ptr, ptr) diff --git a/cl/_testrt/map/out.ll b/cl/_testrt/map/out.ll index c353f5d7..1a93ecaf 100644 --- a/cl/_testrt/map/out.ll +++ b/cl/_testrt/map/out.ll @@ -19,7 +19,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -27,7 +27,7 @@ _llgo_0: call void @main.init() %2 = call ptr @"github.com/goplus/llgo/internal/runtime.MakeSmallMap"() %3 = call i32 (ptr, ...) @printf(ptr @0, ) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testrt/mask/out.ll b/cl/_testrt/mask/out.ll index bea4f657..f74ebc84 100644 --- a/cl/_testrt/mask/out.ll +++ b/cl/_testrt/mask/out.ll @@ -21,7 +21,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -32,7 +32,7 @@ _llgo_0: call void @"github.com/goplus/llgo/internal/runtime.PrintInt"(i64 %3) %4 = call %"github.com/goplus/llgo/internal/runtime.String" @"github.com/goplus/llgo/internal/runtime.NewString"(ptr @0, i64 1) call void @"github.com/goplus/llgo/internal/runtime.PrintString"(%"github.com/goplus/llgo/internal/runtime.String" %4) - ret void + ret i32 0 } define i32 @main.mask(i8 %0) { diff --git a/cl/_testrt/named/out.ll b/cl/_testrt/named/out.ll index e7d0af04..cb5f0e64 100644 --- a/cl/_testrt/named/out.ll +++ b/cl/_testrt/named/out.ll @@ -23,7 +23,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -120,7 +120,7 @@ _llgo_0: %77 = extractvalue { ptr, ptr } %75, 0 %78 = call i64 %77(ptr %76, i64 -3) %79 = call i32 (ptr, ...) @printf(ptr @0, i64 %46, i64 %53, i64 %57, i64 %63, i64 %69, i64 %78) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testrt/panic/out.ll b/cl/_testrt/panic/out.ll index eb2cf3ea..331bbfbf 100644 --- a/cl/_testrt/panic/out.ll +++ b/cl/_testrt/panic/out.ll @@ -22,7 +22,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 diff --git a/cl/_testrt/qsort/out.ll b/cl/_testrt/qsort/out.ll index 9767c44d..2d203ee1 100644 --- a/cl/_testrt/qsort/out.ll +++ b/cl/_testrt/qsort/out.ll @@ -19,7 +19,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -54,7 +54,7 @@ _llgo_2: ; preds = %_llgo_1 br label %_llgo_1 _llgo_3: ; preds = %_llgo_1 - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testrt/result/out.ll b/cl/_testrt/result/out.ll index bc0ebd58..4664affe 100644 --- a/cl/_testrt/result/out.ll +++ b/cl/_testrt/result/out.ll @@ -45,7 +45,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -69,7 +69,7 @@ _llgo_0: %17 = extractvalue { ptr, ptr } %15, 0 %18 = call i64 %17(ptr %16, i64 100, i64 200) %19 = call i32 (ptr, ...) @printf(ptr @2, i64 %18, i64 %14) - ret void + ret i32 0 } define i64 @"main.add$1"(i64 %0, i64 %1) { diff --git a/cl/_testrt/strlen/out.ll b/cl/_testrt/strlen/out.ll index f186523a..f71fe323 100644 --- a/cl/_testrt/strlen/out.ll +++ b/cl/_testrt/strlen/out.ll @@ -29,7 +29,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -37,7 +37,7 @@ _llgo_0: call void @main.init() %2 = call i32 @strlen(ptr @main.format) call void (ptr, ...) @printf(ptr @main.format, i32 %2) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"() diff --git a/cl/_testrt/struct/out.ll b/cl/_testrt/struct/out.ll index 04c5725b..04ab01fc 100644 --- a/cl/_testrt/struct/out.ll +++ b/cl/_testrt/struct/out.ll @@ -57,7 +57,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -71,7 +71,7 @@ _llgo_0: store i1 true, ptr %5, align 1 %6 = load %main.Foo, ptr %3, align 4 call void @"(main.Foo).Print"(%main.Foo %6) - ret void + ret i32 0 } declare ptr @"github.com/goplus/llgo/internal/runtime.Zeroinit"(ptr, i64) diff --git a/cl/_testrt/sum/out.ll b/cl/_testrt/sum/out.ll index e414fa91..70c4be76 100644 --- a/cl/_testrt/sum/out.ll +++ b/cl/_testrt/sum/out.ll @@ -21,7 +21,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -39,7 +39,7 @@ _llgo_0: %7 = call %"github.com/goplus/llgo/internal/runtime.Slice" @"github.com/goplus/llgo/internal/runtime.NewSlice3"(ptr %2, i64 8, i64 4, i64 0, i64 4, i64 4) %8 = call i64 @main.sum(%"github.com/goplus/llgo/internal/runtime.Slice" %7) %9 = call i32 (ptr, ...) @printf(ptr @0, i64 %8) - ret void + ret i32 0 } define i64 @main.sum(%"github.com/goplus/llgo/internal/runtime.Slice" %0) { diff --git a/cl/_testrt/typalias/out.ll b/cl/_testrt/typalias/out.ll index c76ce402..b77f76a7 100644 --- a/cl/_testrt/typalias/out.ll +++ b/cl/_testrt/typalias/out.ll @@ -45,7 +45,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -57,7 +57,7 @@ _llgo_0: store i32 100, ptr %3, align 4 store i1 true, ptr %4, align 1 call void @main.Print(ptr %2) - ret void + ret i32 0 } declare void @printf(ptr, ...) diff --git a/cl/_testrt/unreachable/out.ll b/cl/_testrt/unreachable/out.ll index 6b84c00b..0e3a0f72 100644 --- a/cl/_testrt/unreachable/out.ll +++ b/cl/_testrt/unreachable/out.ll @@ -25,7 +25,7 @@ _llgo_2: ; preds = %_llgo_1, %_llgo_0 ret void } -define void @main(i32 %0, ptr %1) { +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 @@ -33,7 +33,7 @@ _llgo_0: call void @main.init() call void @main.foo() %2 = call i32 (ptr, ...) @printf(ptr @0) - ret void + ret i32 0 } declare void @"github.com/goplus/llgo/internal/runtime.init"()