]> gcc.gnu.org Git - gcc.git/commitdiff
expr.c (store_constructor): Don't bother clearing target if we're about to assign...
authorRoger Sayle <roger@eyesopen.com>
Mon, 10 Apr 2006 05:13:59 +0000 (05:13 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Mon, 10 Apr 2006 05:13:59 +0000 (05:13 +0000)
* expr.c (store_constructor): Don't bother clearing target if
we're about to assign a vector to it using vec_init_optab.

From-SVN: r112817

gcc/ChangeLog
gcc/expr.c

index 2042aba1efe0c9fc99b479ab8d24641e70a030af..d21a6db4278c9d8c0efd15b631c8423a31349b92 100644 (file)
@@ -1,3 +1,8 @@
+2006-04-09  Roger Sayle  <roger@eyesopen.com>
+
+       * expr.c (store_constructor): Don't bother clearing target if
+       we're about to assign a vector to it using vec_init_optab.
+
 2006-04-10 Daniel Berlin  <dberlin@dberlin.org>
        
        * tree-ssa-alias.c (lhs_may_store_to): New function.
index 904d4fcb30fd514c119cef8cf7b97ee54c9e09b0..1f4cbe10151a6f3c4962de93b8c2b248949173fc 100644 (file)
@@ -5325,7 +5325,7 @@ store_constructor (tree exp, rtx target, int cleared, HOST_WIDE_INT size)
          }
        
        /* Inform later passes that the old value is dead.  */
-       if (!cleared && REG_P (target))
+       if (!cleared && !vector && REG_P (target))
          emit_move_insn (target, CONST0_RTX (GET_MODE (target)));
 
         /* Store each element of the constructor into the corresponding
This page took 0.069818 seconds and 5 git commands to generate.