From cd7097527ee51b1bef879ef53505dff0673c98ba Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Thu, 8 Jul 2004 09:16:41 -0700 Subject: tree-cfg.c (make_exit_edges): Use get_call_expr_in. * tree-cfg.c (make_exit_edges): Use get_call_expr_in. (remove_useless_stmts_1, is_ctrl_altering_stmt): Likewise. (tree_block_ends_with_call_p, need_fake_edge_p): Likewise. * tree-eh.c (lower_eh_constructs_1): Likewise. * tree-sra.c (sra_walk_modify_expr): Likewise. * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise. (eliminate_unnecessary_stmts): Likewise. * tree-ssa-dse.c (dse_optimize_stmt): Likewise. * tree-tailcall.c (optimize_tail_call): Likewise. * tree-ssa-ccp.c (get_rhs, set_rhs): Reorg to use switch. From-SVN: r84298 --- gcc/tree-sra.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'gcc/tree-sra.c') diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 2e2e85a..6769407 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -811,10 +811,14 @@ sra_walk_modify_expr (tree expr, block_stmt_iterator *bsi, else fns->use (rhs_elt, &TREE_OPERAND (expr, 1), bsi, false); } - else if (TREE_CODE (rhs) == CALL_EXPR) - sra_walk_call_expr (rhs, bsi, fns); else - sra_walk_expr (&TREE_OPERAND (expr, 1), bsi, false, fns); + { + tree call = get_call_expr_in (rhs); + if (call) + sra_walk_call_expr (call, bsi, fns); + else + sra_walk_expr (&TREE_OPERAND (expr, 1), bsi, false, fns); + } } /* Entry point to the walk functions. Search the entire function, -- cgit v1.1