re PR middle-end/39922 (Revision 146817 caused many regressions on trunk)

PR middle-end/39922
        * tree-outof-ssa.c (insert_value_copy_on_edge): Don't convert
        constants.

From-SVN: r146889
This commit is contained in:
Michael Matz 2009-04-28 12:22:47 +00:00 committed by Michael Matz
parent 7569a6cc2a
commit 1b15a008b6
2 changed files with 7 additions and 1 deletions

View 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

View 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);