PR middle-end/39922
authormatz <matz@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Apr 2009 12:22:47 +0000 (12:22 +0000)
committermatz <matz@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 28 Apr 2009 12:22:47 +0000 (12:22 +0000)
        * tree-outof-ssa.c (insert_value_copy_on_edge): Don't convert
        constants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146889 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree-outof-ssa.c

index e971e53..00e0c6a 100644 (file)
@@ -1,3 +1,9 @@
+2009-04-28  Michael Matz  <matz@suse.de>
+
+       PR middle-end/39922
+       * tree-outof-ssa.c (insert_value_copy_on_edge): Don't convert
+       constants.
+
 2009-04-28  Richard Guenther  <rguenther@suse.de>
 
        * tree-vect-stmts.c (vect_get_vec_def_for_operand): Fix
index 4e7c787..41638d8 100644 (file)
@@ -184,7 +184,7 @@ insert_value_copy_on_edge (edge e, int dest, tree src)
   start_sequence ();
   mode = GET_MODE (SA.partition_to_pseudo[dest]);
   x = expand_expr (src, SA.partition_to_pseudo[dest], mode, EXPAND_NORMAL);
-  if (GET_MODE (x) != mode)
+  if (GET_MODE (x) != VOIDmode && GET_MODE (x) != mode)
     x = convert_to_mode (mode, x, TYPE_UNSIGNED (TREE_TYPE (src)));
   if (x != SA.partition_to_pseudo[dest])
     emit_move_insn (SA.partition_to_pseudo[dest], x);