diff options
author | Bernd Schmidt <bernds@redhat.co.uk> | 2000-09-18 17:00:07 +0000 |
---|---|---|
committer | Bernd Schmidt <crux@gcc.gnu.org> | 2000-09-18 17:00:07 +0000 |
commit | 5d77a50c775b519712b4a0480a37db58dd9907aa (patch) | |
tree | af353e0b2b18392f55ccdb0968a169b23e429774 /gcc | |
parent | 40fc375d0af62c9f990bc147f280d6eecdef9d80 (diff) | |
download | gcc-5d77a50c775b519712b4a0480a37db58dd9907aa.zip gcc-5d77a50c775b519712b4a0480a37db58dd9907aa.tar.gz gcc-5d77a50c775b519712b4a0480a37db58dd9907aa.tar.bz2 |
Fix a reload inheritance problem
From-SVN: r36497
Diffstat (limited to 'gcc')
-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 ae81594..cfa07d8 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 3305f9f..c556265 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, |