Eli Friedman | d00fb2e | 2018-11-07 21:31:14 +0000 | [diff] [blame] | 1 | ; RUN: llc -mtriple=aarch64-win32 %s -o - | FileCheck %s |
| 2 | |
| 3 | declare void @callee() noreturn |
| 4 | |
| 5 | ; Make sure the call isn't the last instruction in the function; if it is, |
| 6 | ; unwinding may break. |
| 7 | ; |
| 8 | ; (The instruction after the call doesn't have to be anything in particular, |
| 9 | ; but trapping has the nice side-effect of catching bugs.) |
| 10 | |
| 11 | define void @test_unreachable() { |
| 12 | ; CHECK-LABEL: test_unreachable: |
| 13 | ; CHECK: bl callee |
| 14 | ; CHECK-NEXT: brk #0x1 |
| 15 | call void @callee() noreturn |
| 16 | unreachable |
| 17 | } |