This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Dec 30 patch causes large performance regression on ia64
- To: Richard Henderson <rth at redhat dot com>
- Subject: Re: Dec 30 patch causes large performance regression on ia64
- From: Bernd Schmidt <bernds at redhat dot com>
- Date: Tue, 20 Mar 2001 15:33:49 +0000 (GMT)
- Cc: <gcc-bugs at gcc dot gnu dot org>
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.
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.
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?
Bernd