diff --git a/llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll b/llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll index deaf32c54dacce..2c524ee61a5668 100644 --- a/llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll +++ b/llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll @@ -69,8 +69,6 @@ define i32 @callee_float_in_regs(i32 %a, float %b) { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: mv a0, a1 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call __fixsfsi ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: add a0, s0, a0 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_1 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: callee_float_in_regs: @@ -86,9 +84,6 @@ define i32 @callee_float_in_regs(i32 %a, float %b) { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: mv a0, a1 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call __fixsfsi ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: add a0, s1, a0 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s1 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_2 %b_fptosi = fptosi float %b to i32 %1 = add i32 %a, %b_fptosi @@ -140,7 +135,6 @@ define i32 @caller_float_in_regs() { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a0, 1 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: lui a1, 262144 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call callee_float_in_regs -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_0 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_float_in_regs: @@ -154,8 +148,6 @@ define i32 @caller_float_in_regs() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: li a0, 1 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: lui a1, 262144 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call callee_float_in_regs -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = call i32 @callee_float_in_regs(i32 1, float 2.0) ret i32 %1 @@ -208,8 +200,6 @@ define i32 @callee_float_on_stack(i64 %a, i64 %b, i64 %c, i64 %d, float %e) { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: lw a0, 8(s0) ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: lw a1, 0(s0) ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: add a0, a1, a0 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = trunc i64 %d to i32 %2 = bitcast float %e to i32 @@ -290,9 +280,8 @@ define i32 @caller_float_on_stack() { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a3, 0 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a5, 0 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call callee_float_on_stack -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, 12 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 4 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_0 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_float_on_stack: @@ -316,10 +305,8 @@ define i32 @caller_float_on_stack() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: li a3, 0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: li a5, 0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call callee_float_on_stack -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, 12 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = call i32 @callee_float_on_stack(i64 1, i64 2, i64 3, i64 4, float 5.0) ret i32 %1 @@ -364,8 +351,6 @@ define float @callee_tiny_scalar_ret() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi s0, sp, 8 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: lui a0, 260096 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 ret float 1.0 } @@ -409,7 +394,6 @@ define i32 @caller_tiny_scalar_ret() { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 4 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset ra, -4 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call callee_tiny_scalar_ret -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_0 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_tiny_scalar_ret: @@ -421,8 +405,6 @@ define i32 @caller_tiny_scalar_ret() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi s0, sp, 8 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call callee_tiny_scalar_ret -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = call float @callee_tiny_scalar_ret() %2 = bitcast float %1 to i32 @@ -492,8 +474,6 @@ define i32 @callee_double_in_regs(i32 %a, double %b) { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: mv a1, a2 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call __fixdfsi ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: add a0, s0, a0 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_1 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: callee_double_in_regs: @@ -510,9 +490,6 @@ define i32 @callee_double_in_regs(i32 %a, double %b) { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: mv a1, a2 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call __fixdfsi ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: add a0, s1, a0 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s1 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_2 %b_fptosi = fptosi double %b to i32 %1 = add i32 %a, %b_fptosi @@ -567,7 +544,6 @@ define i32 @caller_double_in_regs() { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: lui a2, 262144 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a1, 0 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call callee_double_in_regs -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_0 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_double_in_regs: @@ -582,8 +558,6 @@ define i32 @caller_double_in_regs() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: lui a2, 262144 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: li a1, 0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call callee_double_in_regs -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = call i32 @callee_double_in_regs(i32 1, double 2.0) ret i32 %1 @@ -672,8 +646,6 @@ define i32 @callee_aligned_stack(i32 %a, i32 %b, fp128 %c, i32 %d, i32 %e, i64 % ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: add a0, a0, a1 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: add a4, a5, a4 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: add a0, a0, a4 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = bitcast fp128 %c to i128 %2 = trunc i128 %1 to i32 @@ -859,10 +831,8 @@ define void @caller_aligned_stack() { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call callee_aligned_stack ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, s0, -64 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa sp, 64 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, 56 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_1 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_aligned_stack: @@ -915,10 +885,8 @@ define void @caller_aligned_stack() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call callee_aligned_stack ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, s0, -64 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa sp, 64 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, 56 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = call i32 @callee_aligned_stack(i32 1, i32 11, fp128 0xLEB851EB851EB851F400091EB851EB851, i32 12, i32 13, @@ -970,8 +938,6 @@ define double @callee_small_scalar_ret() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: lui a1, 261888 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: li a0, 0 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 ret double 1.0 } @@ -1015,7 +981,6 @@ define i64 @caller_small_scalar_ret() { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 4 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset ra, -4 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call callee_small_scalar_ret -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_0 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_small_scalar_ret: @@ -1027,8 +992,6 @@ define i64 @caller_small_scalar_ret() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi s0, sp, 8 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call callee_small_scalar_ret -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = call double @callee_small_scalar_ret() %2 = bitcast double %1 to i64 @@ -1077,8 +1040,6 @@ define i32 @callee_i64_in_regs(i32 %a, i64 %b) { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi s0, sp, 8 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: add a0, a0, a1 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %b_trunc = trunc i64 %b to i32 %1 = add i32 %a, %b_trunc @@ -1133,7 +1094,6 @@ define i32 @caller_i64_in_regs() { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a1, 2 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a2, 0 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call callee_i64_in_regs -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_0 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_i64_in_regs: @@ -1148,8 +1108,6 @@ define i32 @caller_i64_in_regs() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: li a1, 2 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: li a2, 0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call callee_i64_in_regs -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = call i32 @callee_i64_in_regs(i32 1, i64 2) ret i32 %1 @@ -1260,8 +1218,6 @@ define i32 @callee_many_scalars(i8 %a, i16 %b, i32 %c, i64 %d, i32 %e, i32 %f, i ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: add a0, a0, a7 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: add a0, a0, a6 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: add a0, a1, a0 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %a_ext = zext i8 %a to i32 %b_ext = zext i16 %b to i32 @@ -1355,9 +1311,8 @@ define i32 @caller_many_scalars() { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: sw a4, 0(sp) ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a4, 0 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call callee_many_scalars -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, 16 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 4 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_0 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_many_scalars: @@ -1383,10 +1338,8 @@ define i32 @caller_many_scalars() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: sw a4, 0(sp) ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: li a4, 0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call callee_many_scalars -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, 16 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = call i32 @callee_many_scalars(i8 1, i16 2, i32 3, i64 4, i32 5, i32 6, i64 7, i32 8) ret i32 %1 @@ -1493,8 +1446,6 @@ define i32 @callee_large_scalars(i128 %a, fp128 %b) { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: or a0, a1, a0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: or a0, a0, a3 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: seqz a0, a0 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %b_bitcast = bitcast fp128 %b to i128 %1 = icmp eq i128 %a, %b_bitcast @@ -1596,10 +1547,8 @@ define i32 @caller_large_scalars() { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call callee_large_scalars ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, s0, -48 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa sp, 48 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, 40 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_1 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_large_scalars: @@ -1627,10 +1576,8 @@ define i32 @caller_large_scalars() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call callee_large_scalars ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, s0, -48 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa sp, 48 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, 40 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = call i32 @callee_large_scalars(i128 1, fp128 0xL00000000000000007FFF000000000000) ret i32 %1 @@ -1747,8 +1694,6 @@ define i32 @callee_large_scalars_exhausted_regs(i32 %a, i32 %b, i32 %c, i32 %d, ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: or a0, a1, a0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: or a0, a0, a3 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: seqz a0, a0 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %j_bitcast = bitcast fp128 %j to i128 %1 = icmp eq i128 %h, %j_bitcast @@ -1886,10 +1831,8 @@ define i32 @caller_large_scalars_exhausted_regs() { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call callee_large_scalars_exhausted_regs ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, s0, -64 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa sp, 64 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, 56 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_1 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_large_scalars_exhausted_regs: @@ -1929,10 +1872,8 @@ define i32 @caller_large_scalars_exhausted_regs() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call callee_large_scalars_exhausted_regs ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, s0, -64 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa sp, 64 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, 56 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = call i32 @callee_large_scalars_exhausted_regs( i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i128 8, i32 9, @@ -2012,10 +1953,8 @@ define i32 @caller_mixed_scalar_libcalls(i64 %a) { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: lw a0, 0(sp) ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, s0, -24 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa sp, 24 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, 16 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_1 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_mixed_scalar_libcalls: @@ -2035,10 +1974,8 @@ define i32 @caller_mixed_scalar_libcalls(i64 %a) { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: lw a0, 0(sp) ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, s0, -24 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa sp, 24 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, 16 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = sitofp i64 %a to fp128 %2 = bitcast fp128 %1 to i128 @@ -2094,8 +2031,6 @@ define i32 @callee_small_coerced_struct([2 x i32] %a.coerce) { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: xor a0, a0, a1 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: seqz a0, a0 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = extractvalue [2 x i32] %a.coerce, 0 %2 = extractvalue [2 x i32] %a.coerce, 1 @@ -2149,7 +2084,6 @@ define i32 @caller_small_coerced_struct() { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a0, 1 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: li a1, 2 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call callee_small_coerced_struct -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_0 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_small_coerced_struct: @@ -2163,8 +2097,6 @@ define i32 @caller_small_coerced_struct() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: li a0, 1 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: li a1, 2 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call callee_small_coerced_struct -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = call i32 @callee_small_coerced_struct([2 x i32] [i32 1, i32 2]) ret i32 %1 @@ -2221,8 +2153,6 @@ define i32 @callee_large_struct(ptr byval(%struct.large) align 4 %a) { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: lw a1, 0(a0) ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: lw a0, 12(a0) ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: add a0, a1, a0 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = getelementptr inbounds %struct.large, ptr %a, i32 0, i32 0 %2 = getelementptr inbounds %struct.large, ptr %a, i32 0, i32 3 @@ -2311,9 +2241,8 @@ define i32 @caller_large_struct() { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: sw a3, 12(sp) ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: mv a0, sp ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call callee_large_struct -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, 32 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 4 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_0 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_large_struct: @@ -2339,10 +2268,8 @@ define i32 @caller_large_struct() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: sw a3, -28(s0) ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi a0, s0, -40 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call callee_large_struct -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, 32 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %ls = alloca %struct.large, align 4 %1 = bitcast ptr %ls to ptr @@ -2403,8 +2330,6 @@ define %struct.small @callee_small_struct_ret() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: li a0, 1 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: li a1, 0 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 ret %struct.small { i32 1, ptr null } } @@ -2451,7 +2376,6 @@ define i32 @caller_small_struct_ret() { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_offset ra, -4 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call callee_small_struct_ret ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: add a0, a0, a1 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_0 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_small_struct_ret: @@ -2464,8 +2388,6 @@ define i32 @caller_small_struct_ret() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa s0, 0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call callee_small_struct_ret ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: add a0, a0, a1 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = call %struct.small @callee_small_struct_ret() %2 = extractvalue %struct.small %1, 0 @@ -2532,8 +2454,6 @@ define fp128 @callee_large_scalar_ret() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: sw zero, 8(a0) ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: sw zero, 4(a0) ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: sw zero, 0(a0) -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 ret fp128 0xL00000000000000007FFF000000000000 } @@ -2599,10 +2519,8 @@ define void @caller_large_scalar_ret() { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: call callee_large_scalar_ret ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, s0, -32 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa sp, 32 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, 24 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_1 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_large_scalar_ret: @@ -2619,10 +2537,8 @@ define void @caller_large_scalar_ret() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: call callee_large_scalar_ret ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, s0, -32 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa sp, 32 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, 24 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = call fp128 @callee_large_scalar_ret() ret void @@ -2697,8 +2613,6 @@ define void @callee_large_struct_ret(ptr noalias sret(%struct.large) %agg.result ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: sw a1, 8(a0) ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: li a1, 4 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: sw a1, 12(a0) -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %a = getelementptr inbounds %struct.large, ptr %agg.result, i32 0, i32 0 store i32 1, ptr %a, align 4 @@ -2781,10 +2695,8 @@ define i32 @caller_large_struct_ret() { ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: add a0, a0, a1 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, s0, -24 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa sp, 24 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: addi sp, sp, 16 -; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-FPELIM-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8 ; ILP32E-FPELIM-SAVE-RESTORE-NEXT: tail __riscv_restore_1 ; ; ILP32E-WITHFP-SAVE-RESTORE-LABEL: caller_large_struct_ret: @@ -2804,10 +2716,8 @@ define i32 @caller_large_struct_ret() { ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: add a0, a0, a1 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, s0, -24 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa sp, 24 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore ra -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_restore s0 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: addi sp, sp, 16 -; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 0 +; ILP32E-WITHFP-SAVE-RESTORE-NEXT: .cfi_def_cfa_offset 8 ; ILP32E-WITHFP-SAVE-RESTORE-NEXT: tail __riscv_restore_1 %1 = alloca %struct.large call void @callee_large_struct_ret(ptr sret(%struct.large) %1) diff --git a/llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir b/llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir index b465f5a9567371..907c95aee0588e 100644 --- a/llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir +++ b/llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir @@ -40,8 +40,6 @@ body: | ; CHECK-LIBCALL32-NEXT: frame-setup CFI_INSTRUCTION offset $x8, -8 ; CHECK-LIBCALL32-NEXT: $x1 = IMPLICIT_DEF ; CHECK-LIBCALL32-NEXT: $x8 = IMPLICIT_DEF - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x8 ; CHECK-LIBCALL32-NEXT: frame-destroy PseudoTAIL target-flags(riscv-call) &__riscv_restore_1, implicit $x2 ; ; CHECK-ZCMP64-LABEL: name: popret_rvlist5 @@ -68,8 +66,6 @@ body: | ; CHECK-LIBCALL64-NEXT: frame-setup CFI_INSTRUCTION offset $x8, -16 ; CHECK-LIBCALL64-NEXT: $x1 = IMPLICIT_DEF ; CHECK-LIBCALL64-NEXT: $x8 = IMPLICIT_DEF - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x8 ; CHECK-LIBCALL64-NEXT: frame-destroy PseudoTAIL target-flags(riscv-call) &__riscv_restore_1, implicit $x2 ; ; CHECK-NO-ZCMP32-LABEL: name: popret_rvlist5 @@ -144,8 +140,6 @@ body: | ; CHECK-LIBCALL32-NEXT: $x1 = IMPLICIT_DEF ; CHECK-LIBCALL32-NEXT: $x8 = IMPLICIT_DEF ; CHECK-LIBCALL32-NEXT: $x10 = ADDI $x0, 0 - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x8 ; CHECK-LIBCALL32-NEXT: frame-destroy PseudoTAIL target-flags(riscv-call) &__riscv_restore_1, implicit $x2, implicit $x10 ; ; CHECK-ZCMP64-LABEL: name: popretz_rvlist5 @@ -174,8 +168,6 @@ body: | ; CHECK-LIBCALL64-NEXT: $x1 = IMPLICIT_DEF ; CHECK-LIBCALL64-NEXT: $x8 = IMPLICIT_DEF ; CHECK-LIBCALL64-NEXT: $x10 = ADDI $x0, 0 - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x8 ; CHECK-LIBCALL64-NEXT: frame-destroy PseudoTAIL target-flags(riscv-call) &__riscv_restore_1, implicit $x2, implicit $x10 ; ; CHECK-NO-ZCMP32-LABEL: name: popretz_rvlist5 diff --git a/llvm/test/CodeGen/RISCV/zcmp-cm-push-pop.mir b/llvm/test/CodeGen/RISCV/zcmp-cm-push-pop.mir index 5c516e9bb4bcc3..aea6bb7e18ffb8 100644 --- a/llvm/test/CodeGen/RISCV/zcmp-cm-push-pop.mir +++ b/llvm/test/CodeGen/RISCV/zcmp-cm-push-pop.mir @@ -95,19 +95,6 @@ body: | ; CHECK-LIBCALL32-NEXT: $x25 = IMPLICIT_DEF ; CHECK-LIBCALL32-NEXT: $x26 = IMPLICIT_DEF ; CHECK-LIBCALL32-NEXT: $x27 = IMPLICIT_DEF - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x8 - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x9 - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x18 - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x19 - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x20 - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x21 - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x22 - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x23 - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x24 - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x25 - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x26 - ; CHECK-LIBCALL32-NEXT: frame-destroy CFI_INSTRUCTION restore $x27 ; CHECK-LIBCALL32-NEXT: frame-destroy PseudoTAIL target-flags(riscv-call) &__riscv_restore_12, implicit $x2 ; ; CHECK-ZCMP64-LABEL: name: push_rvlist15 @@ -189,19 +176,6 @@ body: | ; CHECK-LIBCALL64-NEXT: $x25 = IMPLICIT_DEF ; CHECK-LIBCALL64-NEXT: $x26 = IMPLICIT_DEF ; CHECK-LIBCALL64-NEXT: $x27 = IMPLICIT_DEF - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x1 - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x8 - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x9 - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x18 - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x19 - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x20 - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x21 - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x22 - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x23 - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x24 - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x25 - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x26 - ; CHECK-LIBCALL64-NEXT: frame-destroy CFI_INSTRUCTION restore $x27 ; CHECK-LIBCALL64-NEXT: frame-destroy PseudoTAIL target-flags(riscv-call) &__riscv_restore_12, implicit $x2 ; ; CHECK-NO-ZCMP32-LABEL: name: push_rvlist15