aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtlanal.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard@codesourcery.com>2006-10-25 05:49:43 +0000
committerDavid Daney <daney@gcc.gnu.org>2006-10-25 05:49:43 +0000
commit942d7821790f4341cfacc5b704f9344cc9c2efc9 (patch)
tree65baeb96b524898a2445a5c675a07615c9b818d7 /gcc/rtlanal.c
parent97977a91bb8745804deb94c7d08ec536bd2aebd9 (diff)
downloadgcc-942d7821790f4341cfacc5b704f9344cc9c2efc9.zip
gcc-942d7821790f4341cfacc5b704f9344cc9c2efc9.tar.gz
gcc-942d7821790f4341cfacc5b704f9344cc9c2efc9.tar.bz2
re PR middle-end/29519 (Bad code on MIPS with -fnon-call-exceptions)
PR middle-end/29519 * rtlanal.c (nonzero_address_p): Remove check for values wrapping. Co-Authored-By: David Daney <ddaney@avtrex.com> From-SVN: r118023
Diffstat (limited to 'gcc/rtlanal.c')
-rw-r--r--gcc/rtlanal.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 53e6d83..b0a8161 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)))