From: Richard Sandiford Date: Fri, 16 May 2025 12:24:03 +0000 (+0100) Subject: Manual tweak of some end_sequence callers X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b9c907a4c9f3a89970e5295c69aefa23a133958;p=thirdparty%2Fgcc.git Manual tweak of some end_sequence callers This patch mops up obvious redundancies that weren't caught by the automatic regexp replacements in earlier patches. It doesn't do anything with genemit.cc, since that will be part of a later series. gcc/ * config/arm/arm.cc (arm_gen_load_multiple_1): Simplify use of end_sequence. (arm_gen_store_multiple_1): Likewise. * expr.cc (gen_move_insn): Likewise. * gentarget-def.cc (main): Likewise. --- diff --git a/gcc/config/arm/arm.cc b/gcc/config/arm/arm.cc index 94624cc87a4..bde06f3fa86 100644 --- a/gcc/config/arm/arm.cc +++ b/gcc/config/arm/arm.cc @@ -14891,8 +14891,6 @@ arm_gen_load_multiple_1 (int count, int *regs, rtx *mems, rtx basereg, if (!multiple_operation_profitable_p (false, count, 0)) { - rtx seq; - start_sequence (); for (i = 0; i < count; i++) @@ -14901,9 +14899,7 @@ arm_gen_load_multiple_1 (int count, int *regs, rtx *mems, rtx basereg, if (wback_offset != 0) emit_move_insn (basereg, plus_constant (Pmode, basereg, wback_offset)); - seq = end_sequence (); - - return seq; + return end_sequence (); } result = gen_rtx_PARALLEL (VOIDmode, @@ -14941,8 +14937,6 @@ arm_gen_store_multiple_1 (int count, int *regs, rtx *mems, rtx basereg, if (!multiple_operation_profitable_p (false, count, 0)) { - rtx seq; - start_sequence (); for (i = 0; i < count; i++) @@ -14951,9 +14945,7 @@ arm_gen_store_multiple_1 (int count, int *regs, rtx *mems, rtx basereg, if (wback_offset != 0) emit_move_insn (basereg, plus_constant (Pmode, basereg, wback_offset)); - seq = end_sequence (); - - return seq; + return end_sequence (); } result = gen_rtx_PARALLEL (VOIDmode, diff --git a/gcc/expr.cc b/gcc/expr.cc index 0bc2095dae3..1eeefa1cadc 100644 --- a/gcc/expr.cc +++ b/gcc/expr.cc @@ -4760,12 +4760,9 @@ emit_move_insn (rtx x, rtx y) rtx_insn * gen_move_insn (rtx x, rtx y) { - rtx_insn *seq; - start_sequence (); emit_move_insn_1 (x, y); - seq = end_sequence (); - return seq; + return end_sequence (); } /* If Y is representable exactly in a narrower mode, and the target can diff --git a/gcc/gentarget-def.cc b/gcc/gentarget-def.cc index a846a7cb200..d0a557864ef 100644 --- a/gcc/gentarget-def.cc +++ b/gcc/gentarget-def.cc @@ -319,9 +319,7 @@ main (int argc, const char **argv) printf (" return insn;\n"); printf (" start_sequence ();\n"); printf (" emit (x, false);\n"); - printf (" rtx_insn *res = get_insns ();\n"); - printf (" end_sequence ();\n"); - printf (" return res;\n"); + printf (" return end_sequence ();\n"); printf ("}\n"); #define DEF_TARGET_INSN(INSN, ARGS) \