2012-11-19 Tom de Vries <tom@codesourcery.com>
authorvries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 19 Nov 2012 09:35:48 +0000 (09:35 +0000)
committervries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 19 Nov 2012 09:35:48 +0000 (09:35 +0000)
PR rtl-optimization/55315

* rtlanal.c (nonzero_address_p): Don't assume a nonzero address plus a
const is a nonzero address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193616 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/rtlanal.c

index 0efb46c..e7c797c 100644 (file)
@@ -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
index 33be548..ecfae4c 100644 (file)
@@ -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;