diff options
author | tbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-05-24 00:32:31 +0000 |
---|---|---|
committer | tbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-05-24 00:32:31 +0000 |
commit | 6cc3d6ec847ad9088e0328b2edacf6d9678e26cd (patch) | |
tree | 0f7ebd2e79975597ab369595601f0010e6317dc9 /gcc/lra-constraints.c | |
parent | 44ef3ba9297f12f4f9f44266e9bb9462cff84de4 (diff) | |
download | gcc-6cc3d6ec847ad9088e0328b2edacf6d9678e26cd.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223619 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lra-constraints.c')
-rw-r--r-- | gcc/lra-constraints.c | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index c0f29956edd..a8d082022f8 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. */ |