aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtlanal.c
diff options
context:
space:
mode:
authorPeter Bergner <bergner@vnet.ibm.com>2008-04-07 12:36:59 -0500
committerPeter Bergner <bergner@gcc.gnu.org>2008-04-07 12:36:59 -0500
commit46b71b0354e0eba0e0b176a80434bb3a953aadb6 (patch)
tree1d70b0b5be2385ffac16616696a1ca2968a86039 /gcc/rtlanal.c
parent64ef8953e3507ad5e3f356e4d65a0d7fd9d10355 (diff)
downloadgcc-46b71b0354e0eba0e0b176a80434bb3a953aadb6.zip
gcc-46b71b0354e0eba0e0b176a80434bb3a953aadb6.tar.gz
gcc-46b71b0354e0eba0e0b176a80434bb3a953aadb6.tar.bz2
PR middle-end/PR28690
PR middle-end/PR28690 * rtlanal.c: Update copyright years. (commutative_operand_precedence): Give SYMBOL_REF's the same precedence as REG_POINTER and MEM_POINTER operands. * emit-rtl.c (gen_reg_rtx_and_attrs): New function. (set_reg_attrs_from_value): Call mark_reg_pointer as appropriate. * rtl.h (gen_reg_rtx_and_attrs): Add prototype for new function. * gcse.c: Update copyright years. (pre_delete): Call gen_reg_rtx_and_attrs. (hoist_code): Likewise. (build_store_vectors): Likewise. (delete_store): Likewise. * loop-invariant.c (move_invariant_reg): Likewise. Update copyright years. From-SVN: r133985
Diffstat (limited to 'gcc/rtlanal.c')
-rw-r--r--gcc/rtlanal.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index 804d6c8..f80d0ed 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -1,6 +1,6 @@
/* Analyze RTL for GNU compiler.
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software
Foundation, Inc.
This file is part of GCC.
@@ -2898,6 +2898,8 @@ commutative_operand_precedence (rtx op)
switch (GET_RTX_CLASS (code))
{
case RTX_CONST_OBJ:
+ if (code == SYMBOL_REF)
+ return -1;
if (code == CONST_INT)
return -6;
if (code == CONST_DOUBLE)