expr.c (emit_block_move): Don't move anything if size is const 0.
* expr.c (emit_block_move): Don't move anything if size is const 0. (clear_storage): Test against const0_rtx instead of comparing INTVAL against 0. From-SVN: r69441
This commit is contained in:
parent
ac59ed379b
commit
6972c506d4
@ -1,3 +1,9 @@
|
|||||||
|
2003-07-15 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* expr.c (emit_block_move): Don't move anything if size is const 0.
|
||||||
|
(clear_storage): Test against const0_rtx instead of comparing INTVAL
|
||||||
|
against 0.
|
||||||
|
|
||||||
2003-07-15 David S. Miller <davem@redhat.com>
|
2003-07-15 David S. Miller <davem@redhat.com>
|
||||||
|
|
||||||
* config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
|
* config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
|
||||||
|
@ -1766,6 +1766,9 @@ emit_block_move (rtx x, rtx y, rtx size, enum block_op_methods method)
|
|||||||
can be incorrect is coming from __builtin_memcpy. */
|
can be incorrect is coming from __builtin_memcpy. */
|
||||||
if (GET_CODE (size) == CONST_INT)
|
if (GET_CODE (size) == CONST_INT)
|
||||||
{
|
{
|
||||||
|
if (INTVAL (size) == 0)
|
||||||
|
return 0;
|
||||||
|
|
||||||
x = shallow_copy_rtx (x);
|
x = shallow_copy_rtx (x);
|
||||||
y = shallow_copy_rtx (y);
|
y = shallow_copy_rtx (y);
|
||||||
set_mem_size (x, size);
|
set_mem_size (x, size);
|
||||||
@ -2975,7 +2978,7 @@ clear_storage (rtx object, rtx size)
|
|||||||
object = protect_from_queue (object, 1);
|
object = protect_from_queue (object, 1);
|
||||||
size = protect_from_queue (size, 0);
|
size = protect_from_queue (size, 0);
|
||||||
|
|
||||||
if (GET_CODE (size) == CONST_INT && INTVAL (size) == 0)
|
if (size == const0_rtx)
|
||||||
;
|
;
|
||||||
else if (GET_CODE (size) == CONST_INT
|
else if (GET_CODE (size) == CONST_INT
|
||||||
&& CLEAR_BY_PIECES_P (INTVAL (size), align))
|
&& CLEAR_BY_PIECES_P (INTVAL (size), align))
|
||||||
|
Loading…
Reference in New Issue
Block a user