From: Michael Meissner Date: Fri, 12 Mar 2010 15:11:25 +0000 (+0000) Subject: Remove band-aid no longer needed by the fix in PR 43431 X-Git-Tag: releases/gcc-4.5.0~406 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=08f9d72574b6fa29248176b25e8cd40dcf2655b5;p=thirdparty%2Fgcc.git Remove band-aid no longer needed by the fix in PR 43431 From-SVN: r157408 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ce51db69c8c7..9bb215ac2394 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-03-12 Michael Meissner + + 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 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 828506587315..ce38a8a9d9a7 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]);