diff options
author | Jan Hubicka <jh@suse.cz> | 2020-10-08 17:15:58 +0200 |
---|---|---|
committer | Jan Hubicka <jh@suse.cz> | 2020-10-08 17:23:16 +0200 |
commit | 3e1123e52f8eca2650efa0bc81768792d328961f (patch) | |
tree | 6d7164bbf9f936430f020bc3ef566542abdbe447 /gcc/tree-tailcall.c | |
parent | 3a9e6ee42acf1e3d00e4391ab1b1a56bb0b32ad2 (diff) | |
download | gcc-3e1123e52f8eca2650efa0bc81768792d328961f.zip gcc-3e1123e52f8eca2650efa0bc81768792d328961f.tar.gz gcc-3e1123e52f8eca2650efa0bc81768792d328961f.tar.bz2 |
Disable TBAA in some uses of call_may_clobber_ref_p
* tree-nrv.c (dest_safe_for_nrv_p): Disable tbaa in
call_may_clobber_ref_p and ref_maybe_used_by_stmt_p.
* tree-tailcall.c (find_tail_calls): Likewise.
* tree-ssa-alias.c (call_may_clobber_ref_p): Add tbaa_p parameter.
* tree-ssa-alias.h (call_may_clobber_ref_p): Update prototype.
* tree-ssa-sccvn.c (vn_reference_lookup_3): Pass data->tbaa_p
to call_may_clobber_ref_p_1.
Diffstat (limited to 'gcc/tree-tailcall.c')
-rw-r--r-- | gcc/tree-tailcall.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c index d81e921..44643be 100644 --- a/gcc/tree-tailcall.c +++ b/gcc/tree-tailcall.c @@ -523,7 +523,7 @@ find_tail_calls (basic_block bb, struct tailcall **ret) tree result_decl = DECL_RESULT (cfun->decl); if (result_decl && may_be_aliased (result_decl) - && ref_maybe_used_by_stmt_p (call, result_decl)) + && ref_maybe_used_by_stmt_p (call, result_decl, false)) return; /* We found the call, check whether it is suitable. */ @@ -597,8 +597,8 @@ find_tail_calls (basic_block bb, struct tailcall **ret) if (TREE_CODE (var) != PARM_DECL && auto_var_in_fn_p (var, cfun->decl) && may_be_aliased (var) - && (ref_maybe_used_by_stmt_p (call, var) - || call_may_clobber_ref_p (call, var))) + && (ref_maybe_used_by_stmt_p (call, var, false) + || call_may_clobber_ref_p (call, var, false))) { if (!VAR_P (var)) { |