aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-tailcall.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-07-08 09:16:41 -0700
committerRichard Henderson <rth@gcc.gnu.org>2004-07-08 09:16:41 -0700
commitcd7097527ee51b1bef879ef53505dff0673c98ba (patch)
tree200138df775b12823401ef7db79aecec6a2142da /gcc/tree-tailcall.c
parentc618c6ec7e797b5aa69218b86cd643bb65c0c48a (diff)
downloadgcc-cd7097527ee51b1bef879ef53505dff0673c98ba.zip
gcc-cd7097527ee51b1bef879ef53505dff0673c98ba.tar.gz
gcc-cd7097527ee51b1bef879ef53505dff0673c98ba.tar.bz2
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
Diffstat (limited to 'gcc/tree-tailcall.c')
-rw-r--r--gcc/tree-tailcall.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c
index 6036cfa..323c239 100644
--- a/gcc/tree-tailcall.c
+++ b/gcc/tree-tailcall.c
@@ -757,10 +757,7 @@ optimize_tail_call (struct tailcall *t, bool opt_tailcalls)
{
tree stmt = bsi_stmt (t->call_bsi);
- if (TREE_CODE (stmt) == MODIFY_EXPR)
- stmt = TREE_OPERAND (stmt, 1);
- if (TREE_CODE (stmt) != CALL_EXPR)
- abort ();
+ stmt = get_call_expr_in (stmt);
CALL_EXPR_TAILCALL (stmt) = 1;
if (dump_file && (dump_flags & TDF_DETAILS))
{