From 75528b80dca75e52c679e37e819a61c266987a02 Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Tue, 16 Jun 1998 15:35:50 +0000 Subject: [PATCH] reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS is earlier than RELOAD_FOR_OUTPUT_ADDRESS... * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS is earlier than RELOAD_FOR_INPUT_ADDRESS. From-SVN: r20526 --- gcc/ChangeLog | 6 ++++++ gcc/reload1.c | 8 ++++++++ 2 files changed, 14 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 22f3e27540d..e8f24726103 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Tue Jun 16 23:33:24 1998 J"orn Rennecke + + * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS + is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS + is earlier than RELOAD_FOR_INPUT_ADDRESS. + Tue Jun 16 13:15:16 1998 Jim Wilson * libgcc1-test.c (memcpy): Define. diff --git a/gcc/reload1.c b/gcc/reload1.c index 23ad43933e9..b1e26ae1e4e 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -4658,6 +4658,10 @@ reload_reg_free_before_p (regno, opnum, type) the first place, since we know that it was allocated. */ case RELOAD_FOR_OUTPUT_ADDRESS: + /* Earlier reloads include RELOAD_FOR_INPADDR_ADDRESS reloads. */ + if (TEST_HARD_REG_BIT (reload_reg_used_in_outaddr_addr[opnum], regno)) + return 0; + /* ... fall through ... */ case RELOAD_FOR_OUTADDR_ADDRESS: /* Earlier reloads are for earlier outputs or their addresses, any RELOAD_FOR_INSN reloads, any inputs or their addresses, or any @@ -4738,6 +4742,10 @@ reload_reg_free_before_p (regno, opnum, type) return ! TEST_HARD_REG_BIT (reload_reg_used_in_other_addr, regno); case RELOAD_FOR_INPUT_ADDRESS: + /* Earlier reloads include RELOAD_FOR_INPADDR_ADDRESS reloads. */ + if (TEST_HARD_REG_BIT (reload_reg_used_in_inpaddr_addr[opnum], regno)) + return 0; + /* ... fall through ... */ case RELOAD_FOR_INPADDR_ADDRESS: /* Similarly, all we have to check is for use in earlier inputs' addresses. */ -- 2.30.2