author | "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> |
Fri Jun 26 19:09:22 2009 +0200 (2009-06-26) | |
branch | canadian |
changeset 1427 | 231251d0110c |
parent 746 | b150d6f590fc |
permissions | -rw-r--r-- |
yann@552 | 1 |
Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/64_all_gcc43-pr34571.patch |
yann@552 | 2 |
http://gcc.gnu.org/PR34571 |
yann@552 | 3 |
|
yann@552 | 4 |
2007-12-26 Rask Ingemann Lambertsen <rask@sygehus.dk> |
yann@552 | 5 |
|
yann@552 | 6 |
PR target/34571 |
yann@552 | 7 |
* config/alpha/alpha.c (alpha_cannot_force_const_mem): Use |
yann@552 | 8 |
symbolic_operand. |
yann@552 | 9 |
* varasm.c (output_constant_pool_1): Fix typo. |
yann@552 | 10 |
|
yann@552 | 11 |
diff -durN gcc-4.3.0.orig/gcc/config/alpha/alpha.c gcc-4.3.0/gcc/config/alpha/alpha.c |
yann@552 | 12 |
--- gcc-4.3.0.orig/gcc/config/alpha/alpha.c 2008-02-07 18:45:24.000000000 +0100 |
yann@552 | 13 |
+++ gcc-4.3.0/gcc/config/alpha/alpha.c 2008-06-10 14:45:13.000000000 +0200 |
yann@552 | 14 |
@@ -1113,8 +1113,7 @@ |
yann@552 | 15 |
static bool |
yann@552 | 16 |
alpha_cannot_force_const_mem (rtx x) |
yann@552 | 17 |
{ |
yann@552 | 18 |
- enum rtx_code code = GET_CODE (x); |
yann@552 | 19 |
- return code == SYMBOL_REF || code == LABEL_REF || code == CONST; |
yann@552 | 20 |
+ return symbolic_operand (x, GET_MODE (x)); |
yann@552 | 21 |
} |
yann@552 | 22 |
|
yann@552 | 23 |
/* We do not allow indirect calls to be optimized into sibling calls, nor |
yann@552 | 24 |
diff -durN gcc-4.3.0.orig/gcc/varasm.c gcc-4.3.0/gcc/varasm.c |
yann@552 | 25 |
--- gcc-4.3.0.orig/gcc/varasm.c 2007-12-05 22:55:10.000000000 +0100 |
yann@552 | 26 |
+++ gcc-4.3.0/gcc/varasm.c 2008-06-10 14:45:13.000000000 +0200 |
yann@552 | 27 |
@@ -3710,7 +3710,7 @@ |
yann@552 | 28 |
/* FALLTHRU */ |
yann@552 | 29 |
|
yann@552 | 30 |
case LABEL_REF: |
yann@552 | 31 |
- tmp = XEXP (x, 0); |
yann@552 | 32 |
+ tmp = XEXP (tmp, 0); |
yann@552 | 33 |
gcc_assert (!INSN_DELETED_P (tmp)); |
yann@552 | 34 |
gcc_assert (!NOTE_P (tmp) |
yann@552 | 35 |
|| NOTE_KIND (tmp) != NOTE_INSN_DELETED); |