public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* bootstrap fix for ppc
@ 2000-03-08 17:51 Geoff Keating
  0 siblings, 0 replies; only message in thread
From: Geoff Keating @ 2000-03-08 17:51 UTC (permalink / raw)
  To: gcc

I've found the bootstrap problem on ppc.  It is this chunk of code in
flow.c which I added some months ago:

		      /* If this label was attached to an ADDR_VEC, it's
			 safe to delete the ADDR_VEC.  In fact, it's pretty
			 much mandatory to delete it, because the ADDR_VEC may
			 be referencing labels that no longer exist.  */
		      if (LABEL_NUSES (label) == 0
			  && (next = next_nonnote_insn (label)) != NULL
			  && GET_CODE (next) == JUMP_INSN
			  && (GET_CODE (PATTERN (next)) == ADDR_VEC
			      || GET_CODE (PATTERN (next)) == ADDR_DIFF_VEC))
			{
			  rtx pat = PATTERN (next);
			  int diff_vec_p = GET_CODE (pat) == ADDR_DIFF_VEC;
			  int len = XVECLEN (pat, diff_vec_p);
			  int i;
			  for (i = 0; i < len; i++)
			    LABEL_NUSES (XEXP (XVECEXP (pat, diff_vec_p, i), 0))--;
			  PUT_CODE (next, NOTE);
			  NOTE_LINE_NUMBER (next) = NOTE_INSN_DELETED;
			  NOTE_SOURCE_FILE (next) = 0;
			}

The problem is that it's deleting the ADDR_VEC but not the BARRIER
after it.  I'm trying to decide whether to patch it one more time or
rewrite the whole ADDR_VEC thing...

-- 
- Geoffrey Keating <geoffk@cygnus.com>

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2000-03-08 17:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-03-08 17:51 bootstrap fix for ppc Geoff Keating

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).