Commit 35aff10b by Alan Modra Committed by Alan Modra

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
parent 874f6a6d
2002-09-12 Alan Modra <amodra@bigpond.net.au>
* 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.
2002-09-09 Eric Botcazou ebotcazou@libertysurf.fr 2002-09-09 Eric Botcazou ebotcazou@libertysurf.fr
* optabs.c (expand_binop): Minor cleanup. * optabs.c (expand_binop): Minor cleanup.
......
...@@ -1968,6 +1968,17 @@ set_mem_offset (mem, offset) ...@@ -1968,6 +1968,17 @@ set_mem_offset (mem, offset)
offset, MEM_SIZE (mem), MEM_ALIGN (mem), offset, MEM_SIZE (mem), MEM_ALIGN (mem),
GET_MODE (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 /* 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. and its address changed to ADDR. (VOIDmode means don't change the mode.
......
...@@ -616,6 +616,9 @@ extern void set_mem_expr PARAMS ((rtx, tree)); ...@@ -616,6 +616,9 @@ extern void set_mem_expr PARAMS ((rtx, tree));
/* Set the offset for MEM to OFFSET. */ /* Set the offset for MEM to OFFSET. */
extern void set_mem_offset PARAMS ((rtx, rtx)); extern void set_mem_offset PARAMS ((rtx, rtx));
/* Set the size for MEM to SIZE. */
extern void set_mem_size PARAMS ((rtx, rtx));
/* Return a memory reference like MEMREF, but with its mode changed /* Return a memory reference like MEMREF, but with its mode changed
to MODE and its address changed to ADDR. to MODE and its address changed to ADDR.
(VOIDmode means don't change the mode. (VOIDmode means don't change the mode.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment