Commit 097dcc66 by Richard Guenther Committed by Richard Biener

gimplify.c (gimple_regimplify_operands): Only mark the LHS of statements for renaming.

2012-05-14  Richard Guenther  <rguenther@suse.de>

	* gimplify.c (gimple_regimplify_operands): Only mark the LHS
	of statements for renaming.
	(force_gimple_operand_1): Likewise, consistently for both
	calls to force_gimple_operand and force_gimple_operand_gsi.

From-SVN: r187468
parent a5efada7
2012-05-14 Richard Guenther <rguenther@suse.de>
* gimplify.c (gimple_regimplify_operands): Only mark the LHS
of statements for renaming.
(force_gimple_operand_1): Likewise, consistently for both
calls to force_gimple_operand and force_gimple_operand_gsi.
2012-05-14 Richard Guenther <rguenther@suse.de>
* tree-dfa.c (make_rename_temp): Be forgiving if not in SSA form.
* omp-low.c (expand_omp_taskreg): Properly conditionalize call
to update_ssa.
......
......@@ -8531,7 +8531,13 @@ gimple_regimplify_operands (gimple stmt, gimple_stmt_iterator *gsi_p)
gimple_stmt_iterator i;
for (i = gsi_start (pre); !gsi_end_p (i); gsi_next (&i))
mark_symbols_for_renaming (gsi_stmt (i));
{
tree lhs = gimple_get_lhs (gsi_stmt (i));
if (lhs
&& TREE_CODE (lhs) != SSA_NAME
&& is_gimple_reg (lhs))
mark_sym_for_renaming (lhs);
}
}
gsi_insert_seq_before (gsi_p, pre, GSI_SAME_STMT);
}
......@@ -8585,6 +8591,21 @@ force_gimple_operand_1 (tree expr, gimple_seq *stmts,
for (t = gimplify_ctxp->temps; t ; t = DECL_CHAIN (t))
add_referenced_var (t);
if (!gimple_seq_empty_p (*stmts)
&& gimplify_ctxp->into_ssa)
{
gimple_stmt_iterator i;
for (i = gsi_start (*stmts); !gsi_end_p (i); gsi_next (&i))
{
tree lhs = gimple_get_lhs (gsi_stmt (i));
if (lhs
&& TREE_CODE (lhs) != SSA_NAME
&& is_gimple_reg (lhs))
mark_sym_for_renaming (lhs);
}
}
pop_gimplify_context (NULL);
return expr;
......@@ -8621,14 +8642,6 @@ force_gimple_operand_gsi_1 (gimple_stmt_iterator *gsi, tree expr,
if (!gimple_seq_empty_p (stmts))
{
if (gimple_in_ssa_p (cfun))
{
gimple_stmt_iterator i;
for (i = gsi_start (stmts); !gsi_end_p (i); gsi_next (&i))
mark_symbols_for_renaming (gsi_stmt (i));
}
if (before)
gsi_insert_seq_before (gsi, stmts, m);
else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment