diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4edb9060d50..829306c861d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-10-24 Richard Sandiford + David Daney + + PR middle-end/29519 + * rtlanal.c (nonzero_address_p): Remove check for values wrapping. + 2006-10-25 Ben Elliston * doc/extend.texi (Variable Attributes): Typo fix. diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index 53e6d83d1b8..b0a816106d4 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -368,17 +368,7 @@ nonzero_address_p (rtx x) case PLUS: if (GET_CODE (XEXP (x, 1)) == CONST_INT) - { - /* Pointers aren't allowed to wrap. If we've got a register - that is known to be a pointer, and a positive offset, then - the composite can't be zero. */ - if (INTVAL (XEXP (x, 1)) > 0 - && REG_P (XEXP (x, 0)) - && REG_POINTER (XEXP (x, 0))) - return true; - - return nonzero_address_p (XEXP (x, 0)); - } + return nonzero_address_p (XEXP (x, 0)); /* Handle PIC references. */ else if (XEXP (x, 0) == pic_offset_table_rtx && CONSTANT_P (XEXP (x, 1)))