aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlan Lehotsky <apl@alum.mit.edu>2002-06-13 21:41:53 -0400
committerAlan Lehotsky <alehotsky@gcc.gnu.org>2002-06-13 21:41:53 -0400
commit57292ec30e534d43e7030eea5c774a75d4e63a48 (patch)
treec2bdcea93bb398d1eabce0d415547b367eef0fb4 /gcc
parenta6f5e04831ee6d0aee3029d464a0929331e0c552 (diff)
downloadgcc-57292ec30e534d43e7030eea5c774a75d4e63a48.zip
gcc-57292ec30e534d43e7030eea5c774a75d4e63a48.tar.gz
gcc-57292ec30e534d43e7030eea5c774a75d4e63a48.tar.bz2
pass MEM reference to find_reloads_address
From-SVN: r54604
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/reload.c10
2 files changed, 11 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9f6d900..ba76060 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2002-06-13 Alan Lehotsky <apl@alum.mit.edu>
+
+ * reload.c (get_secondary_mem,find_reloads_address,
+ find_reloads_address_1): Pass reference to MEM to find_reloads_address
+ so that LEGITIMIZE_RELOAD_ADDRESS will be called.
+
2002-06-13 Jessica Han <jessica@cup.hp.com>
* defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
diff --git a/gcc/reload.c b/gcc/reload.c
index 6a18245..72e1674 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -644,7 +644,7 @@ get_secondary_mem (x, mode, opnum, type)
: type == RELOAD_FOR_OUTPUT ? RELOAD_FOR_OUTPUT_ADDRESS
: RELOAD_OTHER);
- find_reloads_address (mode, (rtx*) 0, XEXP (loc, 0), &XEXP (loc, 0),
+ find_reloads_address (mode, &loc, XEXP (loc, 0), &XEXP (loc, 0),
opnum, type, 0, 0);
}
@@ -4594,9 +4594,9 @@ find_reloads_address (mode, memrefloc, ad, loc, opnum, type, ind_levels, insn)
tem = make_memloc (ad, regno);
if (! strict_memory_address_p (GET_MODE (tem), XEXP (tem, 0)))
{
- find_reloads_address (GET_MODE (tem), (rtx*) 0, XEXP (tem, 0),
- &XEXP (tem, 0), opnum, ADDR_TYPE (type),
- ind_levels, insn);
+ find_reloads_address (GET_MODE (tem), &tem, XEXP (tem, 0),
+ &XEXP (tem, 0), opnum,
+ ADDR_TYPE (type), ind_levels, insn);
}
/* We can avoid a reload if the register's equivalent memory
expression is valid as an indirect memory address.
@@ -5324,7 +5324,7 @@ find_reloads_address_1 (mode, x, context, loc, opnum, type, ind_levels, insn)
We can't use ADDR_TYPE (type) here, because we need to
write back the value after reading it, hence we actually
need two registers. */
- find_reloads_address (GET_MODE (tem), 0, XEXP (tem, 0),
+ find_reloads_address (GET_MODE (tem), &tem, XEXP (tem, 0),
&XEXP (tem, 0), opnum,
RELOAD_OTHER,
ind_levels, insn);