PR target/96342 Change field "simdlen" into poly_uint64
authorYang Yang <yangyang305@huawei.com>
Tue, 3 Nov 2020 16:13:47 +0000 (16:13 +0000)
committerRichard Sandiford <richard.sandiford@arm.com>
Tue, 3 Nov 2020 16:13:47 +0000 (16:13 +0000)
commitabe93733a265f8a8b56dbdd307380f8c83dd3ab5
tree70b03a6cc0e248726a9056c8b3a3a90a36d0b119
parentc5b49c3e092c0de5cd684b0acd244129dfaae324
PR target/96342 Change field "simdlen" into poly_uint64

This is the first patch of PR96342. In order to add support for
"omp declare simd", change the type of the field "simdlen" of
struct cgraph_simd_clone from unsigned int to poly_uint64 and
related adaptation. Since the length might be variable for the
SVE cases.

2020-11-03  Yang Yang  <yangyang305@huawei.com>

gcc/ChangeLog:

* cgraph.h (struct cgraph_simd_clone): Change field "simdlen" of
struct cgraph_simd_clone from unsigned int to poly_uint64.
* config/aarch64/aarch64.c
(aarch64_simd_clone_compute_vecsize_and_simdlen): adaptation of
operations on "simdlen".
* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
Printf formats update.
* gengtype.c (main): Handle poly_uint64.
* omp-simd-clone.c (simd_clone_mangle): Likewise.Re
(simd_clone_adjust_return_type): Likewise.
(create_tmp_simd_array): Likewise.
(simd_clone_adjust_argument_types): Likewise.
(simd_clone_init_simd_arrays): Likewise.
(ipa_simd_modify_function_body): Likewise.
(simd_clone_adjust): Likewise.
(expand_simd_clones): Likewise.
* poly-int-types.h (vector_unroll_factor): New macro.
* poly-int.h (constant_multiple_p): Add two-argument versions.
* tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
gcc/cgraph.h
gcc/config/aarch64/aarch64.c
gcc/config/i386/i386.c
gcc/gengtype.c
gcc/omp-simd-clone.c
gcc/poly-int-types.h
gcc/poly-int.h
gcc/tree-vect-stmts.c