(find_reloads_address): If tem != ad, then create a new

mem to hold it and store it back into memrefloc.

From-SVN: r2330
This commit is contained in:
Richard Stallman 1992-10-06 00:19:55 +00:00
parent 026380ff6b
commit d25554549b
1 changed files with 6 additions and 0 deletions

View File

@ -3618,6 +3618,12 @@ find_reloads_address (mode, memrefloc, ad, loc, operand, ind_levels)
tem = ad;
find_reloads_address (GET_MODE (ad), &tem, XEXP (ad, 0), &XEXP (ad, 0),
operand, ind_levels == 0 ? 0 : ind_levels - 1);
/* If tem was changed, then we must create a new memory reference to
hold it and store it back into memrefloc. */
if (tem != ad && memrefloc)
*memrefloc = gen_rtx (MEM, GET_MODE (*memrefloc), tem);
/* Check similar cases as for indirect addresses as above except
that we can allow pseudos and a MEM since they should have been
taken care of above. */