From 9b04c6a896b81889fb94e7878cef705b1ef716c4 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Fri, 8 Nov 1996 18:55:41 -0500 Subject: [PATCH] (change_address): If MEMREF isn't changing, return the old one. From-SVN: r13115 --- gcc/emit-rtl.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 337e9732f52..66b5d22696e 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); -- 2.30.2