* expr.c (store_constructor): Don't clobber TARGET if CLEARED.
From-SVN: r30676
This commit is contained in:
parent
ac51c4e37c
commit
dd1db5ec31
|
@ -1,5 +1,7 @@
|
||||||
Sat Nov 27 08:38:26 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
Sat Nov 27 08:38:26 1999 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||||
|
|
||||||
|
* expr.c (store_constructor): Don't clobber TARGET if CLEARED.
|
||||||
|
|
||||||
* combine.c (try_combine): Add code to try to merge a set of a
|
* combine.c (try_combine): Add code to try to merge a set of a
|
||||||
two-word pseudo to a constant with a setting of one of those words
|
two-word pseudo to a constant with a setting of one of those words
|
||||||
to a constant.
|
to a constant.
|
||||||
|
|
|
@ -4088,8 +4088,9 @@ store_constructor (exp, target, align, cleared)
|
||||||
register tree elt;
|
register tree elt;
|
||||||
|
|
||||||
/* Inform later passes that the whole union value is dead. */
|
/* Inform later passes that the whole union value is dead. */
|
||||||
if (TREE_CODE (type) == UNION_TYPE
|
if ((TREE_CODE (type) == UNION_TYPE
|
||||||
|| TREE_CODE (type) == QUAL_UNION_TYPE)
|
|| TREE_CODE (type) == QUAL_UNION_TYPE)
|
||||||
|
&& ! cleared)
|
||||||
{
|
{
|
||||||
emit_insn (gen_rtx_CLOBBER (VOIDmode, target));
|
emit_insn (gen_rtx_CLOBBER (VOIDmode, target));
|
||||||
|
|
||||||
|
@ -4125,7 +4126,7 @@ store_constructor (exp, target, align, cleared)
|
||||||
|
|
||||||
cleared = 1;
|
cleared = 1;
|
||||||
}
|
}
|
||||||
else
|
else if (! cleared)
|
||||||
/* Inform later passes that the old value is dead. */
|
/* Inform later passes that the old value is dead. */
|
||||||
emit_insn (gen_rtx_CLOBBER (VOIDmode, target));
|
emit_insn (gen_rtx_CLOBBER (VOIDmode, target));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue