aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/rtlanal.c4
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0efb46c..e7c797c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2012-11-19 Tom de Vries <tom@codesourcery.com>
+
+ PR rtl-optimization/55315
+
+ * rtlanal.c (nonzero_address_p): Don't assume a nonzero address plus a
+ const is a nonzero address.
+
2012-11-18 Sandra Loosemore <sandra@codesourcery.com>
* doc/extend.texi: Use @smallexample consistently. Add @noindent
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 33be548..ecfae4c 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -392,10 +392,8 @@ nonzero_address_p (const_rtx x)
return nonzero_address_p (XEXP (x, 0));
case PLUS:
- if (CONST_INT_P (XEXP (x, 1)))
- return nonzero_address_p (XEXP (x, 0));
/* Handle PIC references. */
- else if (XEXP (x, 0) == pic_offset_table_rtx
+ if (XEXP (x, 0) == pic_offset_table_rtx
&& CONSTANT_P (XEXP (x, 1)))
return true;
return false;