From 0d155c07f0417978ae02c12b9af44c96b889227e Mon Sep 17 00:00:00 2001 From: meissner Date: Fri, 12 Mar 2010 15:11:25 +0000 Subject: [PATCH] Remove band-aid no longer needed by the fix in PR 43431 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157408 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/config/rs6000/rs6000.c | 26 -------------------------- 2 files changed, 6 insertions(+), 26 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ce51db69c8c..9bb215ac239 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 82850658731..ce38a8a9d9a 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]); -- 2.11.0