1; RUN: llc -mtriple=thumbv7 -trap-unreachable < %s | FileCheck %s --check-prefixes CHECK,TRAP_UNREACHABLE 2; RUN: llc -mtriple=thumbv7 -trap-unreachable -no-trap-after-noreturn < %s | FileCheck %s --check-prefixes CHECK,NTANR 3 4define void @test_trap_unreachable() #0 { 5; CHECK-LABEL: test_trap_unreachable: 6; CHECK: @ %bb.0: 7; CHECK-NEXT: .inst.n 0xdefe 8 unreachable 9} 10 11attributes #0 = { nounwind } 12 13declare void @no_return() noreturn 14declare void @could_return() 15 16define void @test_ntanr_noreturn() { 17; CHECK-LABEL: test_ntanr_noreturn: 18; CHECK: @ %bb.0: 19; CHECK-NEXT: push {r7, lr} 20; CHECK-NEXT: bl no_return 21; TRAP_UNREACHABLE-NEXT: .inst.n 0xdefe 22; NTANR-NOT: .inst.n 0xdefe 23; 24 call void @no_return() 25 unreachable 26} 27 28define void @test_ntanr_could_return() { 29; CHECK-LABEL: test_ntanr_could_return: 30; CHECK: @ %bb.0: 31; CHECK-NEXT: push {r7, lr} 32; CHECK-NEXT: bl could_return 33; CHECK-NEXT: .inst.n 0xdefe 34 call void @could_return() 35 unreachable 36} 37