Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions cl/_testgo/allocinloop/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ func Foo(s string) int {
// CHECK-DAG: call i64 @main.Foo(%"{{.*}}String" { ptr @{{[0-9]+}}, i64 5 })
// CHECK-DAG: call i1 @__llgo_coro_preempt_poll_v1(ptr %0)
// CHECK-DAG: call ptr @"{{.*}}PrintInt$coro"
// CHECK-DAG: call void @__llgo_coro_await_prepare_v3
// CHECK-DAG: call i1 @__llgo_coro_await_prepare_inline_v4
// CHECK-DAG: icmp slt i64 {{.*}}, 10000000
// CHECK-DAG: call ptr @"{{.*}}PrintByte$coro"({{.*}}i8 10)
// CHECK-DAG: call void @__llgo_coro_await_prepare_v3
// CHECK-DAG: call i1 @__llgo_coro_await_prepare_inline_v4
// CHECK-NOT: call ptr @"{{.*}}AllocZ"
func Test() {
j := 0
Expand All @@ -33,7 +33,7 @@ func Test() {

// CHECK-LABEL: define ptr @"main.main$coro"(ptr %0, ptr %1){{.*}} {
// CHECK: call ptr @"main.Test$coro"
// CHECK: call void @__llgo_coro_await_prepare_v3
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4
func main() {
Test()
}
2 changes: 1 addition & 1 deletion cl/_testgo/cgofull/cgofull.go
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ func runPy() {
// CHECK: call i32 @__llgo_coro_worker_resume_v1(
// CHECK-LABEL: define ptr @"main.triggerC2func$coro"(
// CHECK: call ptr @"main._C2func_test_structs$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call i8 @llvm.coro.suspend(
// CHECK-LABEL: define linkonce i64 @__llgo_coro_worker_cgo_thunk_v1_
// CHECK: call {{.*}} @main._Cfunc_
6 changes: 3 additions & 3 deletions cl/_testgo/defer3/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@ func main() {
// CHECK-NOT: @llvm.coro.
// CHECK: ret i1
// CHECK-LABEL: define ptr @"main.fail$coro"(
// CHECK: call void @__llgo_coro_frame_publish_v1(
// CHECK: call void @__llgo_coro_frame_publish_v3(
// CHECK: call void @__llgo_coro_panic_prepare_v1(
// CHECK: call ptr @"{{.*}}/runtime/internal/runtime.PrintString$coro"
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call i8 @llvm.coro.suspend(
// CHECK-LABEL: define ptr @"main.main$coro"(
// CHECK: call void @__llgo_coro_panic_prepare_v1(
// CHECK: call ptr @"main.fail$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK-LABEL: define ptr @"main.main$1$coro"(
// CHECK: call ptr @"{{.*}}/runtime/internal/runtime.PrintString$coro"
2 changes: 1 addition & 1 deletion cl/_testgo/defer5/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ func main() {
// CHECK-LABEL: define ptr @"main.main$coro"(
// CHECK: call void @__llgo_coro_panic_prepare_v1(
// CHECK: call ptr @"{{.*}}/runtime/internal/runtime.PrintString$coro"
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK-LABEL: define ptr @"main.main$1$coro"(
// CHECK: call void @__llgo_coro_recover_take_v1(
// CHECK: call ptr @"{{.*}}/runtime/internal/runtime.PrintString$coro"
Expand Down
2 changes: 1 addition & 1 deletion cl/_testgo/deferdispatch-wasm-target/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ func main() {
// CHECK-LABEL: define ptr @"main.main$coro"(
// CHECK: call i32 @llvm.coro.size.i32()
// CHECK: call ptr @"main.run$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call i8 @llvm.coro.suspend(
// CHECK-LABEL: define ptr @"main.run$coro"(
// CHECK: call i32 @llvm.coro.size.i32()
Expand Down
2 changes: 1 addition & 1 deletion cl/_testgo/deferdispatch-wasm/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ func main() {
// CHECK-LABEL: define ptr @"main.main$coro"(
// CHECK: call i32 @llvm.coro.size.i32()
// CHECK: call ptr @"main.run$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call i8 @llvm.coro.suspend(
// CHECK-LABEL: define ptr @"main.run$coro"(
// CHECK: call i32 @llvm.coro.size.i32()
Expand Down
2 changes: 1 addition & 1 deletion cl/_testgo/deferdispatch/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ func main() {
// CHECK-LABEL: define ptr @"main.main$coro"(
// CHECK: call i64 @llvm.coro.size.i64()
// CHECK: call ptr @"main.run$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call i8 @llvm.coro.suspend(
// CHECK-LABEL: define ptr @"main.run$coro"(
// CHECK: call i64 @llvm.coro.size.i64()
Expand Down
6 changes: 3 additions & 3 deletions cl/_testgo/errors/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ package main
// CHECK-NOT: _llgo_routine
// CHECK-LABEL: define ptr @"main.New$coro"(
// CHECK: call ptr @"{{.*}}AllocZ"(
// CHECK: call ptr @"{{.*}}NewItab$coro"(
// CHECK: insertvalue %"{{.*}}iface" { ptr @__llgo_static_itab.
// CHECK: call i8 @llvm.coro.suspend(
// CHECK-NOT: NewProc
// CHECK-NOT: _llgo_routine
Expand All @@ -15,9 +15,9 @@ package main
// CHECK-NOT: NewProc
// CHECK-NOT: _llgo_routine
// CHECK-LABEL: define ptr @"main.main$coro"(
// CHECK: call ptr @"main.New$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call void @"main.New$outcome"(
// CHECK: call ptr @"{{.*}}PrintIface$coro"(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call ptr %{{[0-9]+}}(ptr %0,
// CHECK: call ptr @"{{.*}}PrintString$coro"(
// CHECK: call ptr @"{{.*}}PrintByte$coro"(
Expand Down
4 changes: 2 additions & 2 deletions cl/_testgo/goexit/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ import "runtime"
// CHECK-NOT: _llgo_routine
// CHECK-LABEL: define ptr @"main.demo1$1$coro"(
// CHECK: call ptr @"runtime.Goexit$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call ptr @"main.demo1$1$1$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK-NOT: NewProc
// CHECK-NOT: _llgo_routine
// CHECK-LABEL: define ptr @"main.demo1$1$1$coro"(
Expand Down
2 changes: 1 addition & 1 deletion cl/_testgo/interface/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import "github.com/goplus/llgo/cl/_testdata/foo"
// CHECK: call ptr @"{{.*}}NewItab$coro"(
// CHECK: call ptr @"{{.*}}PrintString$coro"(
// CHECK: call ptr %{{[0-9]+}}(ptr %0,
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call ptr @"{{.*}}NewItab$coro"(
// CHECK: call i8 @llvm.coro.suspend(
// CHECK-NOT: NewProc
Expand Down
6 changes: 3 additions & 3 deletions cl/_testgo/localitycodegen/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ package main
// CHECK: ret ptr
// CHECK-LABEL: define ptr @"main.__llgo_local_dispatch_tls_0$coro"(
// CHECK: call ptr @"main.__llgo_local_init_0$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call i8 @llvm.coro.suspend(
// CHECK-LABEL: define ptr @"main.__llgo_local_init_0$coro"(
// CHECK: call ptr @main.newPointer()
// CHECK: call ptr @"{{.*}}LocalPackageLogical$coro"(
// CHECK: call void @"{{.*}}LocalPackageLogical$outcome"(
// CHECK: call ptr @"{{.*}}EnsureLogicalLocalInitializer$coro"(
// CHECK-LABEL: define ptr @"main.init$coro"(
// CHECK: call ptr @main.newPointer()
Expand All @@ -34,7 +34,7 @@ package main
// CHECK-LABEL: define ptr @main.newPointer()
// CHECK: ret ptr @main.backing
// CHECK-LABEL: define ptr @"main.values$coro"(
// CHECK: call ptr @"{{.*}}LocalPackageLogical$coro"(
// CHECK: call void @"{{.*}}LocalPackageLogical$outcome"(
// CHECK: call ptr @"{{.*}}EnsureLogicalLocalInitializer$coro"(
// CHECK: call i8 @llvm.coro.suspend(
// CHECK-NOT: NewProc
Expand Down
4 changes: 2 additions & 2 deletions cl/_testgo/recoverthenpanic/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ package main
// CHECK: call void @__llgo_coro_panic_prepare_v1(
// CHECK: call void @__llgo_coro_recover_take_v1(
// CHECK: call ptr @"{{.*}}PrintString$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call ptr @"{{.*}}PrintByte$coro"(
// CHECK: call i8 @llvm.coro.suspend(
// CHECK-NOT: GetThreadDefer
// CHECK-NOT: SetThreadDefer
// CHECK-LABEL: define ptr @"main.main$coro"(
// CHECK: call void @__llgo_coro_panic_prepare_v1(
// CHECK: call ptr @"main.End$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call i8 @llvm.coro.suspend(
// CHECK-NOT: GetThreadDefer
// CHECK-NOT: SetThreadDefer
Expand Down
14 changes: 7 additions & 7 deletions cl/_testgo/reflectconv/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ import (
// CHECK-NOT: _llgo_routine
// CHECK-LABEL: define ptr @"main.TestConvert$coro"(
// CHECK: call ptr @"reflect.Value.CanConvert$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call ptr @"reflect.Value.Convert$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call ptr @"reflect.Value.Interface$coro"(
// CHECK: call ptr @"reflect.Value.Set$coro"(
// CHECK: call i8 @llvm.coro.suspend(
// CHECK-LABEL: define ptr @"main.TestConvertNaNs$coro"(
// CHECK: call ptr @"reflect.Value.Convert$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK-LABEL: define ptr @"main.TestConvertPanic$coro"(
// CHECK: call ptr @"reflect.Value.CanConvert$coro"(
// CHECK: call ptr @"reflect.Value.Convert$coro"(
Expand All @@ -39,13 +39,13 @@ import (
// CHECK: call i8 @llvm.coro.suspend(
// CHECK-LABEL: define ptr @"main.main$coro"(
// CHECK: call ptr @"main.TestConvert$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call ptr @"main.TestConvertPanic$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call ptr @"main.TestConvertSlice2Array$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call ptr @"main.TestConvertNaNs$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK-NOT: NewProc
// CHECK-NOT: _llgo_routine

Expand Down
4 changes: 2 additions & 2 deletions cl/_testgo/reflectfn/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ func demo() {
// CHECK-LABEL: define ptr @"main.main$coro"(ptr %0, ptr %1){{.*}} {
// CHECK: store { ptr, ptr } { ptr @__llgo_coro_func_descriptor_v1.{{.*}}, ptr null }
// CHECK: call ptr @{{.*}}reflect.Value.UnsafePointer$coro{{.*}}(
// CHECK: call void @__llgo_coro_await_prepare_v3
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4
func main() {
v := 100
fn := func() {
Expand All @@ -37,5 +37,5 @@ func main() {
// CHECK-LABEL: define ptr @"main.main$1$coro"(ptr %0, ptr %1, ptr swiftself %2){{.*}} {
// CHECK: load { ptr }, ptr %2
// CHECK: call ptr @"{{.*}}/runtime/internal/runtime.PrintInt$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4
// CHECK-NOT: __llgo_stub.
4 changes: 2 additions & 2 deletions cl/_testgo/reflectmk/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import (
// CHECK: @__llgo_coro_func_descriptor_v1.method.{{.*}} = linkonce_odr unnamed_addr constant
// CHECK-LABEL: define ptr @"main.Point.String$coro"(ptr %0, ptr %1, %main.Point %2){{.*}} {
// CHECK: call ptr @"fmt.Sprintf$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4
// CHECK-LABEL: define ptr @"main.(*Point).Set$coro"(ptr %0, ptr %1, ptr %2, i64 %3, i64 %4){{.*}} {
// CHECK: store i64 %3
// CHECK: store i64 %4
Expand All @@ -25,7 +25,7 @@ import (
// CHECK-DAG: call ptr @"reflect.PointerTo$coro"(
// CHECK-DAG: call ptr @"reflect.SliceOf$coro"(
// CHECK-DAG: call ptr @"reflect.StructOf$coro"(
// CHECK-DAG: call ptr @"reflect.Value.Method$coro"(
// CHECK-DAG: call void @"reflect.Value.Method$outcome"(
// CHECK-DAG: call ptr @"reflect.Value.MethodByName$coro"(
// CHECK-DAG: call ptr @"reflect.Value.Call$coro"(
// CHECK-LABEL: define ptr @"main.method$coro"(ptr %0, ptr %1, i64 %2){{.*}} {
Expand Down
9 changes: 5 additions & 4 deletions cl/_testgo/returnorder/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@ package main
import "fmt"

// A call in a return list is evaluated before the sibling variable is loaded.
// The call itself uses the structured outcome path and its caller awaits the
// coroutine result rather than falling back to a native goroutine wrapper.
// The bounded call uses the structured outcome-plain path directly rather
// than falling back to a native goroutine wrapper or suspending its caller.
//
// CHECK-NOT: NewProc
// CHECK-NOT: _llgo_routine
// CHECK-LABEL: define ptr @"main.main$coro"(
// CHECK: call ptr @"main.returnStateAndMut$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call void @"main.returnStateAndMut$outcome"(
// CHECK-NOT: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: load i32
// CHECK: call i8 @llvm.coro.suspend(
// CHECK-LABEL: define ptr @"main.returnStateAndMut$coro"(
// CHECK: store i64 1
Expand Down
8 changes: 4 additions & 4 deletions cl/_testgo/rewrite/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,20 @@ import (
// CHECK-NOT: _llgo_routine
// CHECK-LABEL: define ptr @"main.init$coro"(
// CHECK: call ptr @"fmt.init$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call ptr @"github.com/goplus/llgo/cl/_testgo/rewrite/dep.init$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK-LABEL: define ptr @"main.main$coro"(
// CHECK: call ptr @"main.printLine$coro"(
// CHECK: call ptr @"github.com/goplus/llgo/cl/_testgo/rewrite/dep.PrintVar$coro"(
// CHECK: call %"{{.*}}String" @runtime.GOROOT()
// CHECK: call ptr @"main.printLine$coro"(
// CHECK: call %"{{.*}}String" @runtime.Version()
// CHECK: call ptr @"main.printLine$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK-LABEL: define ptr @"main.printLine$coro"(
// CHECK: call ptr @"fmt.Printf$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK-NOT: NewProc
// CHECK-NOT: _llgo_routine

Expand Down
4 changes: 2 additions & 2 deletions cl/_testgo/syncmap/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ import (
// CHECK-NOT: _llgo_routine
// CHECK-LABEL: define ptr @"main.main$coro"(
// CHECK: call ptr @"sync.(*Map).Store$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call ptr @"sync.(*Map).Load$coro"(
// CHECK: call ptr @"fmt.Println$coro"(
// CHECK: call ptr @"sync.(*Map).Range$coro"(
// CHECK-SAME: { ptr, ptr } { ptr @__llgo_coro_func_descriptor_v1.{{.*}}, ptr null }
// CHECK: call i8 @llvm.coro.suspend(
// CHECK-LABEL: define ptr @"main.main$1$coro"(
// CHECK: call ptr @"fmt.Printf$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK-NOT: __llgo_stub.
// CHECK-NOT: NewProc
// CHECK-NOT: _llgo_routine
Expand Down
21 changes: 11 additions & 10 deletions cl/_testgo/tptypes/in.go
Original file line number Diff line number Diff line change
@@ -1,26 +1,27 @@
// LITTEST
package main

// Generic instances keep distinct typed entries but share the same stackless
// call/await protocol. Register allocation and expanded append lowering are not
// part of this fixture's contract.
// Generic instances keep distinct typed coroutine entries. Their bounded
// append bodies and statically known callers use the outcome-plain fast path;
// only genuinely suspending printing keeps the stackless await protocol.
//
// CHECK-NOT: NewProc
// CHECK-NOT: _llgo_routine
// CHECK-LABEL: define ptr @"main.main$coro"(
// CHECK: call ptr @"main.(*Slice{{\[\[\]int,int\]}}).Append$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call ptr @"main.(*Slice{{\[\[\]string,string\]}}).Append$coro"(
// CHECK: call ptr @"main.(*Slice{{\[\[\]int,int\]}}).Append2$coro"(
// CHECK: call void @"main.(*Slice{{\[\[\]int,int\]}}).Append$outcome"(
// CHECK: call void @"main.(*Slice{{\[\[\]string,string\]}}).Append$outcome"(
// CHECK: call void @"main.(*Slice{{\[\[\]int,int\]}}).Append$outcome"(
// CHECK: call void @"main.(*Slice{{\[\[\]int,int\]}}).Append2$outcome"(
// CHECK: call ptr @"{{.*}}PrintInt$coro"(
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4(
// CHECK: call ptr @"{{.*}}PrintString$coro"(
// CHECK: call i8 @llvm.coro.suspend(
// CHECK-LABEL: define linkonce ptr @"main.(*Slice{{\[\[\]int,int\]}}).Append$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call void @"{{.*}}SliceAppend$outcome"(
// CHECK-LABEL: define linkonce ptr @"main.(*Slice{{\[\[\]int,int\]}}).Append2$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call void @"{{.*}}SliceAppend$outcome"(
// CHECK-LABEL: define linkonce ptr @"main.(*Slice{{\[\[\]string,string\]}}).Append$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3(
// CHECK: call void @"{{.*}}SliceAppend$outcome"(
// CHECK-NOT: NewProc
// CHECK-NOT: _llgo_routine

Expand Down
3 changes: 1 addition & 2 deletions cl/_testlibc/allocacstrs/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ func main() {
// CHECK: [[CSTRMEM:%[0-9]+]] = call ptr @"{{.*}}/runtime/internal/runtime.AllocU"(i64
// CHECK-NOT: alloca ptr, i64
// CHECK-NOT: alloca i8, i64
// CHECK: [[COPY:%[0-9]+]] = call ptr @"{{.*}}/runtime/internal/runtime.CStrCopy$coro"({{.*}}ptr [[CSTRMEM]]
// CHECK: call void @__llgo_coro_await_prepare_v3({{.*}}ptr [[COPY]]
// CHECK: call void @"{{.*}}/runtime/internal/runtime.CStrCopy$outcome"({{.*}}ptr [[CSTRMEM]]
// CHECK-NOT: alloca ptr, i64
// CHECK-NOT: alloca i8, i64
// CHECK: call void @__llgo_coro_worker_park_v1
Expand Down
2 changes: 1 addition & 1 deletion cl/_testlibc/complex/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ func main() {
// CHECK-LABEL: define ptr @"main.main$coro"(
// CHECK: store ptr @main.f
// CHECK: call ptr @"main.f$coro"(
// CHECK: call void @__llgo_coro_await_prepare_v3
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4
2 changes: 1 addition & 1 deletion cl/_testlibc/sqlite/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ func check(err sqlite.Errno) {
// CHECK-LABEL: define ptr @"main.main$coro"(
func main() {
// CHECK: [[OPEN:%[0-9]+]] = call ptr @"github.com/goplus/lib/c/sqlite.OpenV2$coro"({{.*}}ptr @{{[0-9]+}}, i32 130, ptr null)
// CHECK: call void @__llgo_coro_await_prepare_v3({{.*}}ptr [[OPEN]]
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4({{.*}}ptr [[OPEN]]
db, err := sqlite.OpenV2(c.Str(":memory:"), sqlite.OpenReadWrite|sqlite.OpenMemory, nil)
check(err)

Expand Down
13 changes: 6 additions & 7 deletions cl/_testlibgo/bytes/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,14 @@ import (
)

// CHECK-LABEL: define ptr @"main.main$coro"(
// CHECK: call ptr @"{{.*}}/runtime/internal/runtime.AllocZ"(i64 40)
// CHECK: [[S2B:%[0-9]+]] = call ptr @"{{.*}}/runtime/internal/runtime.StringToBytes$coro"
// CHECK: call void @__llgo_coro_await_prepare_v3({{.*}}ptr [[S2B]]
// CHECK: alloca %bytes.Buffer
// CHECK: call void @"{{.*}}/runtime/internal/runtime.StringToBytes$outcome"
// CHECK: [[WRITE:%[0-9]+]] = call ptr @"bytes.(*Buffer).Write$coro"
// CHECK: call void @__llgo_coro_await_prepare_v3({{.*}}ptr [[WRITE]]
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4({{.*}}ptr [[WRITE]]
// CHECK: call ptr @"bytes.(*Buffer).WriteString$coro"
// CHECK: call ptr @"bytes.(*Buffer).Bytes$coro"
// CHECK: call ptr @"bytes.(*Buffer).String$coro"
// CHECK: call ptr @"bytes.EqualFold$coro"
// CHECK: call void @"bytes.(*Buffer).Bytes$outcome"
// CHECK: call void @"bytes.(*Buffer).String$outcome"
// CHECK: call void @"bytes.EqualFold$outcome"
func main() {
var b bytes.Buffer // A Buffer needs no initialization.
b.Write([]byte("Hello "))
Expand Down
5 changes: 3 additions & 2 deletions cl/_testlibgo/complex/in.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ import (

// CHECK-LABEL: define ptr @"main.f$coro"(
func f(c, z complex128) {
// CHECK: [[ABS:%[0-9]+]] = call ptr @"math/cmplx.Abs$coro"
// CHECK: call void @__llgo_coro_await_prepare_v3({{.*}}ptr [[ABS]]
// CHECK: call void @"math/cmplx.Abs$outcome"
// CHECK: [[PRINT:%[0-9]+]] = call ptr @"{{.*}}PrintFloat$coro"
// CHECK: call i1 @__llgo_coro_await_prepare_inline_v4({{.*}}ptr [[PRINT]]
println("abs(3+4i):", cmplx.Abs(c))
// CHECK: extractvalue { double, double } %3, 0
// CHECK: extractvalue { double, double } %3, 1
Expand Down
Loading