summaryrefslogtreecommitdiff
path: root/gcc/sese.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2012-08-14 11:22:23 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2012-08-14 11:22:23 +0000
commitd3a27ad5c84bea5891b30dc1b12de0750b95b693 (patch)
treefd4084fc9466e792c2096d7dbfe52c540c1e1904 /gcc/sese.c
parentb4fa1427290880749a8b5ed9f92136a595c72232 (diff)
downloadgcc-d3a27ad5c84bea5891b30dc1b12de0750b95b693.tar.gz
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: svn+ssh://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);
}