diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2008-09-02 18:39:32 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2008-09-02 18:39:32 +0000 |
commit | dd59ef130e53a2fd73c0348fe7e304fb8a36af96 (patch) | |
tree | 06deafbfcaa9e1dc7983cf369fad7d6f457e1e90 /gcc | |
parent | edcfeaeebe82ae3b2c6cdc8cf70d08fc4f5a34f5 (diff) | |
download | gcc-dd59ef130e53a2fd73c0348fe7e304fb8a36af96.zip gcc-dd59ef130e53a2fd73c0348fe7e304fb8a36af96.tar.gz gcc-dd59ef130e53a2fd73c0348fe7e304fb8a36af96.tar.bz2 |
simplify-rtx.c (simplify_binary_operation_1): Check for CONST...
gcc/
* simplify-rtx.c (simplify_binary_operation_1): Check for CONST,
SYMBOL_REF and LABEL_REF when applying plus_constant, instead of
checking for a non-VOID CONSTANT_P.
From-SVN: r139903
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/simplify-rtx.c | 8 |
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4a1b44c..b01292a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-09-02 Richard Sandiford <rdsandiford@googlemail.com> + + * simplify-rtx.c (simplify_binary_operation_1): Check for CONST, + SYMBOL_REF and LABEL_REF when applying plus_constant, instead of + checking for a non-VOID CONSTANT_P. + 2008-09-02 Jan Hubicka <jh@suse.cz> * predict.c (pass_strip_predict_hints): Avoid bugs dump file. diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index 30bafea..c7cd218 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -1594,10 +1594,14 @@ simplify_binary_operation_1 (enum rtx_code code, enum machine_mode mode, to CONST_INT since overflow won't be computed properly if wider than HOST_BITS_PER_WIDE_INT. */ - if (CONSTANT_P (op0) && GET_MODE (op0) != VOIDmode + if ((GET_CODE (op0) == CONST + || GET_CODE (op0) == SYMBOL_REF + || GET_CODE (op0) == LABEL_REF) && GET_CODE (op1) == CONST_INT) return plus_constant (op0, INTVAL (op1)); - else if (CONSTANT_P (op1) && GET_MODE (op1) != VOIDmode + else if ((GET_CODE (op1) == CONST + || GET_CODE (op1) == SYMBOL_REF + || GET_CODE (op1) == LABEL_REF) && GET_CODE (op0) == CONST_INT) return plus_constant (op1, INTVAL (op0)); |