diff options
author | Khem Raj <raj.khem@gmail.com> | 2011-04-30 12:37:47 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-05-05 12:26:41 +0100 |
commit | 478deec11f3349d61b1a922f047dc958dc07262a (patch) | |
tree | 1843907b36de2bcb8f821d49d8c9a88014ef0dc7 /meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0037-config-alpha-alpha.c-alpha_sr_alias_set-Don-t-define.patch | |
parent | d42dccf886983ba14ccc868041d7bea0cf1a260e (diff) | |
download | poky-478deec11f3349d61b1a922f047dc958dc07262a.tar.gz |
gcc-4.6.0: Backport FSF 4.6 branch patches
This is set of bugfixes that has been done on
FSF gcc-4_2-branch since 4.6.0 was released
They will roll into 4.6.1 release once that
happens in coming approx 6 months time then
we can simply remove them thats the reason
so use a separate .inc file to define the
SRC_URI additions
(From OE-Core rev: b0d5b9f12adbce2c4a0df6059f5671188cd32293)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0037-config-alpha-alpha.c-alpha_sr_alias_set-Don-t-define.patch')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0037-config-alpha-alpha.c-alpha_sr_alias_set-Don-t-define.patch | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0037-config-alpha-alpha.c-alpha_sr_alias_set-Don-t-define.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0037-config-alpha-alpha.c-alpha_sr_alias_set-Don-t-define.patch new file mode 100644 index 0000000000..7c6178467a --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0037-config-alpha-alpha.c-alpha_sr_alias_set-Don-t-define.patch | |||
@@ -0,0 +1,178 @@ | |||
1 | From 14fb9260e8c94249305dba567e7e242ac3d30fa7 Mon Sep 17 00:00:00 2001 | ||
2 | From: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | ||
3 | Date: Tue, 29 Mar 2011 18:24:02 +0000 | ||
4 | Subject: [PATCH 037/200] * config/alpha/alpha.c (alpha_sr_alias_set): Don't define. | ||
5 | (alpha_option_override): Don't set alpha_sr_alias_set. | ||
6 | (emit_frame_store_1): Use gen_frame_mem rather than calling | ||
7 | set_mem_alias_set. | ||
8 | (alpha_expand_epilogue): Ditto. | ||
9 | (unicosmk_gen_dsib): Ditto. | ||
10 | |||
11 | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@171686 138bc75d-0d04-0410-961f-82ee72b054a4 | ||
12 | |||
13 | index c1036b4..3da7fa0 100644 | ||
14 | index 76ab31a..b41404e 100644 | ||
15 | --- a/gcc/config/alpha/alpha.c | ||
16 | +++ b/gcc/config/alpha/alpha.c | ||
17 | @@ -94,10 +94,6 @@ int alpha_memory_latency = 3; | ||
18 | |||
19 | static int alpha_function_needs_gp; | ||
20 | |||
21 | -/* The alias set for prologue/epilogue register save/restore. */ | ||
22 | - | ||
23 | -static GTY(()) alias_set_type alpha_sr_alias_set; | ||
24 | - | ||
25 | /* The assembler name of the current function. */ | ||
26 | |||
27 | static const char *alpha_fnname; | ||
28 | @@ -510,9 +506,6 @@ alpha_option_override (void) | ||
29 | if (align_functions <= 0) | ||
30 | align_functions = 16; | ||
31 | |||
32 | - /* Acquire a unique set number for our register saves and restores. */ | ||
33 | - alpha_sr_alias_set = new_alias_set (); | ||
34 | - | ||
35 | /* Register variables and functions with the garbage collector. */ | ||
36 | |||
37 | /* Set up function hooks. */ | ||
38 | @@ -7715,8 +7708,7 @@ emit_frame_store_1 (rtx value, rtx base_reg, HOST_WIDE_INT frame_bias, | ||
39 | rtx addr, mem, insn; | ||
40 | |||
41 | addr = plus_constant (base_reg, base_ofs); | ||
42 | - mem = gen_rtx_MEM (DImode, addr); | ||
43 | - set_mem_alias_set (mem, alpha_sr_alias_set); | ||
44 | + mem = gen_frame_mem (DImode, addr); | ||
45 | |||
46 | insn = emit_move_insn (mem, value); | ||
47 | RTX_FRAME_RELATED_P (insn) = 1; | ||
48 | @@ -8391,9 +8383,7 @@ alpha_expand_epilogue (void) | ||
49 | |||
50 | /* Restore registers in order, excepting a true frame pointer. */ | ||
51 | |||
52 | - mem = gen_rtx_MEM (DImode, plus_constant (sa_reg, reg_offset)); | ||
53 | - if (! eh_ofs) | ||
54 | - set_mem_alias_set (mem, alpha_sr_alias_set); | ||
55 | + mem = gen_frame_mem (DImode, plus_constant (sa_reg, reg_offset)); | ||
56 | reg = gen_rtx_REG (DImode, REG_RA); | ||
57 | emit_move_insn (reg, mem); | ||
58 | cfa_restores = alloc_reg_note (REG_CFA_RESTORE, reg, cfa_restores); | ||
59 | @@ -8408,8 +8398,8 @@ alpha_expand_epilogue (void) | ||
60 | fp_offset = reg_offset; | ||
61 | else | ||
62 | { | ||
63 | - mem = gen_rtx_MEM (DImode, plus_constant(sa_reg, reg_offset)); | ||
64 | - set_mem_alias_set (mem, alpha_sr_alias_set); | ||
65 | + mem = gen_frame_mem (DImode, | ||
66 | + plus_constant (sa_reg, reg_offset)); | ||
67 | reg = gen_rtx_REG (DImode, i); | ||
68 | emit_move_insn (reg, mem); | ||
69 | cfa_restores = alloc_reg_note (REG_CFA_RESTORE, reg, | ||
70 | @@ -8421,8 +8411,7 @@ alpha_expand_epilogue (void) | ||
71 | for (i = 0; i < 31; ++i) | ||
72 | if (fmask & (1UL << i)) | ||
73 | { | ||
74 | - mem = gen_rtx_MEM (DFmode, plus_constant(sa_reg, reg_offset)); | ||
75 | - set_mem_alias_set (mem, alpha_sr_alias_set); | ||
76 | + mem = gen_frame_mem (DFmode, plus_constant (sa_reg, reg_offset)); | ||
77 | reg = gen_rtx_REG (DFmode, i+32); | ||
78 | emit_move_insn (reg, mem); | ||
79 | cfa_restores = alloc_reg_note (REG_CFA_RESTORE, reg, cfa_restores); | ||
80 | @@ -8438,9 +8427,9 @@ alpha_expand_epilogue (void) | ||
81 | for (i = 9; i < 15; i++) | ||
82 | if (imask & (1UL << i)) | ||
83 | { | ||
84 | - mem = gen_rtx_MEM (DImode, plus_constant(hard_frame_pointer_rtx, | ||
85 | - reg_offset)); | ||
86 | - set_mem_alias_set (mem, alpha_sr_alias_set); | ||
87 | + mem = gen_frame_mem (DImode, | ||
88 | + plus_constant (hard_frame_pointer_rtx, | ||
89 | + reg_offset)); | ||
90 | reg = gen_rtx_REG (DImode, i); | ||
91 | emit_move_insn (reg, mem); | ||
92 | cfa_restores = alloc_reg_note (REG_CFA_RESTORE, reg, cfa_restores); | ||
93 | @@ -8450,9 +8439,9 @@ alpha_expand_epilogue (void) | ||
94 | for (i = 2; i < 10; i++) | ||
95 | if (fmask & (1UL << i)) | ||
96 | { | ||
97 | - mem = gen_rtx_MEM (DFmode, plus_constant(hard_frame_pointer_rtx, | ||
98 | - reg_offset)); | ||
99 | - set_mem_alias_set (mem, alpha_sr_alias_set); | ||
100 | + mem = gen_frame_mem (DFmode, | ||
101 | + plus_constant (hard_frame_pointer_rtx, | ||
102 | + reg_offset)); | ||
103 | reg = gen_rtx_REG (DFmode, i+32); | ||
104 | emit_move_insn (reg, mem); | ||
105 | cfa_restores = alloc_reg_note (REG_CFA_RESTORE, reg, cfa_restores); | ||
106 | @@ -8460,8 +8449,7 @@ alpha_expand_epilogue (void) | ||
107 | } | ||
108 | |||
109 | /* Restore the return address from the DSIB. */ | ||
110 | - mem = gen_rtx_MEM (DImode, plus_constant (hard_frame_pointer_rtx, -8)); | ||
111 | - set_mem_alias_set (mem, alpha_sr_alias_set); | ||
112 | + mem = gen_frame_mem (DImode, plus_constant (hard_frame_pointer_rtx, -8)); | ||
113 | reg = gen_rtx_REG (DImode, REG_RA); | ||
114 | emit_move_insn (reg, mem); | ||
115 | cfa_restores = alloc_reg_note (REG_CFA_RESTORE, reg, cfa_restores); | ||
116 | @@ -8524,9 +8512,8 @@ alpha_expand_epilogue (void) | ||
117 | if (TARGET_ABI_UNICOSMK) | ||
118 | { | ||
119 | emit_insn (gen_blockage ()); | ||
120 | - mem = gen_rtx_MEM (DImode, | ||
121 | - plus_constant (hard_frame_pointer_rtx, -16)); | ||
122 | - set_mem_alias_set (mem, alpha_sr_alias_set); | ||
123 | + mem = gen_frame_mem (DImode, | ||
124 | + plus_constant (hard_frame_pointer_rtx, -16)); | ||
125 | emit_move_insn (hard_frame_pointer_rtx, mem); | ||
126 | cfa_restores = alloc_reg_note (REG_CFA_RESTORE, | ||
127 | hard_frame_pointer_rtx, cfa_restores); | ||
128 | @@ -8534,8 +8521,7 @@ alpha_expand_epilogue (void) | ||
129 | else if (fp_is_frame_pointer) | ||
130 | { | ||
131 | emit_insn (gen_blockage ()); | ||
132 | - mem = gen_rtx_MEM (DImode, plus_constant (sa_reg, fp_offset)); | ||
133 | - set_mem_alias_set (mem, alpha_sr_alias_set); | ||
134 | + mem = gen_frame_mem (DImode, plus_constant (sa_reg, fp_offset)); | ||
135 | emit_move_insn (hard_frame_pointer_rtx, mem); | ||
136 | cfa_restores = alloc_reg_note (REG_CFA_RESTORE, | ||
137 | hard_frame_pointer_rtx, cfa_restores); | ||
138 | @@ -10515,15 +10501,13 @@ unicosmk_gen_dsib (unsigned long *imaskP) | ||
139 | |||
140 | /* Save the return address. */ | ||
141 | |||
142 | - mem = gen_rtx_MEM (DImode, plus_constant (stack_pointer_rtx, 56)); | ||
143 | - set_mem_alias_set (mem, alpha_sr_alias_set); | ||
144 | + mem = gen_frame_mem (DImode, plus_constant (stack_pointer_rtx, 56)); | ||
145 | FRP (emit_move_insn (mem, gen_rtx_REG (DImode, REG_RA))); | ||
146 | (*imaskP) &= ~(1UL << REG_RA); | ||
147 | |||
148 | /* Save the old frame pointer. */ | ||
149 | |||
150 | - mem = gen_rtx_MEM (DImode, plus_constant (stack_pointer_rtx, 48)); | ||
151 | - set_mem_alias_set (mem, alpha_sr_alias_set); | ||
152 | + mem = gen_frame_mem (DImode, plus_constant (stack_pointer_rtx, 48)); | ||
153 | FRP (emit_move_insn (mem, hard_frame_pointer_rtx)); | ||
154 | (*imaskP) &= ~(1UL << HARD_FRAME_POINTER_REGNUM); | ||
155 | |||
156 | @@ -10532,8 +10516,7 @@ unicosmk_gen_dsib (unsigned long *imaskP) | ||
157 | /* Store the SSIB pointer. */ | ||
158 | |||
159 | ssib_name = ggc_strdup (unicosmk_ssib_name ()); | ||
160 | - mem = gen_rtx_MEM (DImode, plus_constant (stack_pointer_rtx, 32)); | ||
161 | - set_mem_alias_set (mem, alpha_sr_alias_set); | ||
162 | + mem = gen_frame_mem (DImode, plus_constant (stack_pointer_rtx, 32)); | ||
163 | |||
164 | FRP (emit_move_insn (gen_rtx_REG (DImode, 5), | ||
165 | gen_rtx_SYMBOL_REF (Pmode, ssib_name))); | ||
166 | @@ -10541,8 +10524,7 @@ unicosmk_gen_dsib (unsigned long *imaskP) | ||
167 | |||
168 | /* Save the CIW index. */ | ||
169 | |||
170 | - mem = gen_rtx_MEM (DImode, plus_constant (stack_pointer_rtx, 24)); | ||
171 | - set_mem_alias_set (mem, alpha_sr_alias_set); | ||
172 | + mem = gen_frame_mem (DImode, plus_constant (stack_pointer_rtx, 24)); | ||
173 | FRP (emit_move_insn (mem, gen_rtx_REG (DImode, 25))); | ||
174 | |||
175 | emit_insn (gen_blockage ()); | ||
176 | -- | ||
177 | 1.7.0.4 | ||
178 | |||