[toolchain] gcc: fix 4.2.4 ICE on avr32 (see http://gcc.gnu.org/bugzilla/show_bug...
[openwrt.git] / toolchain / gcc / patches / 4.2.4 / 952-bug_34762.patch
1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34762
2
3 --- a/gcc/reload.c
4 +++ b/gcc/reload.c
5 @@ -4789,7 +4789,7 @@ find_reloads_address (enum machine_mode
6 find_reloads_address (GET_MODE (tem), &tem, XEXP (tem, 0),
7 &XEXP (tem, 0), opnum,
8 ADDR_TYPE (type), ind_levels, insn);
9 - if (tem != orig)
10 + if (!rtx_equal_p (tem, orig))
11 push_reg_equiv_alt_mem (regno, tem);
12 }
13 /* We can avoid a reload if the register's equivalent memory
14 @@ -5589,7 +5589,7 @@ find_reloads_address_1 (enum machine_mod
15 RELOAD_OTHER,
16 ind_levels, insn);
17
18 - if (tem != orig)
19 + if (!rtx_equal_p (tem, orig))
20 push_reg_equiv_alt_mem (regno, tem);
21
22 /* Then reload the memory location into a base
23 @@ -5656,7 +5656,7 @@ find_reloads_address_1 (enum machine_mod
24 find_reloads_address (GET_MODE (tem), &tem, XEXP (tem, 0),
25 &XEXP (tem, 0), opnum, type,
26 ind_levels, insn);
27 - if (tem != orig)
28 + if (!rtx_equal_p (tem, orig))
29 push_reg_equiv_alt_mem (regno, tem);
30 /* Put this inside a new increment-expression. */
31 x = gen_rtx_fmt_e (GET_CODE (x), GET_MODE (x), tem);
32 @@ -5848,7 +5848,7 @@ find_reloads_address_1 (enum machine_mod
33 find_reloads_address (GET_MODE (x), &x, XEXP (x, 0),
34 &XEXP (x, 0), opnum, ADDR_TYPE (type),
35 ind_levels, insn);
36 - if (x != tem)
37 + if (!rtx_equal_p (x, tem))
38 push_reg_equiv_alt_mem (regno, x);
39 }
40 }
41 @@ -6076,7 +6076,7 @@ find_reloads_subreg_address (rtx x, int
42 XEXP (tem, 0), &XEXP (tem, 0),
43 opnum, type, ind_levels, insn);
44 /* ??? Do we need to handle nonzero offsets somehow? */
45 - if (!offset && tem != orig)
46 + if (!offset && !rtx_equal_p (tem, orig))
47 push_reg_equiv_alt_mem (regno, tem);
48
49 /* For some processors an address may be valid in the
This page took 0.04491 seconds and 5 git commands to generate.