Commit 9b04c6a8 by Richard Kenner

(change_address): If MEMREF isn't changing, return the old one.

From-SVN: r13115
parent b61b6410
...@@ -1376,6 +1376,9 @@ change_address (memref, mode, addr) ...@@ -1376,6 +1376,9 @@ change_address (memref, mode, addr)
else else
addr = memory_address (mode, addr); addr = memory_address (mode, addr);
if (rtx_equal_p (addr, XEXP (memref, 0)) && mode == GET_MODE (memref))
return memref;
new = gen_rtx (MEM, mode, addr); new = gen_rtx (MEM, mode, addr);
MEM_VOLATILE_P (new) = MEM_VOLATILE_P (memref); MEM_VOLATILE_P (new) = MEM_VOLATILE_P (memref);
RTX_UNCHANGING_P (new) = RTX_UNCHANGING_P (memref); RTX_UNCHANGING_P (new) = RTX_UNCHANGING_P (memref);
......
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