|  | ; RUN: llc < %s -mtriple=arm-unknown-unknown | FileCheck %s -check-prefix=NOOPTION | 
|  | ; RUN: llc < %s -mtriple=arm-unknown-unknown -trap-func=trap_llc | FileCheck %s -check-prefix=TRAP | 
|  |  | 
|  | ; NOOPTION-LABEL: {{\_?}}foo0: | 
|  | ; NOOPTION: trap{{$}} | 
|  |  | 
|  | ; TRAP-LABEL: {{\_?}}foo0: | 
|  | ; TRAP: bl {{\_?}}trap_llc | 
|  |  | 
|  | define void @foo0() { | 
|  | call void @llvm.trap() | 
|  | unreachable | 
|  | } | 
|  |  | 
|  | ; NOOPTION-LABEL: {{\_?}}foo1: | 
|  | ; NOOPTION: bl {{\_?}}trap_func_attr0 | 
|  |  | 
|  | ; TRAP-LABEL: {{\_?}}foo1: | 
|  | ; TRAP: bl {{\_?}}trap_llc | 
|  |  | 
|  | define void @foo1() { | 
|  | call void @llvm.trap() #0 | 
|  | unreachable | 
|  | } | 
|  |  | 
|  | ; NOOPTION-LABEL: {{\_?}}foo2: | 
|  | ; NOOPTION: bl {{\_?}}trap_func_attr1 | 
|  |  | 
|  | ; TRAP-LABEL: {{\_?}}foo2: | 
|  | ; TRAP: bl {{\_?}}trap_llc | 
|  |  | 
|  | define void @foo2() { | 
|  | call void @llvm.trap() #1 | 
|  | unreachable | 
|  | } | 
|  |  | 
|  | declare void @llvm.trap() nounwind | 
|  |  | 
|  | attributes #0 = { "trap-func-name"="trap_func_attr0" } | 
|  | attributes #1 = { "trap-func-name"="trap_func_attr1" } |