From: Bernd Schmidt Date: Mon, 18 Sep 2000 17:00:07 +0000 (+0000) Subject: Fix a reload inheritance problem X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5d77a50c775b519712b4a0480a37db58dd9907aa;p=gcc.git Fix a reload inheritance problem From-SVN: r36497 --- 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,