diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-08-14 11:22:23 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-08-14 11:22:23 +0000 |
commit | d3a27ad5c84bea5891b30dc1b12de0750b95b693 (patch) | |
tree | fd4084fc9466e792c2096d7dbfe52c540c1e1904 /gcc/sese.c | |
parent | b4fa1427290880749a8b5ed9f92136a595c72232 (diff) | |
download | gcc-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.c | 5 |
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); } |