summaryrefslogtreecommitdiff
path: root/gcc/lra-constraints.c
diff options
context:
space:
mode:
authortbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-24 00:32:31 +0000
committertbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-24 00:32:31 +0000
commit6cc3d6ec847ad9088e0328b2edacf6d9678e26cd (patch)
tree0f7ebd2e79975597ab369595601f0010e6317dc9 /gcc/lra-constraints.c
parent44ef3ba9297f12f4f9f44266e9bb9462cff84de4 (diff)
downloadgcc-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.c72
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. */