diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/rtlanal.c | 4 |
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; |