> Date: Tue, 20 Dec 2005 11:13:06 +0100 (CET)
> From: Steven Bosscher <[EMAIL PROTECTED]>

> You really have to wonder if cleaning up this jump is a job combine
> should be doing.

I want it done there *only* because that's what it does for the
similar but even more complex cc0 code and because combine does
multi-insn simplifications in general.  I suggest not being hung
up on it being a jump that's simplified.

Anyhow, I'd like to disconnect the un-cc0-ification of the CRIS
port while retaining performance, from overhaul of GCC passes as
much as possible, please, however TRT the overhaul may be.

> I would have thought we'd clean this up _before_
> combine

Me too...  Might be a simple oversight somewhere.  I'll have a
closer look; seems at a glance that gcse thinks it does this.

> (and no, I don't mean the tree optimizers, but e.g. CSE, or jump
> bypassing (even though the latter doesn't work for critical
> edges)).

FWIW, jump bypassing doesn't do anything transformationwise but
calling the usual cfgcleanup things.  CFG apparently doesn't
perform the necessary kind of simplifications.  See
rest_of_handle_jump2.

> Are
> there other cases, you think, where we fail to combine 2 insns into 2
> cheaper ones??

I don't know, but as combine seems to be the only pass
performing inter-insn simplifications, I'd guess so.

brgds, H-P

Reply via email to