diff options
author | Jan Hubicka <jh@suse.cz> | 2004-01-23 23:05:19 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2004-01-23 22:05:19 +0000 |
commit | a74ff877641c745eda294f04564a7ac7fc9b9e9d (patch) | |
tree | df0d7a13f079d9a72686f4de77602ca503923fea /gcc/emit-rtl.c | |
parent | 8b07361ed42c59b4924327db352609df2b3c26d8 (diff) | |
download | gcc-a74ff877641c745eda294f04564a7ac7fc9b9e9d.tar.gz |
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
Diffstat (limited to 'gcc/emit-rtl.c')
-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 cdb0c2a3c31..f576e76ca75 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) { |