From: Rask Ingemann Lambertsen <rask@sygehus.dk>
To: gcc-patches@gcc.gnu.org
Subject: [PATCH 2/9] Fix reloads_unique_chain_p() missing a conflict
Date: Mon, 30 Jul 2007 15:08:00 -0000 [thread overview]
Message-ID: <20070730143745.GM25795@sygehus.dk> (raw)
In-Reply-To: <20070730134217.GK25795@sygehus.dk>
As discussed starting with this message
<URL:http://gcc.gnu.org/ml/gcc-patches/2007-07/msg01343.html>, it is
possible for reloads_unique_chain() to miss a reload conflict. It happens
when two reloads are in a different other than expected. Reloads are sorted
using target specific information and besides, the sorting is performed by
qsort() which isn't guaranteed to be stable. The fix here is to check both
reloads passed to reloads_unique_chain_p().
This and the other two reload patches in this patch set were bootstrapped
and tested together on x86_64-unknown-linux-gnu with no new failures. I also
built and tested cross compilers for arm-unknown-elf, cris-axis-elf,
m32c-unknown-elf, mipsisa64-unknown-elf, sh-unknown-elf and v850-unknown-elf
with no new failures.
Ok for trunk?
2007-07-30 Rask Ingemann Lambertsen <rask@sygehus.dk>
* reload1.c (reloads_unique_chain_p): Check both reloads.
Index: gcc/reload1.c
===================================================================
--- gcc/reload1.c (revision 126653)
+++ gcc/reload1.c (working copy)
@@ -4960,7 +4976,8 @@ reloads_unique_chain_p (int r1, int r2)
if (i != r1 && i != r2 && rld[i].in)
{
/* If our reload is mentioned at all, it isn't a simple chain. */
- if (reg_mentioned_p (rld[r1].in, rld[i].in))
+ if (reg_mentioned_p (rld[r1].in, rld[i].in)
+ || reg_mentioned_p (rld[r2].in, rld[i].in))
return false;
}
return true;
--
Rask Ingemann Lambertsen
next prev parent reply other threads:[~2007-07-30 14:37 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-30 14:37 [PATCH 0/9] New back end ia16: 16-bit Intel x86 Rask Ingemann Lambertsen
2007-07-30 14:56 ` [PATCH 1/9] New target " Rask Ingemann Lambertsen
2007-07-30 15:08 ` Rask Ingemann Lambertsen [this message]
2007-08-10 8:47 ` PING [PATCH 2/9] Fix reloads_unique_chain_p() missing a conflict Rask Ingemann Lambertsen
2007-08-21 11:23 ` ping^2 " Rask Ingemann Lambertsen
2007-08-30 8:28 ` ping^3 [PATCH] " Rask Ingemann Lambertsen
2007-07-30 16:10 ` [PATCH 3/9] reload_reg_free(): Rask Ingemann Lambertsen
2007-08-10 8:49 ` PING [PATCH 3/9] reload_reg_free(): don't clobber inherited registers Rask Ingemann Lambertsen
2007-08-21 11:24 ` ping^2 " Rask Ingemann Lambertsen
2007-08-30 8:50 ` ping^3 [PATCH] " Rask Ingemann Lambertsen
2007-07-30 16:35 ` [PATCH 4/9] Subreg handling in reload_inner_reg_of_subreg() and push_reload() Rask Ingemann Lambertsen
2007-08-10 8:49 ` PING " Rask Ingemann Lambertsen
2007-08-21 11:29 ` ping^2 " Rask Ingemann Lambertsen
2007-08-30 8:50 ` ping^3 [PATCH] " Rask Ingemann Lambertsen
2007-07-30 17:22 ` [PATCH 5/9] Libgcc bits and the back end itself Rask Ingemann Lambertsen
2007-07-30 19:08 ` [PATCH 6/9] Documentation for the ia16 back end Rask Ingemann Lambertsen
2007-08-11 19:01 ` Joseph S. Myers
2007-07-30 19:10 ` [PATCH 7/9][wwwdocs] Mention ia16 in backends.html Rask Ingemann Lambertsen
2007-07-30 22:48 ` Gerald Pfeifer
2007-07-30 19:36 ` [PATCH 8/9] Vectorizer testsuite fixes Rask Ingemann Lambertsen
2007-07-30 20:40 ` Janis Johnson
2007-07-30 20:08 ` [PATCH 9/9] Skip or xfail some tests on ia16 Rask Ingemann Lambertsen
2007-07-30 20:51 ` Janis Johnson
2007-08-09 20:28 ` [PATCH 0/9] New back end ia16: 16-bit Intel x86 Rask Ingemann Lambertsen
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=20070730143745.GM25795@sygehus.dk \
--to=rask@sygehus.dk \
--cc=gcc-patches@gcc.gnu.org \
/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).