Commit d2555454 by Richard Stallman

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

mem to hold it and store it back into memrefloc.

From-SVN: r2330
parent 026380ff
...@@ -3618,6 +3618,12 @@ find_reloads_address (mode, memrefloc, ad, loc, operand, ind_levels) ...@@ -3618,6 +3618,12 @@ find_reloads_address (mode, memrefloc, ad, loc, operand, ind_levels)
tem = ad; tem = ad;
find_reloads_address (GET_MODE (ad), &tem, XEXP (ad, 0), &XEXP (ad, 0), find_reloads_address (GET_MODE (ad), &tem, XEXP (ad, 0), &XEXP (ad, 0),
operand, ind_levels == 0 ? 0 : ind_levels - 1); 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 /* Check similar cases as for indirect addresses as above except
that we can allow pseudos and a MEM since they should have been that we can allow pseudos and a MEM since they should have been
taken care of above. */ taken care of above. */
......
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