This is the mail archive of the
mailing list for the GCC project.
Re: Combine performance regression (was: Fix PR target/18701)
- From: Roger Sayle <roger at eyesopen dot com>
- To: Ulrich Weigand <uweigand at de dot ibm dot com>
- Cc: Hans-Peter Nilsson <hp at bitrange dot com>, <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 20 Jan 2005 09:41:54 -0700 (MST)
- Subject: Re: Combine performance regression (was: Fix PR target/18701)
On Thu, 20 Jan 2005, Ulrich Weigand wrote:
> Thus, I do not like this patch ;-)
> In short, a paradoxical subreg of MEM is not invalid RTL, it is
> at worst RTL that is not directly implementable on the target
I think this entire clause in combine_simplify_rtx isn't required
and can be deleted. I'm currently bootstrapping and regression
testing that change.
My apologies for the confusion, when I approved H-P's patch I
thought it was doing something completely different. The mistake
I made was to believe that the comment above this hunk actually
described it's behaviour; "Don't change the mode of the MEM..."
This explains why I suggested a revised ChangeLog of:
* combine (combine_simplify_rtx): Do not widen the mode used
to access the MEM of a paradoxical subreg.
instead of H-P's
* combine.c (combine_simplify_rtx): Do not allow paradoxical
subregs of MEM.
Re-reading this patch and the code immediately following it which I'd
assumed this change was guarding, the above patch really is disallowing
all paradoxical subregs of MEMs, which as you point out is completely
Sorry for the inconvenience.
Roger Sayle, E-mail: firstname.lastname@example.org
OpenEye Scientific Software, WWW: http://www.eyesopen.com/
Suite 1107, 3600 Cerrillos Road, Tel: (+1) 505-473-7385
Santa Fe, New Mexico, 87507. Fax: (+1) 505-473-0833