aboutsummaryrefslogtreecommitdiff
path: root/gcc/lra-constraints.c
diff options
context:
space:
mode:
authorTrevor Saunders <tbsaunde+gcc@tbsaunde.org>2015-05-24 00:32:31 +0000
committerTrevor Saunders <tbsaunde@gcc.gnu.org>2015-05-24 00:32:31 +0000
commitd0b2266a7747f97b6eebe8b9de064d735b568ef2 (patch)
tree0f7ebd2e79975597ab369595601f0010e6317dc9 /gcc/lra-constraints.c
parenta63670fe10d5716e34d2078c6ab1eb7853e000c2 (diff)
downloadgcc-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/lra-constraints.c')
-rw-r--r--gcc/lra-constraints.c72
1 files changed, 36 insertions, 36 deletions
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index c0f2995..a8d0820 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -2962,42 +2962,42 @@ process_address_1 (int nop, bool check_only_p,
rtx addr = *ad.inner;
new_reg = lra_create_new_reg (Pmode, NULL_RTX, cl, "addr");
-#ifdef HAVE_lo_sum
- {
- rtx_insn *insn;
- rtx_insn *last = get_last_insn ();
-
- /* addr => lo_sum (new_base, addr), case (2) above. */
- insn = emit_insn (gen_rtx_SET
- (new_reg,
- gen_rtx_HIGH (Pmode, copy_rtx (addr))));
- code = recog_memoized (insn);
- if (code >= 0)
- {
- *ad.inner = gen_rtx_LO_SUM (Pmode, new_reg, addr);
- if (! valid_address_p (ad.mode, *ad.outer, ad.as))
- {
- /* Try to put lo_sum into register. */
- insn = emit_insn (gen_rtx_SET
- (new_reg,
- gen_rtx_LO_SUM (Pmode, new_reg, addr)));
- code = recog_memoized (insn);
- if (code >= 0)
- {
- *ad.inner = new_reg;
- if (! valid_address_p (ad.mode, *ad.outer, ad.as))
- {
- *ad.inner = addr;
- code = -1;
- }
- }
-
- }
- }
- if (code < 0)
- delete_insns_since (last);
- }
-#endif
+ if (HAVE_lo_sum)
+ {
+ rtx_insn *insn;
+ rtx_insn *last = get_last_insn ();
+
+ /* addr => lo_sum (new_base, addr), case (2) above. */
+ insn = emit_insn (gen_rtx_SET
+ (new_reg,
+ gen_rtx_HIGH (Pmode, copy_rtx (addr))));
+ code = recog_memoized (insn);
+ if (code >= 0)
+ {
+ *ad.inner = gen_rtx_LO_SUM (Pmode, new_reg, addr);
+ if (! valid_address_p (ad.mode, *ad.outer, ad.as))
+ {
+ /* Try to put lo_sum into register. */
+ insn = emit_insn (gen_rtx_SET
+ (new_reg,
+ gen_rtx_LO_SUM (Pmode, new_reg, addr)));
+ code = recog_memoized (insn);
+ if (code >= 0)
+ {
+ *ad.inner = new_reg;
+ if (! valid_address_p (ad.mode, *ad.outer, ad.as))
+ {
+ *ad.inner = addr;
+ code = -1;
+ }
+ }
+
+ }
+ }
+ if (code < 0)
+ delete_insns_since (last);
+ }
+
if (code < 0)
{
/* addr => new_base, case (2) above. */