summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106741.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106741.patch')
-rw-r--r--meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106741.patch49
1 files changed, 25 insertions, 24 deletions
diff --git a/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106741.patch b/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106741.patch
index 84f6f64989..f53b26a888 100644
--- a/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106741.patch
+++ b/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106741.patch
@@ -17,8 +17,10 @@
17 for STORE_FLAG_VALUE==-1 case. 17 for STORE_FLAG_VALUE==-1 case.
18 18
19=== modified file 'gcc/combine.c' 19=== modified file 'gcc/combine.c'
20--- old/gcc/combine.c 2011-02-15 19:46:26 +0000 20Index: gcc-4_6-branch/gcc/combine.c
21+++ new/gcc/combine.c 2011-04-26 17:03:58 +0000 21===================================================================
22--- gcc-4_6-branch.orig/gcc/combine.c 2011-09-16 19:58:21.000000000 -0700
23+++ gcc-4_6-branch/gcc/combine.c 2011-09-16 20:05:36.626650681 -0700
22@@ -391,8 +391,8 @@ 24@@ -391,8 +391,8 @@
23 static void undo_all (void); 25 static void undo_all (void);
24 static void undo_commit (void); 26 static void undo_commit (void);
@@ -30,7 +32,7 @@
30 static rtx simplify_if_then_else (rtx); 32 static rtx simplify_if_then_else (rtx);
31 static rtx simplify_set (rtx); 33 static rtx simplify_set (rtx);
32 static rtx simplify_logical (rtx); 34 static rtx simplify_logical (rtx);
33@@ -3086,12 +3086,12 @@ 35@@ -3112,12 +3112,12 @@
34 if (i1) 36 if (i1)
35 { 37 {
36 subst_low_luid = DF_INSN_LUID (i1); 38 subst_low_luid = DF_INSN_LUID (i1);
@@ -45,7 +47,7 @@
45 } 47 }
46 } 48 }
47 49
48@@ -3103,7 +3103,7 @@ 50@@ -3129,7 +3129,7 @@
49 self-referential RTL when we will be substituting I1SRC for I1DEST 51 self-referential RTL when we will be substituting I1SRC for I1DEST
50 later. Likewise if I0 feeds into I2, either directly or indirectly 52 later. Likewise if I0 feeds into I2, either directly or indirectly
51 through I1, and I0DEST is in I0SRC. */ 53 through I1, and I0DEST is in I0SRC. */
@@ -54,7 +56,7 @@
54 (i1_feeds_i2_n && i1dest_in_i1src) 56 (i1_feeds_i2_n && i1dest_in_i1src)
55 || ((i0_feeds_i2_n || (i0_feeds_i1_n && i1_feeds_i2_n)) 57 || ((i0_feeds_i2_n || (i0_feeds_i1_n && i1_feeds_i2_n))
56 && i0dest_in_i0src)); 58 && i0dest_in_i0src));
57@@ -3142,7 +3142,7 @@ 59@@ -3168,7 +3168,7 @@
58 copy of I1SRC each time we substitute it, in order to avoid creating 60 copy of I1SRC each time we substitute it, in order to avoid creating
59 self-referential RTL when we will be substituting I0SRC for I0DEST 61 self-referential RTL when we will be substituting I0SRC for I0DEST
60 later. */ 62 later. */
@@ -63,7 +65,7 @@
63 i0_feeds_i1_n && i0dest_in_i0src); 65 i0_feeds_i1_n && i0dest_in_i0src);
64 substed_i1 = 1; 66 substed_i1 = 1;
65 67
66@@ -3172,7 +3172,7 @@ 68@@ -3198,7 +3198,7 @@
67 69
68 n_occurrences = 0; 70 n_occurrences = 0;
69 subst_low_luid = DF_INSN_LUID (i0); 71 subst_low_luid = DF_INSN_LUID (i0);
@@ -72,7 +74,7 @@
72 substed_i0 = 1; 74 substed_i0 = 1;
73 } 75 }
74 76
75@@ -3234,7 +3234,7 @@ 77@@ -3260,7 +3260,7 @@
76 { 78 {
77 rtx t = i1pat; 79 rtx t = i1pat;
78 if (i0_feeds_i1_n) 80 if (i0_feeds_i1_n)
@@ -81,7 +83,7 @@
81 83
82 XVECEXP (newpat, 0, --total_sets) = t; 84 XVECEXP (newpat, 0, --total_sets) = t;
83 } 85 }
84@@ -3242,10 +3242,10 @@ 86@@ -3268,10 +3268,10 @@
85 { 87 {
86 rtx t = i2pat; 88 rtx t = i2pat;
87 if (i1_feeds_i2_n) 89 if (i1_feeds_i2_n)
@@ -94,7 +96,7 @@
94 96
95 XVECEXP (newpat, 0, --total_sets) = t; 97 XVECEXP (newpat, 0, --total_sets) = t;
96 } 98 }
97@@ -4914,11 +4914,13 @@ 99@@ -4943,11 +4943,13 @@
98 100
99 IN_DEST is nonzero if we are processing the SET_DEST of a SET. 101 IN_DEST is nonzero if we are processing the SET_DEST of a SET.
100 102
@@ -109,7 +111,7 @@
109 { 111 {
110 enum rtx_code code = GET_CODE (x); 112 enum rtx_code code = GET_CODE (x);
111 enum machine_mode op0_mode = VOIDmode; 113 enum machine_mode op0_mode = VOIDmode;
112@@ -4979,7 +4981,7 @@ 114@@ -5008,7 +5010,7 @@
113 && GET_CODE (XVECEXP (x, 0, 0)) == SET 115 && GET_CODE (XVECEXP (x, 0, 0)) == SET
114 && GET_CODE (SET_SRC (XVECEXP (x, 0, 0))) == ASM_OPERANDS) 116 && GET_CODE (SET_SRC (XVECEXP (x, 0, 0))) == ASM_OPERANDS)
115 { 117 {
@@ -118,7 +120,7 @@
118 120
119 /* If this substitution failed, this whole thing fails. */ 121 /* If this substitution failed, this whole thing fails. */
120 if (GET_CODE (new_rtx) == CLOBBER 122 if (GET_CODE (new_rtx) == CLOBBER
121@@ -4996,7 +4998,7 @@ 123@@ -5025,7 +5027,7 @@
122 && GET_CODE (dest) != CC0 124 && GET_CODE (dest) != CC0
123 && GET_CODE (dest) != PC) 125 && GET_CODE (dest) != PC)
124 { 126 {
@@ -127,7 +129,7 @@
127 129
128 /* If this substitution failed, this whole thing fails. */ 130 /* If this substitution failed, this whole thing fails. */
129 if (GET_CODE (new_rtx) == CLOBBER 131 if (GET_CODE (new_rtx) == CLOBBER
130@@ -5042,8 +5044,8 @@ 132@@ -5071,8 +5073,8 @@
131 } 133 }
132 else 134 else
133 { 135 {
@@ -138,7 +140,7 @@
138 140
139 /* If this substitution failed, this whole thing 141 /* If this substitution failed, this whole thing
140 fails. */ 142 fails. */
141@@ -5120,7 +5122,9 @@ 143@@ -5149,7 +5151,9 @@
142 && (code == SUBREG || code == STRICT_LOW_PART 144 && (code == SUBREG || code == STRICT_LOW_PART
143 || code == ZERO_EXTRACT)) 145 || code == ZERO_EXTRACT))
144 || code == SET) 146 || code == SET)
@@ -149,7 +151,7 @@
149 151
150 /* If we found that we will have to reject this combination, 152 /* If we found that we will have to reject this combination,
151 indicate that by returning the CLOBBER ourselves, rather than 153 indicate that by returning the CLOBBER ourselves, rather than
152@@ -5177,7 +5181,7 @@ 154@@ -5206,7 +5210,7 @@
153 /* If X is sufficiently simple, don't bother trying to do anything 155 /* If X is sufficiently simple, don't bother trying to do anything
154 with it. */ 156 with it. */
155 if (code != CONST_INT && code != REG && code != CLOBBER) 157 if (code != CONST_INT && code != REG && code != CLOBBER)
@@ -158,7 +160,7 @@
158 160
159 if (GET_CODE (x) == code) 161 if (GET_CODE (x) == code)
160 break; 162 break;
161@@ -5197,10 +5201,12 @@ 163@@ -5226,10 +5230,12 @@
162 expression. 164 expression.
163 165
164 OP0_MODE is the original mode of XEXP (x, 0). IN_DEST is nonzero 166 OP0_MODE is the original mode of XEXP (x, 0). IN_DEST is nonzero
@@ -173,7 +175,7 @@
173 { 175 {
174 enum rtx_code code = GET_CODE (x); 176 enum rtx_code code = GET_CODE (x);
175 enum machine_mode mode = GET_MODE (x); 177 enum machine_mode mode = GET_MODE (x);
176@@ -5255,8 +5261,8 @@ 178@@ -5284,8 +5290,8 @@
177 false arms to store-flag values. Be careful to use copy_rtx 179 false arms to store-flag values. Be careful to use copy_rtx
178 here since true_rtx or false_rtx might share RTL with x as a 180 here since true_rtx or false_rtx might share RTL with x as a
179 result of the if_then_else_cond call above. */ 181 result of the if_then_else_cond call above. */
@@ -184,16 +186,16 @@
184 186
185 /* If true_rtx and false_rtx are not general_operands, an if_then_else 187 /* If true_rtx and false_rtx are not general_operands, an if_then_else
186 is unlikely to be simpler. */ 188 is unlikely to be simpler. */
187@@ -5600,7 +5606,7 @@ 189@@ -5629,7 +5635,7 @@
188 { 190 {
189 /* Try to simplify the expression further. */ 191 /* Try to simplify the expression further. */
190 rtx tor = simplify_gen_binary (IOR, mode, XEXP (x, 0), XEXP (x, 1)); 192 rtx tor = simplify_gen_binary (IOR, mode, XEXP (x, 0), XEXP (x, 1));
191- temp = combine_simplify_rtx (tor, mode, in_dest); 193- temp = combine_simplify_rtx (tor, VOIDmode, in_dest);
192+ temp = combine_simplify_rtx (tor, mode, in_dest, 0); 194+ temp = combine_simplify_rtx (tor, VOIDmode, in_dest, 0);
193 195
194 /* If we could, great. If not, do not go ahead with the IOR 196 /* If we could, great. If not, do not go ahead with the IOR
195 replacement, since PLUS appears in many special purpose 197 replacement, since PLUS appears in many special purpose
196@@ -5693,7 +5699,16 @@ 198@@ -5722,7 +5728,16 @@
197 ZERO_EXTRACT is indeed appropriate, it will be placed back by 199 ZERO_EXTRACT is indeed appropriate, it will be placed back by
198 the call to make_compound_operation in the SET case. */ 200 the call to make_compound_operation in the SET case. */
199 201
@@ -211,7 +213,7 @@
211 && new_code == NE && GET_MODE_CLASS (mode) == MODE_INT 213 && new_code == NE && GET_MODE_CLASS (mode) == MODE_INT
212 && op1 == const0_rtx 214 && op1 == const0_rtx
213 && mode == GET_MODE (op0) 215 && mode == GET_MODE (op0)
214@@ -5739,7 +5754,10 @@ 216@@ -5768,7 +5783,10 @@
215 217
216 /* If STORE_FLAG_VALUE is -1, we have cases similar to 218 /* If STORE_FLAG_VALUE is -1, we have cases similar to
217 those above. */ 219 those above. */
@@ -223,7 +225,7 @@
223 && new_code == NE && GET_MODE_CLASS (mode) == MODE_INT 225 && new_code == NE && GET_MODE_CLASS (mode) == MODE_INT
224 && op1 == const0_rtx 226 && op1 == const0_rtx
225 && (num_sign_bit_copies (op0, mode) 227 && (num_sign_bit_copies (op0, mode)
226@@ -5937,11 +5955,11 @@ 228@@ -5966,11 +5984,11 @@
227 if (reg_mentioned_p (from, true_rtx)) 229 if (reg_mentioned_p (from, true_rtx))
228 true_rtx = subst (known_cond (copy_rtx (true_rtx), true_code, 230 true_rtx = subst (known_cond (copy_rtx (true_rtx), true_code,
229 from, true_val), 231 from, true_val),
@@ -237,7 +239,7 @@
237 239
238 SUBST (XEXP (x, 1), swapped ? false_rtx : true_rtx); 240 SUBST (XEXP (x, 1), swapped ? false_rtx : true_rtx);
239 SUBST (XEXP (x, 2), swapped ? true_rtx : false_rtx); 241 SUBST (XEXP (x, 2), swapped ? true_rtx : false_rtx);
240@@ -6158,11 +6176,11 @@ 242@@ -6187,11 +6205,11 @@
241 { 243 {
242 temp = subst (simplify_gen_relational (true_code, m, VOIDmode, 244 temp = subst (simplify_gen_relational (true_code, m, VOIDmode,
243 cond_op0, cond_op1), 245 cond_op0, cond_op1),
@@ -251,4 +253,3 @@
251 temp = simplify_gen_binary (op, m, gen_lowpart (m, z), temp); 253 temp = simplify_gen_binary (op, m, gen_lowpart (m, z), temp);
252 254
253 if (extend_op != UNKNOWN) 255 if (extend_op != UNKNOWN)
254