diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-11-08 18:55:41 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-11-08 18:55:41 -0500 |
commit | 9b04c6a896b81889fb94e7878cef705b1ef716c4 (patch) | |
tree | 056d3cc366b66adf7ccee3eaaad2cc6172b6ec4d /gcc | |
parent | b61b64100a3be5e98039b4f8dc8cd192a17b0da0 (diff) | |
download | gcc-9b04c6a896b81889fb94e7878cef705b1ef716c4.zip gcc-9b04c6a896b81889fb94e7878cef705b1ef716c4.tar.gz gcc-9b04c6a896b81889fb94e7878cef705b1ef716c4.tar.bz2 |
(change_address): If MEMREF isn't changing, return the old one.
From-SVN: r13115
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/emit-rtl.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 337e973..66b5d22 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -1376,6 +1376,9 @@ change_address (memref, mode, addr) else 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); MEM_VOLATILE_P (new) = MEM_VOLATILE_P (memref); RTX_UNCHANGING_P (new) = RTX_UNCHANGING_P (memref); |