From: Jakub Jelinek Date: Wed, 16 Jul 2003 11:07:54 +0000 (+0200) Subject: expr.c (emit_block_move): Don't move anything if size is const 0. X-Git-Tag: releases/gcc-3.4.0~4810 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6972c506d47a918744940e9af28a85d67e446090;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 40f58fd8f82a..0e76adbcc02e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-07-15 Jakub Jelinek + + * 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 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only diff --git a/gcc/expr.c b/gcc/expr.c index a7f3a1cc8a95..5dc424d0c61d 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -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. */ if (GET_CODE (size) == CONST_INT) { + if (INTVAL (size) == 0) + return 0; + x = shallow_copy_rtx (x); y = shallow_copy_rtx (y); set_mem_size (x, size); @@ -2975,7 +2978,7 @@ clear_storage (rtx object, rtx size) object = protect_from_queue (object, 1); 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 && CLEAR_BY_PIECES_P (INTVAL (size), align))