On Wed, 30 Aug 2023, Juzhe-Zhong wrote: > Like MASK_LOAD_LANES/MASK_STORE_LANES, add MASK_LEN_ variant. > > Bootstrap and Regression on X86 passed. > > Ok for trunk?
OK. > gcc/ChangeLog: > > * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Add MASK_LEN_ variant. > (call_may_clobber_ref_p_1): Ditto. > * tree-ssa-loop-ivopts.cc (get_mem_type_for_internal_fn): Ditto. > (get_alias_ptr_type_for_ptr_address): Ditto. > > --- > gcc/tree-ssa-alias.cc | 3 +++ > gcc/tree-ssa-loop-ivopts.cc | 4 ++++ > 2 files changed, 7 insertions(+) > > diff --git a/gcc/tree-ssa-alias.cc b/gcc/tree-ssa-alias.cc > index cf38fe506a8..373940b5f6c 100644 > --- a/gcc/tree-ssa-alias.cc > +++ b/gcc/tree-ssa-alias.cc > @@ -2818,11 +2818,13 @@ ref_maybe_used_by_call_p_1 (gcall *call, ao_ref *ref, > bool tbaa_p) > case IFN_MASK_LEN_STORE: > return false; > case IFN_MASK_STORE_LANES: > + case IFN_MASK_LEN_STORE_LANES: > goto process_args; > case IFN_MASK_LOAD: > case IFN_LEN_LOAD: > case IFN_MASK_LEN_LOAD: > case IFN_MASK_LOAD_LANES: > + case IFN_MASK_LEN_LOAD_LANES: > { > ao_ref rhs_ref; > tree lhs = gimple_call_lhs (call); > @@ -3072,6 +3074,7 @@ call_may_clobber_ref_p_1 (gcall *call, ao_ref *ref, > bool tbaa_p) > case IFN_LEN_STORE: > case IFN_MASK_LEN_STORE: > case IFN_MASK_STORE_LANES: > + case IFN_MASK_LEN_STORE_LANES: > { > tree rhs = gimple_call_arg (call, > internal_fn_stored_value_index (fn)); > diff --git a/gcc/tree-ssa-loop-ivopts.cc b/gcc/tree-ssa-loop-ivopts.cc > index d208d9dbd4d..3d3f28f7f3b 100644 > --- a/gcc/tree-ssa-loop-ivopts.cc > +++ b/gcc/tree-ssa-loop-ivopts.cc > @@ -2441,6 +2441,7 @@ get_mem_type_for_internal_fn (gcall *call, tree *op_p) > { > case IFN_MASK_LOAD: > case IFN_MASK_LOAD_LANES: > + case IFN_MASK_LEN_LOAD_LANES: > case IFN_LEN_LOAD: > case IFN_MASK_LEN_LOAD: > if (op_p == gimple_call_arg_ptr (call, 0)) > @@ -2449,6 +2450,7 @@ get_mem_type_for_internal_fn (gcall *call, tree *op_p) > > case IFN_MASK_STORE: > case IFN_MASK_STORE_LANES: > + case IFN_MASK_LEN_STORE_LANES: > case IFN_LEN_STORE: > case IFN_MASK_LEN_STORE: > { > @@ -7573,6 +7575,8 @@ get_alias_ptr_type_for_ptr_address (iv_use *use) > case IFN_MASK_STORE: > case IFN_MASK_LOAD_LANES: > case IFN_MASK_STORE_LANES: > + case IFN_MASK_LEN_LOAD_LANES: > + case IFN_MASK_LEN_STORE_LANES: > case IFN_LEN_LOAD: > case IFN_LEN_STORE: > case IFN_MASK_LEN_LOAD: > -- Richard Biener <rguent...@suse.de> SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)