; RUN: llc -march=hexagon < %s | FileCheck %s ; ; XFAIL: * ; This test is failing after post-ra machine sinking. ; ; Check that no epilogue is inserted after a noreturn call. ; ; CHECK-LABEL: f1: ; CHECK: allocframe(r29,#0):raw ; CHECK-NOT: deallocframe target triple = "hexagon" %s.0 = type <{ i16, i8, i8, i8 }> @g0 = internal constant %s.0 <{ i16 1, i8 2, i8 3, i8 4 }>, align 4 ; Function Attrs: noreturn declare void @f0(%s.0*, i32) #0 define i64 @f1(i32 %a0, i32 %a1) { b0: %v0 = icmp ugt i32 %a0, 3 br i1 %v0, label %b1, label %b2 b1: ; preds = %b0 call void @f0(%s.0* nonnull @g0, i32 %a0) #0 unreachable b2: ; preds = %b0 %v1 = mul i32 %a1, 7 %v2 = zext i32 %v1 to i64 ret i64 %v2 } attributes #0 = { noreturn }