public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: law@redhat.com
To: "David S. Miller" <davem@redhat.com>
Cc: dave@hiauly1.hia.nrc.ca, gcc-bugs@gcc.gnu.org, gcc@gcc.gnu.org,
	rth@redhat.com
Subject: Re: middle-end/6180: Infinite loop in cc1 during dbr pass
Date: Tue, 04 Jun 2002 13:53:00 -0000	[thread overview]
Message-ID: <6946.1023223613@porcupine.cygnus.com> (raw)
In-Reply-To: Your message of Tue, 04 Jun 2002 12:51:17 PDT. <20020604.125117.48806435.davem@redhat.com>

 In message <20020604.125117.48806435.davem@redhat.com>, "David S. Miller" 
writes:
 >    From: law@redhat.com
 >    Date: Tue, 04 Jun 2002 13:26:44 -0600
 > 
 >    I think reposition_prologue_and_epilogue_notes really needs to
 >    understand SEQUENCEs and deal with them properly.  
 > 
 > This reminds me, why do we really put the delay slot stuff
 > in SEQUENCES?
Because that's the way someone wrote it back in 1988? :(


 > I think we could handle that problem (keeping the insn and it's delay
 > slots together and figuring out that an insn is "inside" a delay slot)
 > in some other clean way.
I don't think it'd be terribly hard to use a flag bit to tell us this.


 > This could also, for example, make it much more easier to teach the
 > generic instruction scheduler how to do delay slotting so we can
 > obliterate reorg.
Oh man.  Zapping reorg is conceptually simple if you look at it from
the right angle (ie dependency graphs).  It'd also be a hell of a lot
faster.

The whole trick is to use the dependency graph to give us the set of
potential instructions which can be used to fill any particular delay
slot.  This avoids all the sillyness of resource tracking through entire
basic blocks as implemented in reorg right now.

When searching backwards from the delay slot, you look for leaves in the
graph, when searching forward, you look for roots in the graph.  Those
are the only interesting insns.

[ OK, so that's over-simplified in the case of calls and normal insns
  with delay slots -- you need to prune out all the instructions before
  the call when you start searching for roots. ]

Anyway, with the candidate sets, you just call back into the insn-attrtab
routines to see which one actually works. 

jeff

  reply	other threads:[~2002-06-04 20:43 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-05 11:38 John David Anglin
2002-06-04 12:26 ` law
2002-06-04 12:34   ` John David Anglin
2002-06-04 13:14   ` David S. Miller
2002-06-04 13:53     ` law [this message]
2002-06-04 13:55       ` David S. Miller
     [not found] <no.id>
2002-04-05 12:45 ` John David Anglin
2002-04-05 13:54   ` Richard Henderson
2002-04-06 12:58     ` John David Anglin
2002-04-06 14:51       ` Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6946.1023223613@porcupine.cygnus.com \
    --to=law@redhat.com \
    --cc=dave@hiauly1.hia.nrc.ca \
    --cc=davem@redhat.com \
    --cc=gcc-bugs@gcc.gnu.org \
    --cc=gcc@gcc.gnu.org \
    --cc=rth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).