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: [PATCH] Fix PR29519 Bad code on MIPS with -fnon-call-exceptions


Hi David,

On Sun, 22 Oct 2006, David Daney wrote:
> 2006-10-22  Richard Sandiford  <richard@codesourcery.com>
>             David Daney  <ddaney@avtrex.com>
>
>         PR middle-end/29519
>         * rtlanal.c (nonzero_address_p):  Remove check for values wrapping.

:REVIEWMAIL:

This is ugly.  I agree with you and Richard that this optimization isn't
safe unless we can somehow prevent the RTL optimizers from creating the
problematic RTL that they currently do.  But I also worry how much benefit
some platforms get from the current unsafe transformation, and whether
there'd be an observable performance degradation with this fix.

I think its best to apply this patch to mainline to allow the benchmarking
folks test whether there's any change.  Likewise if someone could check
whether there are any/many code generation differences in cc1 files (or
similar), that'd go some way to silencing my potential concerns.

Only after this has been on mainline for a while without problems or
performance issues, should we consider backporting it to the 4.2 branch.

Does this sound reasonable?  I'll try and figure out if nonzero_address_p
can be generalized to rtx_expr_nonzero_p (matching the tree-level function
tree_expr_nonzero_p) and used instead by the current RTL simplification
code.

Thanks again to both you and Richard S for investigating this failure.
Ok for mainline.

Roger
--


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