aboutsummaryrefslogtreecommitdiff
path: root/gcc/sese.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-08-14 11:22:23 +0000
committerRichard Guenther <rguenther@suse.de>2012-08-14 11:22:23 +0000
commitac306781e7f197153fa980d0ab736bf4aff84c07 (patch)
treefd4084fc9466e792c2096d7dbfe52c540c1e1904 /gcc/sese.c
parent5384cb67b3e3834069cd5c6d1e63e452ece62219 (diff)
2012-08-14 Richard Guenther <rguenther@suse.de>
* gimplify.c (create_tmp_from_val): Mark temporary with DECL_GIMPLE_REG_P here ... (internal_get_tmp_var): ... instead of here. If we go into SSA create an SSA name instead of a VAR_DECL. (gimplify_modify_expr): Do not create SSA names here, assert we already got them. (force_gimple_operand_1): Create an SSA name if we go into SSA. * sese.c (rename_uses): Simplify. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@190381 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sese.c')
-rw-r--r--gcc/sese.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/sese.c b/gcc/sese.c
index f3dc2b7c49e..44bc74044b6 100644
--- a/gcc/sese.c
+++ b/gcc/sese.c
@@ -504,11 +504,10 @@ rename_uses (gimple copy, htab_t rename_map, gimple_stmt_iterator *gsi_tgt,
{
tree var = create_tmp_var (type_old_name, "var");
- if (type_old_name != type_new_expr)
+ if (!useless_type_conversion_p (type_old_name, type_new_expr))
new_expr = fold_convert (type_old_name, new_expr);
- new_expr = build2 (MODIFY_EXPR, type_old_name, var, new_expr);
- new_expr = force_gimple_operand (new_expr, &stmts, true, NULL);
+ new_expr = force_gimple_operand (new_expr, &stmts, true, var);
gsi_insert_seq_before (gsi_tgt, stmts, GSI_SAME_STMT);
}