As a result of the automatic replacement by commit
4dd13988c93c24ba3605f4b9cafc97515c34f2ac,
there are several code fragments that receive the return value of
end_sequence() and immediately use it as the return value of the function
itself.
rtx_insn *insn;
...
insn = end_sequence ();
return insn;
It is clear that in such cases, it would be more natural to pass the return
value of end_sequence() directly to the return statement without passing it
through a variable.
Applying this patch naturally does not change any functionality.
gcc/ChangeLog:
* config/xtensa/xtensa.cc
(xtensa_expand_block_set_libcall,
xtensa_expand_block_set_unrolled_loop,
xtensa_expand_block_set_small_loop, xtensa_call_tls_desc):
Change the return statement to pass the return value of
end_sequence() directly without going through a variable, and
remove the definition of that variable.
---
gcc/config/xtensa/xtensa.cc | 20 +++++---------------
1 file changed, 5 insertions(+), 15 deletions(-)
diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc
index f09123d5c33..43df10e4b63 100644
--- a/gcc/config/xtensa/xtensa.cc
+++ b/gcc/config/xtensa/xtensa.cc
@@ -1425,7 +1425,6 @@ xtensa_expand_block_set_libcall (rtx dst_mem,
HOST_WIDE_INT bytes)
{
rtx reg;
- rtx_insn *seq;
start_sequence ();
@@ -1439,9 +1438,7 @@ xtensa_expand_block_set_libcall (rtx dst_mem,
GEN_INT (value), SImode,
GEN_INT (bytes), SImode);
- seq = end_sequence ();
-
- return seq;
+ return end_sequence ();
}
/* Worker function for xtensa_expand_block_set().
@@ -1458,7 +1455,6 @@ xtensa_expand_block_set_unrolled_loop (rtx dst_mem,
{
rtx reg;
int offset;
- rtx_insn *seq;
if (bytes > 64)
return NULL;
@@ -1500,9 +1496,7 @@ xtensa_expand_block_set_unrolled_loop (rtx dst_mem,
}
while (bytes > 0);
- seq = end_sequence ();
-
- return seq;
+ return end_sequence ();
}
/* Worker function for xtensa_expand_block_set(),
@@ -1520,7 +1514,6 @@ xtensa_expand_block_set_small_loop (rtx dst_mem,
rtx reg, dst, end;
machine_mode unit_mode;
rtx_code_label *label;
- rtx_insn *seq;
/* Totally-aligned block only. */
if (bytes % align != 0)
@@ -1581,9 +1574,7 @@ xtensa_expand_block_set_small_loop (rtx dst_mem,
emit_insn (gen_addsi3 (dst, dst, GEN_INT (align)));
emit_cmp_and_jump_insns (dst, end, NE, const0_rtx, SImode, true, label);
- seq = end_sequence ();
-
- return seq;
+ return end_sequence ();
}
@@ -2247,7 +2238,7 @@ static rtx_insn *
xtensa_call_tls_desc (rtx sym, rtx *retp)
{
rtx fn, arg, a_io;
- rtx_insn *call_insn, *insns;
+ rtx_insn *call_insn;
start_sequence ();
fn = gen_reg_rtx (Pmode);
@@ -2259,10 +2250,9 @@ xtensa_call_tls_desc (rtx sym, rtx *retp)
emit_move_insn (a_io, arg);
call_insn = emit_call_insn (gen_tls_call (a_io, fn, sym, const1_rtx));
use_reg (&CALL_INSN_FUNCTION_USAGE (call_insn), a_io);
- insns = end_sequence ();
*retp = a_io;
- return insns;
+ return end_sequence ();
}
--
2.39.5