diff options
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.patch | 49 |
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 @@ for STORE_FLAG_VALUE==-1 case. === modified file 'gcc/combine.c' ---- old/gcc/combine.c 2011-02-15 19:46:26 +0000 -+++ new/gcc/combine.c 2011-04-26 17:03:58 +0000 +Index: gcc-4_6-branch/gcc/combine.c +=================================================================== +--- gcc-4_6-branch.orig/gcc/combine.c 2011-09-16 19:58:21.000000000 -0700 ++++ gcc-4_6-branch/gcc/combine.c 2011-09-16 20:05:36.626650681 -0700 @@ -391,8 +391,8 @@ static void undo_all (void); static void undo_commit (void); @@ -30,7 +32,7 @@ static rtx simplify_if_then_else (rtx); static rtx simplify_set (rtx); static rtx simplify_logical (rtx); -@@ -3086,12 +3086,12 @@ +@@ -3112,12 +3112,12 @@ if (i1) { subst_low_luid = DF_INSN_LUID (i1); @@ -45,7 +47,7 @@ } } -@@ -3103,7 +3103,7 @@ +@@ -3129,7 +3129,7 @@ self-referential RTL when we will be substituting I1SRC for I1DEST later. Likewise if I0 feeds into I2, either directly or indirectly through I1, and I0DEST is in I0SRC. */ @@ -54,7 +56,7 @@ (i1_feeds_i2_n && i1dest_in_i1src) || ((i0_feeds_i2_n || (i0_feeds_i1_n && i1_feeds_i2_n)) && i0dest_in_i0src)); -@@ -3142,7 +3142,7 @@ +@@ -3168,7 +3168,7 @@ copy of I1SRC each time we substitute it, in order to avoid creating self-referential RTL when we will be substituting I0SRC for I0DEST later. */ @@ -63,7 +65,7 @@ i0_feeds_i1_n && i0dest_in_i0src); substed_i1 = 1; -@@ -3172,7 +3172,7 @@ +@@ -3198,7 +3198,7 @@ n_occurrences = 0; subst_low_luid = DF_INSN_LUID (i0); @@ -72,7 +74,7 @@ substed_i0 = 1; } -@@ -3234,7 +3234,7 @@ +@@ -3260,7 +3260,7 @@ { rtx t = i1pat; if (i0_feeds_i1_n) @@ -81,7 +83,7 @@ XVECEXP (newpat, 0, --total_sets) = t; } -@@ -3242,10 +3242,10 @@ +@@ -3268,10 +3268,10 @@ { rtx t = i2pat; if (i1_feeds_i2_n) @@ -94,7 +96,7 @@ XVECEXP (newpat, 0, --total_sets) = t; } -@@ -4914,11 +4914,13 @@ +@@ -4943,11 +4943,13 @@ IN_DEST is nonzero if we are processing the SET_DEST of a SET. @@ -109,7 +111,7 @@ { enum rtx_code code = GET_CODE (x); enum machine_mode op0_mode = VOIDmode; -@@ -4979,7 +4981,7 @@ +@@ -5008,7 +5010,7 @@ && GET_CODE (XVECEXP (x, 0, 0)) == SET && GET_CODE (SET_SRC (XVECEXP (x, 0, 0))) == ASM_OPERANDS) { @@ -118,7 +120,7 @@ /* If this substitution failed, this whole thing fails. */ if (GET_CODE (new_rtx) == CLOBBER -@@ -4996,7 +4998,7 @@ +@@ -5025,7 +5027,7 @@ && GET_CODE (dest) != CC0 && GET_CODE (dest) != PC) { @@ -127,7 +129,7 @@ /* If this substitution failed, this whole thing fails. */ if (GET_CODE (new_rtx) == CLOBBER -@@ -5042,8 +5044,8 @@ +@@ -5071,8 +5073,8 @@ } else { @@ -138,7 +140,7 @@ /* If this substitution failed, this whole thing fails. */ -@@ -5120,7 +5122,9 @@ +@@ -5149,7 +5151,9 @@ && (code == SUBREG || code == STRICT_LOW_PART || code == ZERO_EXTRACT)) || code == SET) @@ -149,7 +151,7 @@ /* If we found that we will have to reject this combination, indicate that by returning the CLOBBER ourselves, rather than -@@ -5177,7 +5181,7 @@ +@@ -5206,7 +5210,7 @@ /* If X is sufficiently simple, don't bother trying to do anything with it. */ if (code != CONST_INT && code != REG && code != CLOBBER) @@ -158,7 +160,7 @@ if (GET_CODE (x) == code) break; -@@ -5197,10 +5201,12 @@ +@@ -5226,10 +5230,12 @@ expression. OP0_MODE is the original mode of XEXP (x, 0). IN_DEST is nonzero @@ -173,7 +175,7 @@ { enum rtx_code code = GET_CODE (x); enum machine_mode mode = GET_MODE (x); -@@ -5255,8 +5261,8 @@ +@@ -5284,8 +5290,8 @@ false arms to store-flag values. Be careful to use copy_rtx here since true_rtx or false_rtx might share RTL with x as a result of the if_then_else_cond call above. */ @@ -184,16 +186,16 @@ /* If true_rtx and false_rtx are not general_operands, an if_then_else is unlikely to be simpler. */ -@@ -5600,7 +5606,7 @@ +@@ -5629,7 +5635,7 @@ { /* Try to simplify the expression further. */ rtx tor = simplify_gen_binary (IOR, mode, XEXP (x, 0), XEXP (x, 1)); -- temp = combine_simplify_rtx (tor, mode, in_dest); -+ temp = combine_simplify_rtx (tor, mode, in_dest, 0); +- temp = combine_simplify_rtx (tor, VOIDmode, in_dest); ++ temp = combine_simplify_rtx (tor, VOIDmode, in_dest, 0); /* If we could, great. If not, do not go ahead with the IOR replacement, since PLUS appears in many special purpose -@@ -5693,7 +5699,16 @@ +@@ -5722,7 +5728,16 @@ ZERO_EXTRACT is indeed appropriate, it will be placed back by the call to make_compound_operation in the SET case. */ @@ -211,7 +213,7 @@ && new_code == NE && GET_MODE_CLASS (mode) == MODE_INT && op1 == const0_rtx && mode == GET_MODE (op0) -@@ -5739,7 +5754,10 @@ +@@ -5768,7 +5783,10 @@ /* If STORE_FLAG_VALUE is -1, we have cases similar to those above. */ @@ -223,7 +225,7 @@ && new_code == NE && GET_MODE_CLASS (mode) == MODE_INT && op1 == const0_rtx && (num_sign_bit_copies (op0, mode) -@@ -5937,11 +5955,11 @@ +@@ -5966,11 +5984,11 @@ if (reg_mentioned_p (from, true_rtx)) true_rtx = subst (known_cond (copy_rtx (true_rtx), true_code, from, true_val), @@ -237,7 +239,7 @@ SUBST (XEXP (x, 1), swapped ? false_rtx : true_rtx); SUBST (XEXP (x, 2), swapped ? true_rtx : false_rtx); -@@ -6158,11 +6176,11 @@ +@@ -6187,11 +6205,11 @@ { temp = subst (simplify_gen_relational (true_code, m, VOIDmode, cond_op0, cond_op1), @@ -251,4 +253,3 @@ temp = simplify_gen_binary (op, m, gen_lowpart (m, z), temp); if (extend_op != UNKNOWN) - |