Commit 3c80f7ed by Richard Kenner

(find_reloads_address): When copying memref after we've made recursive

calls on it, copy any replacements we made.

From-SVN: r2642
parent 56358f7f
...@@ -253,6 +253,7 @@ static int hard_reg_set_here_p (); ...@@ -253,6 +253,7 @@ static int hard_reg_set_here_p ();
/* static rtx forget_volatility (); */ /* static rtx forget_volatility (); */
static rtx subst_reg_equivs (); static rtx subst_reg_equivs ();
static rtx subst_indexed_address (); static rtx subst_indexed_address ();
void copy_replacements ();
rtx find_equiv_reg (); rtx find_equiv_reg ();
static int find_inc_amount (); static int find_inc_amount ();
...@@ -3636,6 +3637,7 @@ find_reloads_address (mode, memrefloc, ad, loc, operand, ind_levels) ...@@ -3636,6 +3637,7 @@ find_reloads_address (mode, memrefloc, ad, loc, operand, ind_levels)
{ {
rtx oldref = *memrefloc; rtx oldref = *memrefloc;
*memrefloc = copy_rtx (*memrefloc); *memrefloc = copy_rtx (*memrefloc);
copy_replacements (tem, XEXP (*memrefloc, 0));
loc = &XEXP (*memrefloc, 0); loc = &XEXP (*memrefloc, 0);
if (operand == oldref) if (operand == oldref)
operand = *memrefloc; operand = *memrefloc;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment