From 84c5396d4bdbf9f1d628c77db4421808f9a9dcb6 Mon Sep 17 00:00:00 2001 From: Segher Boessenkool Date: Thu, 16 Jul 2020 23:42:46 +0000 Subject: [PATCH] combine: Use single_set for is_just_move Since we now only call is_just_move on the original instructions, we always have an rtx_insn* (not just a pattern), so we can use single_set on it. This makes no detectable difference at all on all thirty Linux targets I test, but it does help cris, and it is simpler, cleaner code anyway. 2020-07-16 Hans-Peter Nilsson Segher Boessenkool PR target/93372 * combine.c (is_just_move): Take an rtx_insn* as argument. Use single_set on it. --- gcc/combine.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gcc/combine.c b/gcc/combine.c index b044f29fd36..4fee114b3cc 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -2624,15 +2624,16 @@ can_split_parallel_of_n_reg_sets (rtx_insn *insn, int n) return true; } -/* Return whether X is just a single set, with the source +/* Return whether X is just a single_set, with the source a general_operand. */ static bool -is_just_move (rtx x) +is_just_move (rtx_insn *x) { - if (INSN_P (x)) - x = PATTERN (x); + rtx set = single_set (x); + if (!set) + return false; - return (GET_CODE (x) == SET && general_operand (SET_SRC (x), VOIDmode)); + return general_operand (SET_SRC (set), VOIDmode); } /* Callback function to count autoincs. */ -- 2.30.2