Commit dd1db5ec by Richard Kenner Committed by Richard Kenner

* expr.c (store_constructor): Don't clobber TARGET if CLEARED.

From-SVN: r30676
parent ac51c4e3
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) ...@@ -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) ...@@ -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));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment