blob: 730505b68fb92df18e813c3ed72c869bb0694715 [file] [edit]
; RUN: llc < %s -mtriple=wasm32-unknown-unknown -verify-machineinstrs -disable-wasm-fallthrough-return-opt -wasm-disable-explicit-locals -wasm-keep-registers | FileCheck %s
; Without +tail-call, advisory `tail` calls silently fall back to regular calls.
define swifttailcc void @basic_no_tailcall(ptr swiftasync %ctx) {
; CHECK-LABEL: basic_no_tailcall:
; CHECK: .functype basic_no_tailcall (i32, i32, i32) -> ()
; CHECK: return
ret void
}
; Advisory tail call without +tail-call: falls back to regular call.
define swifttailcc void @tail_no_tailcall(ptr swiftasync %ctx) {
; CHECK-LABEL: tail_no_tailcall:
; CHECK-NOT: return_call
; CHECK: call tail_no_tailcall
tail call swifttailcc void @tail_no_tailcall(ptr swiftasync %ctx)
ret void
}