diff options
author | Michael Meissner <meissner@linux.vnet.ibm.com> | 2010-03-12 15:11:25 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 2010-03-12 15:11:25 +0000 |
commit | 08f9d72574b6fa29248176b25e8cd40dcf2655b5 (patch) | |
tree | 5c891e12b30a20e52106c51a5bb54fcd541ce3be | |
parent | b2ef02df5312169ffd4b0cfce00de2e01a5ff508 (diff) | |
download | gcc-08f9d72574b6fa29248176b25e8cd40dcf2655b5.zip gcc-08f9d72574b6fa29248176b25e8cd40dcf2655b5.tar.gz gcc-08f9d72574b6fa29248176b25e8cd40dcf2655b5.tar.bz2 |
Remove band-aid no longer needed by the fix in PR 43431
From-SVN: r157408
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 26 |
2 files changed, 6 insertions, 26 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ce51db6..9bb215a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com> + + PR middle-end/42431 + * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid + code added to work around reload clobbering CONST insns. + 2010-03-12 Jakub Jelinek <jakub@redhat.com> * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 8285065..ce38a8a 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -6346,32 +6346,6 @@ rs6000_emit_move (rtx dest, rtx source, enum machine_mode mode) return; } - /* Fix up invalid (const (plus (symbol_ref) (reg))) that seems to be created - in the secondary_reload phase, which evidently overwrites the CONST_INT - with a register. */ - if (GET_CODE (source) == CONST && GET_CODE (XEXP (source, 0)) == PLUS - && mode == Pmode) - { - rtx add_op0 = XEXP (XEXP (source, 0), 0); - rtx add_op1 = XEXP (XEXP (source, 0), 1); - - if (GET_CODE (add_op0) == SYMBOL_REF && GET_CODE (add_op1) == REG) - { - rtx tmp = (can_create_pseudo_p ()) ? gen_reg_rtx (Pmode) : dest; - - if (TARGET_DEBUG_ADDR) - { - fprintf (stderr, "\nrs6000_emit_move: bad source\n"); - debug_rtx (source); - } - - rs6000_emit_move (tmp, add_op0, Pmode); - emit_insn (gen_rtx_SET (VOIDmode, dest, - gen_rtx_PLUS (Pmode, tmp, add_op1))); - return; - } - } - if (can_create_pseudo_p () && GET_CODE (operands[0]) == MEM && !gpc_reg_operand (operands[1], mode)) operands[1] = force_reg (mode, operands[1]); |