1; RUN: llc -hexagon-long-calls -march=hexagon -enable-save-restore-long=true < %s | FileCheck %s 2 3; CHECK: call ##f1 4; CHECK: jump ##__restore 5 6; Function Attrs: minsize nounwind 7define i64 @f0(i32 %a0, i32 %a1) #0 { 8b0: 9 %v0 = add nsw i32 %a0, 5 10 %v1 = tail call i64 @f1(i32 %v0) #1 11 %v2 = sext i32 %a1 to i64 12 %v3 = add nsw i64 %v1, %v2 13 ret i64 %v3 14} 15 16; Function Attrs: minsize nounwind 17declare i64 @f1(i32) #0 18 19; Function Attrs: nounwind 20define i64 @f2(i32 %a0, i32 %a1) #1 { 21b0: 22 %v0 = add nsw i32 %a0, 5 23 %v1 = tail call i64 @f1(i32 %v0) #1 24 ret i64 %v1 25} 26 27; Function Attrs: noreturn nounwind 28define i64 @f3(i32 %a0, i32 %a1) #2 { 29b0: 30 %v0 = add nsw i32 %a0, 5 31 %v1 = tail call i64 @f4(i32 %v0) #2 32 unreachable 33} 34 35; Function Attrs: noreturn 36declare i64 @f4(i32) #3 37 38attributes #0 = { minsize nounwind } 39attributes #1 = { nounwind } 40attributes #2 = { noreturn nounwind } 41attributes #3 = { noreturn } 42