PR middle-end/51472: set DECL_GIMPLE_REG_P on TM vector saves
Jakub Jelinek
jakub@redhat.com
Wed Dec 21 14:10:00 GMT 2011
On Wed, Dec 21, 2011 at 07:52:16AM -0600, Aldy Hernandez wrote:
> Oh neat... create_tmp_reg will do all this for me.
I don't think that update_stmt is needed there.
The stmt is freshly allocated a few lines above it:
stmt = gimple_build_assign (lp->save_var, unshare_expr (lp->addr));
so the modified flag is still set and thus when you gsi_insert_before
it afterwards, it will update_stmt_if_modified, which is the same as
update_stmt when the modified flag is set.
The first hunk looks okay.
> --- trans-mem.c (revision 182542)
> +++ trans-mem.c (working copy)
> @@ -1003,7 +1003,7 @@ tm_log_add (basic_block entry_block, tre
> special constructors and the like. */
> && !TREE_ADDRESSABLE (type))
> {
> - lp->save_var = create_tmp_var (TREE_TYPE (lp->addr), "tm_save");
> + lp->save_var = create_tmp_reg (TREE_TYPE (lp->addr), "tm_save");
> add_referenced_var (lp->save_var);
> lp->stmts = NULL;
> lp->entry_block = entry_block;
> @@ -1188,6 +1188,7 @@ tm_log_emit_saves (basic_block entry_blo
> {
> lp->save_var = make_ssa_name (lp->save_var, stmt);
> gimple_assign_set_lhs (stmt, lp->save_var);
> + update_stmt (stmt);
> }
>
> gsi_insert_before (&gsi, stmt, GSI_SAME_STMT);
Jakub
More information about the Gcc-patches
mailing list