xref: /llvm-project/llvm/test/CodeGen/AArch64/debugtrap.ll (revision f9d69a0ab02567933302602238264a38468f9900)
1; RUN: llc -mtriple=aarch64-windows %s -o -| FileCheck %s
2; RUN: llc -mtriple=aarch64-windows -fast-isel %s -o - | FileCheck %s --check-prefix=FASTISEL
3; RUN: llc -mtriple=aarch64-windows -global-isel %s -o - | FileCheck %s
4; RUN: llc -mtriple=aarch64-linux-gnu %s -o -| FileCheck %s
5; RUN: llc -mtriple=arm64-apple-ios -global-isel %s -o - | FileCheck %s
6; RUN: llc -mtriple=arm64-apple-macosx -fast-isel %s -o - | FileCheck %s --check-prefix=FASTISEL
7
8; CHECK-LABEL: test1:
9; CHECK: brk #0xf000
10; FASTISEL: brk #0xf000
11define void @test1() noreturn nounwind  {
12entry:
13  tail call void @llvm.debugtrap( )
14  ret void
15}
16
17declare void @llvm.debugtrap() nounwind
18
19; CHECK-LABEL: test_trap_func:
20; CHECK: bl {{.*}}wibble
21
22; FastISel doesn't handle trap-func-name for debugtrap.
23; FASTISEL: brk
24define void @test_trap_func() noreturn nounwind  {
25entry:
26  tail call void @llvm.debugtrap( ) "trap-func-name"="wibble"
27  ret void
28}