diff options
Diffstat (limited to 'gcc/tree-tailcall.c')
-rw-r--r-- | gcc/tree-tailcall.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c index a9f0191..ec6d2fd 100644 --- a/gcc/tree-tailcall.c +++ b/gcc/tree-tailcall.c @@ -460,7 +460,8 @@ find_tail_calls (basic_block bb, struct tailcall **ret) { if (TREE_CODE (var) != PARM_DECL && auto_var_in_fn_p (var, cfun->decl) - && ref_maybe_used_by_stmt_p (call, var)) + && (ref_maybe_used_by_stmt_p (call, var) + || call_may_clobber_ref_p (call, var))) return; } |