aboutsummaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2002-09-12 02:14:26 +0000
committerAlan Modra <amodra@gcc.gnu.org>2002-09-12 11:44:26 +0930
commit35aff10b0f617c6f4dab622ec0d1700e270f16a0 (patch)
treec62e432b50d8732639f52957046a8db3bed14147 /gcc/emit-rtl.c
parent874f6a6d1f62dd04490e67f5c19e4621902e9dfa (diff)
downloadgcc-35aff10b0f617c6f4dab622ec0d1700e270f16a0.zip
gcc-35aff10b0f617c6f4dab622ec0d1700e270f16a0.tar.gz
gcc-35aff10b0f617c6f4dab622ec0d1700e270f16a0.tar.bz2
emit-rtl.c (set_mem_size): New function.
* emit-rtl.c (set_mem_size): New function. * expr.h (set_mem_size): Declare. * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate. (expand_block_move): Instead, use adjust_address and replace_equiv_address to generate proper aliasing info. Move common code out of conditionals. Localize vars. From-SVN: r57047
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index e94fc4ec..b8297a8 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -1968,6 +1968,17 @@ set_mem_offset (mem, offset)
offset, MEM_SIZE (mem), MEM_ALIGN (mem),
GET_MODE (mem));
}
+
+/* Set the size of MEM to SIZE. */
+
+void
+set_mem_size (mem, size)
+ rtx mem, size;
+{
+ MEM_ATTRS (mem) = get_mem_attrs (MEM_ALIAS_SET (mem), MEM_EXPR (mem),
+ MEM_OFFSET (mem), size, MEM_ALIGN (mem),
+ GET_MODE (mem));
+}
/* Return a memory reference like MEMREF, but with its mode changed to MODE
and its address changed to ADDR. (VOIDmode means don't change the mode.