From 5d77a50c775b519712b4a0480a37db58dd9907aa Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Mon, 18 Sep 2000 17:00:07 +0000 Subject: [PATCH] Fix a reload inheritance problem From-SVN: r36497 --- gcc/ChangeLog | 5 +++++ gcc/reload1.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) 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 + + * reload1.c (forget_old_reloads_1): If a hard reg is stored, clear + its entry in spill_reg_store. + 2000-09-18 Alexandre Oliva * 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, -- 2.30.2