expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
* expr.c (emit_block_move): If X is readonly emit CLOBBER for it. (clear_storage): Likewise, for OBJECT. From-SVN: r46865
This commit is contained in:
parent
99a2782c86
commit
66c60e6756
@ -1,3 +1,8 @@
|
||||
Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||
|
||||
* expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
|
||||
(clear_storage): Likewise, for OBJECT.
|
||||
|
||||
Thu Nov 8 16:23:51 2001 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* pa.c (emit_move_sequence): Fix SUBREG expression to
|
||||
|
12
gcc/expr.c
12
gcc/expr.c
@ -1812,6 +1812,12 @@ emit_block_move (x, y, size)
|
||||
TREE_UNSIGNED (integer_type_node)),
|
||||
TYPE_MODE (integer_type_node));
|
||||
#endif
|
||||
|
||||
/* If we are initializing a readonly value, show the above call
|
||||
clobbered it. Otherwise, a load from it may erroneously be hoisted
|
||||
from a loop. */
|
||||
if (RTX_UNCHANGING_P (x))
|
||||
emit_insn (gen_rtx_CLOBBER (VOIDmode, x));
|
||||
}
|
||||
|
||||
return retval;
|
||||
@ -2717,6 +2723,12 @@ clear_storage (object, size)
|
||||
VOIDmode, 2, object, Pmode, size,
|
||||
TYPE_MODE (integer_type_node));
|
||||
#endif
|
||||
|
||||
/* If we are initializing a readonly value, show the above call
|
||||
clobbered it. Otherwise, a load from it may erroneously be
|
||||
hoisted from a loop. */
|
||||
if (RTX_UNCHANGING_P (object))
|
||||
emit_insn (gen_rtx_CLOBBER (VOIDmode, object));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user