This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 3/6] combine: handle I2 a parallel of two SETs
- From: Andreas Schwab <schwab at linux-m68k dot org>
- To: Segher Boessenkool <segher at kernel dot crashing dot org>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 05 Dec 2014 21:25:51 +0100
- Subject: Re: [PATCH 3/6] combine: handle I2 a parallel of two SETs
- Authentication-results: sourceware.org; auth=none
- References: <cover dot 1417135737 dot git dot segher at kernel dot crashing dot org> <9c173bc0a5f174717ca93b7263231f63631c65a7 dot 1417135737 dot git dot segher at kernel dot crashing dot org>
Segher Boessenkool <segher@kernel.crashing.org> writes:
> gcc/
> * combine.c (is_parallel_of_n_reg_sets): New function.
> (can_split_parallel_of_n_reg_sets): New function.
> (try_combine): If I2 is a PARALLEL of two SETs, split it into
> two insns if possible.
This breaks bootstrap on m68k.
../../gcc/gcc/combine.c:2467:1: warning: âbool is_parallel_of_n_reg_sets(rtx_insn*, int)â defined but not used [-Wunused-function]
is_parallel_of_n_reg_sets (rtx_insn *insn, int n)
^
../../gcc/gcc/combine.c:2494:1: warning: âbool can_split_parallel_of_n_reg_sets(rtx_insn*, int)â defined but not used [-Wunused-function]
can_split_parallel_of_n_reg_sets (rtx_insn *insn, int n)
^
Tested on m68k-suse-linux and installed as obvious.
Andreas.
* combine.c (is_parallel_of_n_reg_sets)
(can_split_parallel_of_n_reg_sets): Only define if !HAVE_cc0.
diff --git a/gcc/combine.c b/gcc/combine.c
index e6deb41..39f9200 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -2461,6 +2461,7 @@ update_cfg_for_uncondjump (rtx_insn *insn)
}
}
+#ifndef HAVE_cc0
/* Return whether INSN is a PARALLEL of exactly N register SETs followed
by an arbitrary number of CLOBBERs. */
static bool
@@ -2513,6 +2514,7 @@ can_split_parallel_of_n_reg_sets (rtx_insn *insn, int n)
return true;
}
+#endif
/* Try to combine the insns I0, I1 and I2 into I3.
Here I0, I1 and I2 appear earlier than I3.
--
2.2.0
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."