This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Combine performance regression (was: Fix PR target/18701)


On Thu, 20 Jan 2005, Ulrich Weigand wrote:
> Thus, I do not like this patch ;-)
Agreed.


> In short, a paradoxical subreg of MEM is not invalid RTL, it is
> at worst RTL that is not directly implementable on the target
> machine.

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:
http://gcc.gnu.org/ml/gcc-patches/2004-12/msg02046.html

        PR target/18701
        * combine (combine_simplify_rtx): Do not widen the mode used
        to access the MEM of a paradoxical subreg.

instead of H-P's

        PR target/18701
        * 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
inappropriate.

Sorry for the inconvenience.

Roger
--
Roger Sayle,                         E-mail: roger@eyesopen.com
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]