Roger Sayle writes: > > Hi David, > > On Sun, 22 Oct 2006, David Daney wrote: > > 2006-10-22 Richard Sandiford <[EMAIL PROTECTED]> > > David Daney <[EMAIL PROTECTED]> > > > > 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 must admit to being a little perplexed by this. We have an unsafe optimization that causes bad code to be generated on at least one platform. However, we want to continue to perform this unsafe optimization on our release branch until we are sure that removing it doesn't cause performance regressions. And, perhaps, if removing the optimization does cause performance regressions we won't remove it, preferring bad code to reduced performance. Is that a fair summary? Perhaps I'm misunderstanding what you wrote. Andrew.