diff options
author | Richard Stallman <rms@gnu.org> | 1993-05-15 13:01:07 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-05-15 13:01:07 +0000 |
commit | 57697575a178c3dbfc141d8163de8dcb0c037168 (patch) | |
tree | 0af59d461ed7c7690d3e34166d1b90a7017d3cc3 | |
parent | 668450ce64f733bcaf8c41f1c156c48a5e2afd1a (diff) | |
download | gcc-57697575a178c3dbfc141d8163de8dcb0c037168.zip gcc-57697575a178c3dbfc141d8163de8dcb0c037168.tar.gz gcc-57697575a178c3dbfc141d8163de8dcb0c037168.tar.bz2 |
(reload): Don't start 2-group unless it could be finished.
From-SVN: r4464
-rw-r--r-- | gcc/reload1.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index f7d5458..32f6bf5 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -1680,8 +1680,14 @@ reload (first, global, dumpfile) if (i == FIRST_PSEUDO_REGISTER) for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) { + int k; j = potential_reload_regs[i]; + /* Verify that J+1 is a potential reload reg. */ + for (k = 0; k < FIRST_PSEUDO_REGISTER; k++) + if (potential_reload_regs[k] == j + 1) + break; if (j >= 0 && j + 1 < FIRST_PSEUDO_REGISTER + && k < FIRST_PSEUDO_REGISTER && spill_reg_order[j] < 0 && spill_reg_order[j + 1] < 0 && TEST_HARD_REG_BIT (reg_class_contents[class], j) && TEST_HARD_REG_BIT (reg_class_contents[class], j + 1) |