xref: /llvm-project/llvm/test/CodeGen/WebAssembly/naked-fn-with-frame-pointer.ll (revision ad4a582fd938c933e784f0052bd773676b37b690)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2; RUN: llc < %s -mtriple wasm32 | FileCheck %s -check-prefixes=CHECK-32
3; RUN: llc < %s -mtriple wasm64 | FileCheck %s -check-prefixes=CHECK-64
4
5declare dso_local void @main()
6
7define dso_local void @naked() naked "frame-pointer"="all" {
8; CHECK-32-LABEL: naked:
9; CHECK-32:         .functype naked () -> ()
10; CHECK-32-NEXT:  # %bb.0:
11; CHECK-32-NEXT:    call main
12; CHECK-32-NEXT:    unreachable
13;
14; CHECK-64-LABEL: naked:
15; CHECK-64:         .functype naked () -> ()
16; CHECK-64-NEXT:  # %bb.0:
17; CHECK-64-NEXT:    call main
18; CHECK-64-NEXT:    unreachable
19  call void @main()
20  unreachable
21}
22
23define dso_local void @normal() "frame-pointer"="all" {
24; CHECK-32-LABEL: normal:
25; CHECK-32:         .functype normal () -> ()
26; CHECK-32-NEXT:  # %bb.0:
27; CHECK-32-NEXT:    call main
28; CHECK-32-NEXT:    unreachable
29;
30; CHECK-64-LABEL: normal:
31; CHECK-64:         .functype normal () -> ()
32; CHECK-64-NEXT:  # %bb.0:
33; CHECK-64-NEXT:    call main
34; CHECK-64-NEXT:    unreachable
35  call void @main()
36  unreachable
37}
38