diff options
| author | crux <crux@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-09-18 17:00:07 +0000 |
|---|---|---|
| committer | crux <crux@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-09-18 17:00:07 +0000 |
| commit | 61b6ea2c3501da7e3d10905f018119a47e2bcbd4 (patch) | |
| tree | af353e0b2b18392f55ccdb0968a169b23e429774 | |
| parent | f0c179ee4998044f1fc67510008a970924cbcdc7 (diff) | |
| download | ppe42-gcc-61b6ea2c3501da7e3d10905f018119a47e2bcbd4.tar.gz ppe42-gcc-61b6ea2c3501da7e3d10905f018119a47e2bcbd4.zip | |
Fix a reload inheritance problem
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36497 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/reload1.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ae815944517..cfa07d86a71 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-09-18 Bernd Schmidt <bernds@redhat.co.uk> + + * reload1.c (forget_old_reloads_1): If a hard reg is stored, clear + its entry in spill_reg_store. + 2000-09-18 Alexandre Oliva <aoliva@redhat.com> * config/sh/sh.c (sh_expand_prologue): Mark GOTaddr2picreg as diff --git a/gcc/reload1.c b/gcc/reload1.c index 3305f9f9109..c556265f312 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -4017,7 +4017,10 @@ forget_old_reloads_1 (x, ignored, data) reload reg in the current instruction. */ if (n_reloads == 0 || ! TEST_HARD_REG_BIT (reg_is_output_reload, regno + i)) - CLEAR_HARD_REG_BIT (reg_reloaded_valid, regno + i); + { + CLEAR_HARD_REG_BIT (reg_reloaded_valid, regno + i); + spill_reg_store[regno + i] = 0; + } } /* Since value of X has changed, |

