xref: /llvm-project/llvm/test/CodeGen/ARM/fnattr-trap.ll (revision 7779f75cc8203e752bd5f0bca0882605ecad9233)
1*7779f75cSNAKAMURA Takumi; RUN: llc < %s -mtriple=arm-unknown-unknown | FileCheck %s -check-prefix=NOOPTION
2*7779f75cSNAKAMURA Takumi; RUN: llc < %s -mtriple=arm-unknown-unknown -trap-func=trap_llc | FileCheck %s -check-prefix=TRAP
356c70441SAkira Hatanaka
456c70441SAkira Hatanaka; NOOPTION-LABEL: {{\_?}}foo0:
556c70441SAkira Hatanaka; NOOPTION: trap{{$}}
656c70441SAkira Hatanaka
756c70441SAkira Hatanaka; TRAP-LABEL: {{\_?}}foo0:
856c70441SAkira Hatanaka; TRAP: bl {{\_?}}trap_llc
956c70441SAkira Hatanaka
1056c70441SAkira Hatanakadefine void @foo0() {
1156c70441SAkira Hatanaka  call void @llvm.trap()
1256c70441SAkira Hatanaka  unreachable
1356c70441SAkira Hatanaka}
1456c70441SAkira Hatanaka
1556c70441SAkira Hatanaka; NOOPTION-LABEL: {{\_?}}foo1:
1656c70441SAkira Hatanaka; NOOPTION: bl {{\_?}}trap_func_attr0
1756c70441SAkira Hatanaka
1856c70441SAkira Hatanaka; TRAP-LABEL: {{\_?}}foo1:
1956c70441SAkira Hatanaka; TRAP: bl {{\_?}}trap_llc
2056c70441SAkira Hatanaka
2156c70441SAkira Hatanakadefine void @foo1() {
2256c70441SAkira Hatanaka  call void @llvm.trap() #0
2356c70441SAkira Hatanaka  unreachable
2456c70441SAkira Hatanaka}
2556c70441SAkira Hatanaka
2656c70441SAkira Hatanaka; NOOPTION-LABEL: {{\_?}}foo2:
2756c70441SAkira Hatanaka; NOOPTION: bl {{\_?}}trap_func_attr1
2856c70441SAkira Hatanaka
2956c70441SAkira Hatanaka; TRAP-LABEL: {{\_?}}foo2:
3056c70441SAkira Hatanaka; TRAP: bl {{\_?}}trap_llc
3156c70441SAkira Hatanaka
3256c70441SAkira Hatanakadefine void @foo2() {
3356c70441SAkira Hatanaka  call void @llvm.trap() #1
3456c70441SAkira Hatanaka  unreachable
3556c70441SAkira Hatanaka}
3656c70441SAkira Hatanaka
3756c70441SAkira Hatanakadeclare void @llvm.trap() nounwind
3856c70441SAkira Hatanaka
3956c70441SAkira Hatanakaattributes #0 = { "trap-func-name"="trap_func_attr0" }
4056c70441SAkira Hatanakaattributes #1 = { "trap-func-name"="trap_func_attr1" }
41