1; RUN: llc < %s -mtriple=arm-unknown-unknown | FileCheck %s -check-prefix=NOOPTION
2; RUN: llc < %s -mtriple=arm-unknown-unknown -trap-func=trap_llc | FileCheck %s -check-prefix=TRAP
3
4; NOOPTION-LABEL: {{\_?}}foo0:
5; NOOPTION: trap{{$}}
6
7; TRAP-LABEL: {{\_?}}foo0:
8; TRAP: bl {{\_?}}trap_llc
9
10define void @foo0() {
11  call void @llvm.trap()
12  unreachable
13}
14
15; NOOPTION-LABEL: {{\_?}}foo1:
16; NOOPTION: bl {{\_?}}trap_func_attr0
17
18; TRAP-LABEL: {{\_?}}foo1:
19; TRAP: bl {{\_?}}trap_llc
20
21define void @foo1() {
22  call void @llvm.trap() #0
23  unreachable
24}
25
26; NOOPTION-LABEL: {{\_?}}foo2:
27; NOOPTION: bl {{\_?}}trap_func_attr1
28
29; TRAP-LABEL: {{\_?}}foo2:
30; TRAP: bl {{\_?}}trap_llc
31
32define void @foo2() {
33  call void @llvm.trap() #1
34  unreachable
35}
36
37declare void @llvm.trap() nounwind
38
39attributes #0 = { "trap-func-name"="trap_func_attr0" }
40attributes #1 = { "trap-func-name"="trap_func_attr1" }
41