From a74ff877641c745eda294f04564a7ac7fc9b9e9d Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Fri, 23 Jan 2004 23:05:19 +0100 Subject: emit-rtl.c (change_address_1): Do not re-generate the RTX if nothing change. * emit-rtl.c (change_address_1): Do not re-generate the RTX if nothing change. From-SVN: r76457 --- gcc/ChangeLog | 3 +++ gcc/emit-rtl.c | 3 +++ 2 files changed, 6 insertions(+) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ed74058..2a4f30a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2004-01-23 Jan Hubicka + * emit-rtl.c (change_address_1): Do not re-generate the RTX if nothing + change. + * alloc-pool.c (align_four): Kill. (create_alloc_pool): Align size to eight. (free_alloc_pool, free_pool): Invalidate deallocated data. diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index cdb0c2a..f576e76 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -1840,6 +1840,9 @@ change_address_1 (rtx memref, enum machine_mode mode, rtx addr, int validate) mode = GET_MODE (memref); if (addr == 0) addr = XEXP (memref, 0); + if (mode == GET_MODE (memref) && addr == XEXP (memref, 0) + && (!validate || memory_address_p (mode, addr))) + return memref; if (validate) { -- cgit v1.1