summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorciceron <ciceron@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-10 20:43:59 +0000
committerciceron <ciceron@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-10 20:43:59 +0000
commitb59528b6b447f5d758ea301a8a2dd49c9f953f25 (patch)
tree19e771fb7d88a831edaa5a0a303c8bc509b84615
parent2d0f9a720cadc34c5e10a5b68f858691e7d2dc95 (diff)
downloadgcc-b59528b6b447f5d758ea301a8a2dd49c9f953f25.tar.gz
* reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43911 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/reload1.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5e0d9137a93..a15eb81ea56 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2001-07-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
+ fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
+
Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 1423e6ed0d7..21651553718 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -6062,12 +6062,12 @@ merge_assigned_reloads (insn)
if (rld[i].when_needed == RELOAD_OTHER)
for (j = 0; j < n_reloads; j++)
if (rld[j].in != 0
- && rld[i].when_needed != RELOAD_OTHER
+ && rld[j].when_needed != RELOAD_OTHER
&& reg_overlap_mentioned_for_reload_p (rld[j].in,
rld[i].in))
rld[j].when_needed
- = ((rld[i].when_needed == RELOAD_FOR_INPUT_ADDRESS
- || rld[i].when_needed == RELOAD_FOR_INPADDR_ADDRESS)
+ = ((rld[j].when_needed == RELOAD_FOR_INPUT_ADDRESS
+ || rld[j].when_needed == RELOAD_FOR_INPADDR_ADDRESS)
? RELOAD_FOR_OTHER_ADDRESS : RELOAD_OTHER);
}
}