Gentoo Archives: gentoo-commits

From: "Luca Barbato (lu_zero)" <lu_zero@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in src/patchsets/gcc/4.4.4/gentoo: README.history 94_all_sh-pr42481.patch 95_all_sh-pr43744.patch
Date: Sat, 31 Jul 2010 17:02:37
Message-Id: 20100731163404.385482CE15@corvid.gentoo.org
1 lu_zero 10/07/31 16:34:04
2
3 Modified: README.history
4 Added: 94_all_sh-pr42481.patch 95_all_sh-pr43744.patch
5 Log:
6 Add patches to address bug #327191
7
8 Revision Changes Path
9 1.2 src/patchsets/gcc/4.4.4/gentoo/README.history
10
11 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.4.4/gentoo/README.history?rev=1.2&view=markup
12 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.4.4/gentoo/README.history?rev=1.2&content-type=text/plain
13 diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.4.4/gentoo/README.history?r1=1.1&r2=1.2
14
15 Index: README.history
16 ===================================================================
17 RCS file: /var/cvsroot/gentoo/src/patchsets/gcc/4.4.4/gentoo/README.history,v
18 retrieving revision 1.1
19 retrieving revision 1.2
20 diff -u -r1.1 -r1.2
21 --- README.history 10 Jun 2010 05:26:50 -0000 1.1
22 +++ README.history 31 Jul 2010 16:34:03 -0000 1.2
23 @@ -1,3 +1,6 @@
24 +2 31.07.2010
25 + + 95_all_sh-pr43744.patch
26 + + 94_all_sh-pr42481.patch
27 1 10.06.2010
28 + 00_all_gcc-4.1-alpha-mieee-default.patch
29 + 00_all_gcc-trampolinewarn.patch
30
31
32
33 1.1 src/patchsets/gcc/4.4.4/gentoo/94_all_sh-pr42481.patch
34
35 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.4.4/gentoo/94_all_sh-pr42481.patch?rev=1.1&view=markup
36 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.4.4/gentoo/94_all_sh-pr42481.patch?rev=1.1&content-type=text/plain
37
38 Index: 94_all_sh-pr42481.patch
39 ===================================================================
40 --- branches/gcc-4_4-branch/gcc/config/sh/sh.c 2009/05/24 22:18:47 147837
41 +++ branches/gcc-4_4-branch/gcc/config/sh/sh.c 2010/01/26 07:21:57 156230
42 @@ -4061,6 +4061,13 @@
43 && ! TARGET_SMALLCODE)
44 new_align = 4;
45
46 + /* There is a possibility that a bf is transformed into a bf/s by the
47 + delay slot scheduler. */
48 + if (JUMP_P (from) && !JUMP_TABLE_DATA_P (from)
49 + && get_attr_type (from) == TYPE_CBRANCH
50 + && GET_CODE (PATTERN (NEXT_INSN (PREV_INSN (from)))) != SEQUENCE)
51 + inc += 2;
52 +
53 if (found_si)
54 {
55 count_si += inc;
56 @@ -8721,9 +8728,7 @@
57 && GET_CODE (PATTERN (insn)) != USE
58 && GET_CODE (PATTERN (insn)) != CLOBBER)
59 || GET_CODE (insn) == CALL_INSN
60 - || (GET_CODE (insn) == JUMP_INSN
61 - && GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC
62 - && GET_CODE (PATTERN (insn)) != ADDR_VEC))
63 + || (JUMP_P (insn) && !JUMP_TABLE_DATA_P (insn)))
64 && GET_CODE (PATTERN (NEXT_INSN (PREV_INSN (insn)))) != SEQUENCE
65 && get_attr_needs_delay_slot (insn) == NEEDS_DELAY_SLOT_YES)
66 return 2;
67 @@ -8731,9 +8736,7 @@
68 /* SH2e has a bug that prevents the use of annulled branches, so if
69 the delay slot is not filled, we'll have to put a NOP in it. */
70 if (sh_cpu == CPU_SH2E
71 - && GET_CODE (insn) == JUMP_INSN
72 - && GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC
73 - && GET_CODE (PATTERN (insn)) != ADDR_VEC
74 + && JUMP_P (insn) && !JUMP_TABLE_DATA_P (insn)
75 && get_attr_type (insn) == TYPE_CBRANCH
76 && GET_CODE (PATTERN (NEXT_INSN (PREV_INSN (insn)))) != SEQUENCE)
77 return 2;
78
79
80 1.1 src/patchsets/gcc/4.4.4/gentoo/95_all_sh-pr43744.patch
81
82 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.4.4/gentoo/95_all_sh-pr43744.patch?rev=1.1&view=markup
83 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/gcc/4.4.4/gentoo/95_all_sh-pr43744.patch?rev=1.1&content-type=text/plain
84
85 Index: 95_all_sh-pr43744.patch
86 ===================================================================
87 --- branches/gcc-4_4-branch/gcc/config/sh/sh.c 2010/03/23 23:04:39 157683
88 +++ branches/gcc-4_4-branch/gcc/config/sh/sh.c 2010/05/05 22:27:57 159088
89 @@ -3884,6 +3884,7 @@
90 int si_limit;
91 int hi_limit;
92 rtx orig = from;
93 + rtx last_symoff = NULL_RTX;
94
95 /* For HImode: range is 510, add 4 because pc counts from address of
96 second instruction after this one, subtract 2 for the jump instruction
97 @@ -4015,6 +4016,16 @@
98 {
99 switch (untangle_mova (&num_mova, &mova, from))
100 {
101 + case 1:
102 + if (flag_pic)
103 + {
104 + rtx src = SET_SRC (PATTERN (from));
105 + if (GET_CODE (src) == CONST
106 + && GET_CODE (XEXP (src, 0)) == UNSPEC
107 + && XINT (XEXP (src, 0), 1) == UNSPEC_SYMOFF)
108 + last_symoff = from;
109 + }
110 + break;
111 case 0: return find_barrier (0, 0, mova);
112 case 2:
113 {
114 @@ -4120,6 +4131,12 @@
115 so we'll make one. */
116 rtx label = gen_label_rtx ();
117
118 + /* Don't emit a constant table in the middle of insns for
119 + casesi_worker_2. This is a bit overkill but is enough
120 + because casesi_worker_2 wouldn't appear so frequently. */
121 + if (last_symoff)
122 + from = last_symoff;
123 +
124 /* If we exceeded the range, then we must back up over the last
125 instruction we looked at. Otherwise, we just need to undo the
126 NEXT_INSN at the end of the loop. */