brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 30d3a66 Raw
52 lines · plain
1; RUN: llc -mtriple=hexagon  -O2 -spill-func-threshold=2 < %s | FileCheck %s2 3declare i32 @f0(i32, i32, i32, i32, i32, i32)4 5; CHECK-LABEL: f1:6; CHECK: save_r16_through_r237define i32 @f1(i32 %a0, i32 %a11, i32 %a22, i32 %a33, i32 %a4, i32 %a5) #0 {8b0:9  %v0 = call i32 @f0(i32 0, i32 1, i32 2, i32 3, i32 4, i32 5)10  %v1 = call i32 @f0(i32 %a0, i32 %a11, i32 %a22, i32 %a33, i32 %a4, i32 %a5)11  %v2 = add i32 %v0, %v112  ret i32 %v213}14 15declare i32 @f2(i32, i32, i32, i32)16 17; CHECK-LABEL: f3:18; CHECK: save_r16_through_r2119define i32 @f3(i32 %a0, i32 %a11, i32 %a22, i32 %a33, i32 %a44, i32 %a5) #0 {20b0:21  %v0 = call i32 @f2(i32 0, i32 1, i32 2, i32 3)22  %v1 = call i32 @f2(i32 %a0, i32 %a11, i32 %a22, i32 %a33)23  %v2 = add i32 %v0, %v124  %v3 = add i32 %v2, %a4425  ret i32 %v326}27 28declare i32 @f4(i32, i32)29 30; CHECK-LABEL: f5:31; CHECK-NOT: save_r16_through_r1932define i32 @f5(i32 %a0, i32 %a11, i32 %a22, i32 %a33, i32 %a4, i32 %a5) #0 {33b0:34  %v0 = call i32 @f4(i32 0, i32 1)35  %v1 = call i32 @f4(i32 %a0, i32 %a11)36  %v2 = add i32 %v0, %v137  ret i32 %v238}39 40declare i32 @f6(i32)41 42; CHECK-LABEL: f7:43; CHECK-NOT: save_r16_through_r1744define i32 @f7(i32 %a0, i32 %a11, i32 %a22, i32 %a3, i32 %a4, i32 %a5) #0 {45b0:46  %v0 = call i32 @f6(i32 0)47  %v1 = call i32 @f6(i32 %a0)48  ret i32 %v049}50 51attributes #0 = { nounwind }52