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)
|
Thu Nov 8 16:23:51 2001 Jeffrey A Law (law@cygnus.com)
|
||||||
|
|
||||||
* pa.c (emit_move_sequence): Fix SUBREG expression to
|
* 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)),
|
TREE_UNSIGNED (integer_type_node)),
|
||||||
TYPE_MODE (integer_type_node));
|
TYPE_MODE (integer_type_node));
|
||||||
#endif
|
#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;
|
return retval;
|
||||||
@ -2717,6 +2723,12 @@ clear_storage (object, size)
|
|||||||
VOIDmode, 2, object, Pmode, size,
|
VOIDmode, 2, object, Pmode, size,
|
||||||
TYPE_MODE (integer_type_node));
|
TYPE_MODE (integer_type_node));
|
||||||
#endif
|
#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