(People, please don't use my @gcc.gnu.org address if you need to
ping me; not sure why Steven used that.  I also changed the
other CC'ed addresses to the corresponding relevant one from
MAINTAINERS.

Looks like I'm month+ behind on reading the lists again...
On the plus side, maybe a reply-bump rekindles interest in this
rewrite-reorg.c work; go Steven!)

> From: Jeff Law <l...@redhat.com>
> Date: Thu, 18 Apr 2013 06:22:35 +0200

> On 04/17/2013 03:52 PM, Steven Bosscher wrote:
> > First of all: What is still important to handle?
> >
> > It's clear that the expectations in reorg.c are "anything goes" but
> > modern RISCs (everything since the PA-8000, say) probably have some
> > limitations on what is helpful to have, or not have, in a delay slot.
> > According to the comments in pa.h about MASK_JUMP_IN_DELAY, having
> > jumps in delay slots of other jumps is one such thing: They don't
> > bring benefit to the PA-8000 and they don't work with DWARF2 CFI. As
> > far as I know, SPARC and MIPS don't allow jumps in delay slots, SH
> > looks like it doesn't allow it either, and CRIS can do it for short
> > branches but doesn't do because the trade-off between benefit and
> > machine description complexity comes out negative.

That might be a stale comment in cris.md.  I think the ISA grew
to simply disallow branches (modifying PC) in delay-slots.
I guess I should find references for such statements...  Anyway,
no interest for branches in delay-slots in this port.

> > What about multiple delay slots? It looks like reorg.c has code to
> > handle insns with multiple delay slots, but there currently are no GCC
> > targets in the FSF tree that have insns with multiple delay slots and
> > that use define_delay.
> Ping Hans, I think he was the last person who tried to deal with reorg
> and multiple delay slots (c4x?).  I certainly wouldn't lose any sleep if
> we killed the limit support for multiple delay slots.

By "Hans" do you mean me?  No, I didn't do anything serious here
besides trying to get the people submitting the port interested
in keeping it alive (and failing: "it's a mature port", in the
pre-3.0 era IIRC, sheesh).  The goal was to get the port
maintained, so we'd have *something* keeping the bugs out of the
non-8-bit-byte and multiple-insn-delay-slot support.

I have a vague recollection (some people would say "know") there
are bugs with multiple delay-slots i reorg.c and I agree with
previous replies: just point any potential future interest in
the direction of Bernd's C6X work.

Depending on scheduling is a new dependency, but ok with me.
I'd even be happy with some performance regression in filling
delay-slot, just to get rid of reorg.c and resource.c!  Go
Steven!

brgds, H-P

Reply via email to