Commit 60478b9c by Dehao Chen Committed by Dehao Chen

tree-cfg.c (move_stmt_op): Reset the expr block only when necessary.

2012-09-24  Dehao Chen  <dehao@google.com>

	* tree-cfg.c (move_stmt_op): Reset the expr block only
	when necessary.
	(move_block_to_fn): Reset the edge's goto block even
	when the goto locus is unknown.

From-SVN: r191680
parent 55826ab6
2012-09-24 Dehao Chen <dehao@google.com>
* tree-cfg.c (move_stmt_op): Reset the expr block only
when necessary.
(move_block_to_fn): Reset the edge's goto block even
when the goto locus is unknown.
2012-09-24 Lawrence Crowl <crowl@google.com>
* double-int.h (double_int::from_pair): New.
......
......@@ -6013,7 +6013,9 @@ move_stmt_op (tree *tp, int *walk_subtrees, void *data)
if (EXPR_P (t))
{
if (TREE_BLOCK (t))
if (TREE_BLOCK (t) == p->orig_block
|| (p->orig_block == NULL_TREE
&& TREE_BLOCK (t) == NULL_TREE))
TREE_SET_BLOCK (t, p->new_block);
}
else if (DECL_P (t) || TREE_CODE (t) == SSA_NAME)
......@@ -6315,7 +6317,7 @@ move_block_to_fn (struct function *dest_cfun, basic_block bb,
}
FOR_EACH_EDGE (e, ei, bb->succs)
if (!IS_UNKNOWN_LOCATION (e->goto_locus))
if (e->goto_locus != UNKNOWN_LOCATION)
{
tree block = LOCATION_BLOCK (e->goto_locus);
if (d->orig_block == NULL_TREE
......
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