Commit adcde84f by Bernd Schmidt Committed by Bernd Schmidt

Fix invalid gimple made by finalize_nesting_tree_1.

	* tree-nested.c (finalize_nesting_tree_1): Initialize temporary earlier
	rather than modifying the stmt.

From-SVN: r214434
parent 42360811
2014-08-25 Bernd Schmidt <bernds@codesourcery.com>
* tree-nested.c (finalize_nesting_tree_1): Initialize temporary earlier
rather than modifying the stmt.
2014-08-25 Jan-Benedict Glaw <jbglaw@lug-owl.de>
* config/rs6000/rs6000.c (rs6000_return_in_msb): Fix fallout from
......
......@@ -2715,10 +2715,6 @@ finalize_nesting_tree_1 (struct nesting_info *root)
else
x = p;
y = build3 (COMPONENT_REF, TREE_TYPE (field),
root->frame_decl, field, NULL_TREE);
stmt = gimple_build_assign (y, x);
gimple_seq_add_stmt (&stmt_list, stmt);
/* If the assignment is from a non-register the stmt is
not valid gimple. Make it so by using a temporary instead. */
if (!is_gimple_reg (x)
......@@ -2726,8 +2722,12 @@ finalize_nesting_tree_1 (struct nesting_info *root)
{
gimple_stmt_iterator gsi = gsi_last (stmt_list);
x = init_tmp_var (root, x, &gsi);
gimple_assign_set_rhs1 (stmt, x);
}
y = build3 (COMPONENT_REF, TREE_TYPE (field),
root->frame_decl, field, NULL_TREE);
stmt = gimple_build_assign (y, x);
gimple_seq_add_stmt (&stmt_list, stmt);
}
}
......
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