From a07c9e2b459a19d618ee49e0a72d7b682b1ffbc7 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 26 May 1998 15:24:58 -0600 Subject: [PATCH] char *version_string = "egcs-2.91.33 19980526 (gcc2 ss-980502 experimental)"; From-SVN: r20068 --- gcc/reload1.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/gcc/reload1.c b/gcc/reload1.c index e0602bed2ae..14c2398db77 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -4726,15 +4726,19 @@ reload_reg_free_before_p (regno, opnum, type) return ! TEST_HARD_REG_BIT (reload_reg_used_in_other_addr, regno); case RELOAD_FOR_INPUT: - /* The only things earlier are the address for this and - earlier inputs, other inputs (which we know we don't conflict - with), and addresses of RELOAD_OTHER objects. */ + /* The only things earlier are the address for this and earlier inputs, + earlier inputs, and addresses of RELOAD_OTHER objects. */ - for (i = 0; i <= opnum; i++) + for (i = 0; i < opnum; i++) if (TEST_HARD_REG_BIT (reload_reg_used_in_input_addr[i], regno) - || TEST_HARD_REG_BIT (reload_reg_used_in_inpaddr_addr[i], regno)) + || TEST_HARD_REG_BIT (reload_reg_used_in_inpaddr_addr[i], regno) + || TEST_HARD_REG_BIT (reload_reg_used_in_input[i], regno)) return 0; + if (TEST_HARD_REG_BIT (reload_reg_used_in_input_addr[opnum], regno) + || TEST_HARD_REG_BIT (reload_reg_used_in_inpaddr_addr[opnum], regno)) + return 0; + return ! TEST_HARD_REG_BIT (reload_reg_used_in_other_addr, regno); case RELOAD_FOR_INPUT_ADDRESS: -- 2.30.2