diff options
author | Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | 2015-05-24 00:32:31 +0000 |
---|---|---|
committer | Trevor Saunders <tbsaunde@gcc.gnu.org> | 2015-05-24 00:32:31 +0000 |
commit | d0b2266a7747f97b6eebe8b9de064d735b568ef2 (patch) | |
tree | 0f7ebd2e79975597ab369595601f0010e6317dc9 /gcc/combine.c | |
parent | a63670fe10d5716e34d2078c6ab1eb7853e000c2 (diff) | |
download | gcc-d0b2266a7747f97b6eebe8b9de064d735b568ef2.zip gcc-d0b2266a7747f97b6eebe8b9de064d735b568ef2.tar.gz gcc-d0b2266a7747f97b6eebe8b9de064d735b568ef2.tar.bz2 |
always define HAVE_lo_sum
gcc/ChangeLog:
2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* combine.c (find_split_point): Check the value of HAVE_lo_sum
instead of if it is defined.
(combine_simplify_rtx): Likewise.
* lra-constraints.c (process_address_1): Likewise.
* config/darwin.c: Adjust.
* genconfig.c (main): Always define HAVE_lo_sum.
From-SVN: r223619
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 0817af2..73d141e 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -4785,11 +4785,10 @@ find_split_point (rtx *loc, rtx_insn *insn, bool set_src) return find_split_point (&SUBREG_REG (x), insn, false); case MEM: -#ifdef HAVE_lo_sum /* If we have (mem (const ..)) or (mem (symbol_ref ...)), split it using LO_SUM and HIGH. */ - if (GET_CODE (XEXP (x, 0)) == CONST - || GET_CODE (XEXP (x, 0)) == SYMBOL_REF) + if (HAVE_lo_sum && (GET_CODE (XEXP (x, 0)) == CONST + || GET_CODE (XEXP (x, 0)) == SYMBOL_REF)) { machine_mode address_mode = get_address_mode (x); @@ -4799,7 +4798,6 @@ find_split_point (rtx *loc, rtx_insn *insn, bool set_src) XEXP (x, 0))); return &XEXP (XEXP (x, 0), 0); } -#endif /* If we have a PLUS whose second operand is a constant and the address is not valid, perhaps will can split it up using @@ -5857,16 +5855,14 @@ combine_simplify_rtx (rtx x, machine_mode op0_mode, int in_dest, SUBST (XEXP (x, 0), XEXP (XEXP (x, 0), 0)); break; -#ifdef HAVE_lo_sum case LO_SUM: /* Convert (lo_sum (high FOO) FOO) to FOO. This is necessary so we can add in an offset. find_split_point will split this address up again if it doesn't match. */ - if (GET_CODE (XEXP (x, 0)) == HIGH + if (HAVE_lo_sum && GET_CODE (XEXP (x, 0)) == HIGH && rtx_equal_p (XEXP (XEXP (x, 0), 0), XEXP (x, 1))) return XEXP (x, 1); break; -#endif case PLUS: /* (plus (xor (and <foo> (const_int pow2 - 1)) <c>) <-c>) |