diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/reload.c | 8 |
2 files changed, 8 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9b951a7..ee547b0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-08-01 Sandra Loosemore <sandra@codesourcery.com> + + * reload.c (find_reloads_address_part): Pass correct MEMREFLOC + argument to find_reloads_address. + 2007-08-01 Daniel Jacobowitz <dan@codesourcery.com> PR tree-optimization/32919 @@ -8,7 +13,6 @@ 2007-08-01 Sandra Loosemore <sandra@codesourcery.com> David Ung <davidu@mips.com> - gcc/ * config/mips/mips16.S (__mips16_unordsf2, __mips16_floatunsisf): New. (__mips16_unorddf2, __mips16_floatunsidf): New. * config/mips/mips.c (mips_init_libfuncs): Add optab entries for diff --git a/gcc/reload.c b/gcc/reload.c index 3d594fa..0d676a2 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -5923,10 +5923,8 @@ find_reloads_address_part (rtx x, rtx *loc, enum reg_class class, && (! LEGITIMATE_CONSTANT_P (x) || PREFERRED_RELOAD_CLASS (x, class) == NO_REGS)) { - rtx tem; - - tem = x = force_const_mem (mode, x); - find_reloads_address (mode, &tem, XEXP (tem, 0), &XEXP (tem, 0), + x = force_const_mem (mode, x); + find_reloads_address (mode, &x, XEXP (x, 0), &XEXP (x, 0), opnum, type, ind_levels, 0); } @@ -5939,7 +5937,7 @@ find_reloads_address_part (rtx x, rtx *loc, enum reg_class class, tem = force_const_mem (GET_MODE (x), XEXP (x, 1)); x = gen_rtx_PLUS (GET_MODE (x), XEXP (x, 0), tem); - find_reloads_address (mode, &tem, XEXP (tem, 0), &XEXP (tem, 0), + find_reloads_address (mode, &XEXP (x, 1), XEXP (tem, 0), &XEXP (tem, 0), opnum, type, ind_levels, 0); } |