From 428be70231dbdf34a131b9230d327fdd667487d4 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Tue, 24 Mar 1998 23:53:47 +0000 Subject: [PATCH] * pa.c (emit_move_sequence): If in reload, call find_replacement. From-SVN: r18812 --- gcc/ChangeLog | 4 ++++ gcc/config/pa/pa.c | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8b72e52a57c..1168dc09e7b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Wed Mar 25 00:57:26 1998 Richard Kenner + + * pa.c (emit_move_sequence): If in reload, call find_replacement. + Tue Mar 24 10:44:11 1998 Nick Clifton * Makefile.in (gcov$(exeext)): Support .exe extension to gcov. diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 7174d8a570e..9c8fcc9da71 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -1074,6 +1074,7 @@ emit_move_sequence (operands, mode, scratch_reg) { register rtx operand0 = operands[0]; register rtx operand1 = operands[1]; + register rtx tem; if (reload_in_progress && GET_CODE (operand0) == REG && REGNO (operand0) >= FIRST_PSEUDO_REGISTER) @@ -1097,6 +1098,15 @@ emit_move_sequence (operands, mode, scratch_reg) operand1 = alter_subreg (operand1); } + if (reload_in_progress && GET_CODE (operand0) == MEM + && ((tem = find_replacement (&XEXP (operand0, 0))) + != XEXP (operand0, 0))) + operand0 = gen_rtx (MEM, GET_MODE (operand0), tem); + if (reload_in_progress && GET_CODE (operand1) == MEM + && ((tem = find_replacement (&XEXP (operand1, 0))) + != XEXP (operand1, 0))) + operand1 = gen_rtx (MEM, GET_MODE (operand1), tem); + /* Handle secondary reloads for loads/stores of FP registers from REG+D addresses where D does not fit in 5 bits, including (subreg (mem (addr))) cases. */ -- 2.30.2