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