public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
To: Marc.Espie@liafa1.liafa.jussieu.fr
Cc: egcs@cygnus.com, egcs-bugs@cygnus.com
Subject: Re: Results for egcs-2.92.23 19981122 (gcc2 ss-980609 experimental) testsuite on i386-unknown-openbsd2.4
Date: Fri, 27 Nov 1998 01:49:00 -0000	[thread overview]
Message-ID: <vyz90gxxy76.fsf@issan.cs.uni-dortmund.de> (raw)
In-Reply-To: <199811251748.SAA00413@quatramaran.ens.fr>

Marc Espie <espie@quatramaran.ens.fr> writes:

|> I should add that I STILL can't give you any results for 
|> m68k-unknown-openbsd2.4 as I am still running into the same wall:
|> 
|> compilation of libgcc2 by xgcc for _bb ends up with an ICE
|> in expmed.c: 2594: Internal compiler error in function choose_multiplier

This is a bug in reload, it kills the REG_UNUSED notes, which cannot be
recomputed accurately.  As a result the second stage compiler is
miscompiled (more exactly the function div_and_round_double which is
called by choose_multiplier).  Here is a patch:


1998-11-01  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* reload1.c (reload): Don't remove REG_UNUSED notes here, it is
	impossible in general to recompute them accurately afterwards.

--- egcs/gcc/reload1.c.~1~	Wed Nov 25 11:31:19 1998
+++ egcs/gcc/reload1.c	Fri Nov 27 10:49:58 1998
@@ -1087,7 +1087,7 @@
   reload_completed = 1;
 
   /* Make a pass over all the insns and delete all USEs which we inserted
-     only to tag a REG_EQUAL note on them.  Remove all REG_DEAD and REG_UNUSED
+     only to tag a REG_EQUAL note on them.  Remove all REG_DEAD
      notes.  Delete all CLOBBER insns and simplify (subreg (reg)) operands.  */
 
   for (insn = first; insn; insn = NEXT_INSN (insn))
@@ -1108,8 +1108,7 @@
 	pnote = &REG_NOTES (insn);
 	while (*pnote != 0)
 	  {
-	    if (REG_NOTE_KIND (*pnote) == REG_DEAD
-		|| REG_NOTE_KIND (*pnote) == REG_UNUSED)
+	    if (REG_NOTE_KIND (*pnote) == REG_DEAD)
 	      *pnote = XEXP (*pnote, 1);
 	    else
 	      pnote = &XEXP (*pnote, 1);

-- 
Andreas Schwab                                      "And now for something
schwab@issan.cs.uni-dortmund.de                      completely different"
schwab@gnu.org

  reply	other threads:[~1998-11-27  1:49 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-11-24 19:59 Marc Espie
1998-11-25 12:16 ` Marc Espie
1998-11-27  1:49   ` Andreas Schwab [this message]
1998-11-27 11:39     ` Results for egcs-2.92.23 19981122 (gcc2 ss-980609 experimental)^M " Joern Rennecke
1998-11-28 10:00       ` Jeffrey A Law
1998-11-28 17:15     ` Results for egcs-2.92.23 19981122 (gcc2 ss-980609 experimental) " Jeffrey A Law
1998-12-15  0:54   ` Jeffrey A Law

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=vyz90gxxy76.fsf@issan.cs.uni-dortmund.de \
    --to=schwab@issan.informatik.uni-dortmund.de \
    --cc=Marc.Espie@liafa1.liafa.jussieu.fr \
    --cc=egcs-bugs@cygnus.com \
    --cc=egcs@cygnus.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).