emit-rtl.c (adjust_address_1): Don't adjust address if adjust is false.

* emit-rtl.c (adjust_address_1): Don't adjust address if adjust
        is false.

From-SVN: r47978
This commit is contained in:
Richard Henderson 2001-12-13 09:50:02 -08:00 committed by Richard Henderson
parent 72dd53af50
commit 4a78c78760
2 changed files with 19 additions and 11 deletions

View File

@ -1,3 +1,8 @@
2001-12-13 Richard Henderson <rth@redhat.com>
* emit-rtl.c (adjust_address_1): Don't adjust address if adjust
is false.
2001-12-13 Richard Earnshaw <rearnsha@arm.com>
* collect2.c (COLLECT_SHARED_INIT_FUNC)

View File

@ -1967,10 +1967,12 @@ adjust_address_1 (memref, mode, offset, validate, adjust)
unsigned int memalign = MEM_ALIGN (memref);
/* ??? Prefer to create garbage instead of creating shared rtl.
This may happen even if adjust is non-zero -- consider
This may happen even if offset is non-zero -- consider
(plus (plus reg reg) const_int) -- so do this always. */
addr = copy_rtx (addr);
if (adjust)
{
/* If MEMREF is a LO_SUM and the offset is within the alignment of the
object, we can merge it into the LO_SUM. */
if (GET_MODE (memref) != BLKmode && GET_CODE (addr) == LO_SUM
@ -1981,6 +1983,7 @@ adjust_address_1 (memref, mode, offset, validate, adjust)
plus_constant (XEXP (addr, 1), offset));
else
addr = plus_constant (addr, offset);
}
new = change_address_1 (memref, mode, addr, validate);