; RUN: llc -march=hexagon < %s | FileCheck %s ; ; Check that we are emitting a regular call instead of a tail call for a ; noreturn call in a function with a non-empty frame (to save instructions). ; ; CHECK: call f0 ; CHECK-NOT: deallocframe target triple = "hexagon" ; Function Attrs: noreturn declare void @f0(i32, i32*) #0 declare void @f1(i32*) define i64 @f2(i32 %a0, i32 %a1) { b0: %v0 = alloca i32 call void @f1(i32* %v0) %v1 = icmp ugt i32 %a0, 3 br i1 %v1, label %b1, label %b2 b1: ; preds = %b0 tail call void @f0(i32 %a0, i32* %v0) #0 unreachable b2: ; preds = %b0 %v2 = mul i32 %a1, 7 %v3 = zext i32 %v2 to i64 ret i64 %v3 } attributes #0 = { noreturn }