X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Ftree-ssa-threadedge.c;h=6ae5d3e5468df2f1b4f3b88a4dbb4b2fe5fe8e18;hp=cc98867b6eccd34e3be8af446d2a95ca2f6a51ef;hb=4266946e4489968a311f38add4dda93b0d6802c1;hpb=2a5af6bfe776fbcd5d4e5de33072bd8a36d1bcea diff --git a/gcc/tree-ssa-threadedge.c b/gcc/tree-ssa-threadedge.c index cc98867b6ec..6ae5d3e5468 100644 --- a/gcc/tree-ssa-threadedge.c +++ b/gcc/tree-ssa-threadedge.c @@ -84,18 +84,20 @@ static tree lhs_of_dominating_assert (tree op, basic_block bb, tree stmt) { imm_use_iterator imm_iter; - use_operand_p imm_use; + tree use_stmt; + use_operand_p use_p; - FOR_EACH_IMM_USE_SAFE (imm_use, imm_iter, op) + FOR_EACH_IMM_USE_FAST (use_p, imm_iter, op) { - tree use_stmt = USE_STMT (imm_use); - + use_stmt = USE_STMT (use_p); if (use_stmt != stmt && TREE_CODE (use_stmt) == MODIFY_EXPR && TREE_CODE (TREE_OPERAND (use_stmt, 1)) == ASSERT_EXPR && TREE_OPERAND (TREE_OPERAND (use_stmt, 1), 0) == op && dominated_by_p (CDI_DOMINATORS, bb, bb_for_stmt (use_stmt))) - op = TREE_OPERAND (use_stmt, 0); + { + return TREE_OPERAND (use_stmt, 0); + } } return op; } @@ -120,7 +122,7 @@ remove_temporary_equivalences (VEC(tree, heap) **stack) dest = VEC_pop (tree, *stack); - /* A NULL value indicates we should stop unwinding, oherwise + /* A NULL value indicates we should stop unwinding, otherwise pop off the next entry as they're recorded in pairs. */ if (dest == NULL) break;