Dec 30 patch causes large performance regression on ia64

Graham Stott grahams@redhat.com
Tue Mar 20 08:22:00 GMT 2001


Bernd Schmidt wrote:
> 
> On Sat, 17 Mar 2001, Richard Henderson wrote:
> 
> > (B) Hack pre-reload ifcvt to notice when we'd like to if-convert a
> >     block and emit a USE at the end.  Now the pseudo is live across
> >     the call (and conflicts with other predicates used within the
> >     block).  This might let us if-convert more often.
> 
> Uhhhh.  This idea is nice, except that once you try it, you run into all
> sorts of problems.
Doesn't that happen for all nice ideas they turn horrible after you try to
use them.

> 
> 1) The USE won't help, because the scheduler will move it up across the
>    call and we're back to where we started.
> 2) Once that's fixed (I added a use_predicate named pattern), it turns out
>    that reg_set_p returns 1 for all regs, not just call-clobbered ones,
>    when it sees a call.  The reason seems to be historical/braindead, so
>    it's easily fixed as well.
It always amazes me how much braindead stuff keeps popping up.

> 3) flow complains about registers that are less wide than a word (e.g.
>    BImode).  I'm inclined to kill verify_wide_reg - what's the idea behind
>    it?
It helps to catch bugs.

> 
> Bernd
Graham



More information about the Gcc-bugs mailing list