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
This commit is contained in:
parent
55826ab6d1
commit
60478b9caf
2 changed files with 11 additions and 2 deletions
|
@ -1,3 +1,10 @@
|
|||
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
|
||||
|
|
Loading…
Add table
Reference in a new issue