mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
50 lines
1.8 KiB
Diff
50 lines
1.8 KiB
Diff
|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34762
|
||
|
|
||
|
--- a/gcc/reload.c
|
||
|
+++ b/gcc/reload.c
|
||
|
@@ -4817,7 +4817,7 @@ find_reloads_address (enum machine_mode
|
||
|
find_reloads_address (GET_MODE (tem), &tem, XEXP (tem, 0),
|
||
|
&XEXP (tem, 0), opnum,
|
||
|
ADDR_TYPE (type), ind_levels, insn);
|
||
|
- if (tem != orig)
|
||
|
+ if (!rtx_equal_p (tem, orig))
|
||
|
push_reg_equiv_alt_mem (regno, tem);
|
||
|
}
|
||
|
/* We can avoid a reload if the register's equivalent memory
|
||
|
@@ -5617,7 +5617,7 @@ find_reloads_address_1 (enum machine_mod
|
||
|
RELOAD_OTHER,
|
||
|
ind_levels, insn);
|
||
|
|
||
|
- if (tem != orig)
|
||
|
+ if (!rtx_equal_p (tem, orig))
|
||
|
push_reg_equiv_alt_mem (regno, tem);
|
||
|
|
||
|
/* Then reload the memory location into a base
|
||
|
@@ -5684,7 +5684,7 @@ find_reloads_address_1 (enum machine_mod
|
||
|
find_reloads_address (GET_MODE (tem), &tem, XEXP (tem, 0),
|
||
|
&XEXP (tem, 0), opnum, type,
|
||
|
ind_levels, insn);
|
||
|
- if (tem != orig)
|
||
|
+ if (!rtx_equal_p (tem, orig))
|
||
|
push_reg_equiv_alt_mem (regno, tem);
|
||
|
/* Put this inside a new increment-expression. */
|
||
|
x = gen_rtx_fmt_e (GET_CODE (x), GET_MODE (x), tem);
|
||
|
@@ -5876,7 +5876,7 @@ find_reloads_address_1 (enum machine_mod
|
||
|
find_reloads_address (GET_MODE (x), &x, XEXP (x, 0),
|
||
|
&XEXP (x, 0), opnum, ADDR_TYPE (type),
|
||
|
ind_levels, insn);
|
||
|
- if (x != tem)
|
||
|
+ if (!rtx_equal_p (x, tem))
|
||
|
push_reg_equiv_alt_mem (regno, x);
|
||
|
}
|
||
|
}
|
||
|
@@ -6104,7 +6104,7 @@ find_reloads_subreg_address (rtx x, int
|
||
|
XEXP (tem, 0), &XEXP (tem, 0),
|
||
|
opnum, type, ind_levels, insn);
|
||
|
/* ??? Do we need to handle nonzero offsets somehow? */
|
||
|
- if (!offset && tem != orig)
|
||
|
+ if (!offset && !rtx_equal_p (tem, orig))
|
||
|
push_reg_equiv_alt_mem (regno, tem);
|
||
|
|
||
|
/* For some processors an address may be valid in the
|