This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Allow USE in PARALLELs in store_data_bypass_p (take 2)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Eric Botcazou <ebotcazou at adacore dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Jeff Law <law at redhat dot com>
- Date: Mon, 11 Dec 2017 13:28:42 +0100
- Subject: Re: [PATCH] Allow USE in PARALLELs in store_data_bypass_p (take 2)
- Authentication-results: sourceware.org; auth=none
- References: <20171206193659.GI2353@tucnak> <1569994.Mf6OSsmv4a@polaris> <20171211115204.GJ2353@tucnak> <1751256.njuoPWm6Es@polaris>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Mon, Dec 11, 2017 at 01:26:42PM +0100, Eric Botcazou wrote:
> > Ah, that makes a lot of sense. So like this?
> >
> > 2017-12-11 Jakub Jelinek <jakub@redhat.com>
> >
> > * recog.c (store_data_bypass_p_1): New function.
> > (store_data_bypass_p): Handle USE in a PARALLEL like CLOBBER. Use
> > store_data_bypass_p_1 to avoid code duplication. Formatting fixes.
>
> Yes, but I think that you can further simplify the first function:
>
> rtx out_set = single_set (out_insn);
> if (out_set)
> return !reg_mentioned_p (SET_DEST (out_set), SET_DEST (in_set)));
Ok.
> I also wonder why we have a test on PARALLEL in the first one and an assertion
> on the same PARALLEL in the second one.
The old code was inconsistent, had return false; in one case and assert in
the remaining two spots. If you are not against it, I'd use return false; in both
cases if we want consistency.
> No big deal in either case so your call for the definitive version.
Jakub