aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-switch-conversion.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2018-06-20 08:16:08 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2018-06-20 08:16:08 +0000
commit1cbfeccc8d5ddade3a1727e18fe31c1e83e81701 (patch)
tree03fd5c3746c40e31c997a0d2ed3516cc65726482 /gcc/tree-switch-conversion.c
parent49d8df1b95ac68fee5420a4ad7a0cab006302e0e (diff)
downloadgcc-1cbfeccc8d5ddade3a1727e18fe31c1e83e81701.zip
gcc-1cbfeccc8d5ddade3a1727e18fe31c1e83e81701.tar.gz
gcc-1cbfeccc8d5ddade3a1727e18fe31c1e83e81701.tar.bz2
[8/n] PR85694: Make patterns check for target support
This patch makes pattern recognisers do their own checking for vector types and target support. Previously some recognisers did this themselves and some left it to vect_pattern_recog_1. Doing this means we can get rid of the type_in argument, which was ignored if the recogniser did its own checking. It also means we create fewer junk statements. 2018-06-20 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-vectorizer.h (NUM_PATTERNS, vect_recog_func_ptr): Move to tree-vect-patterns.c. * tree-vect-patterns.c (vect_supportable_direct_optab_p): New function. (vect_recog_dot_prod_pattern): Use it. Remove the type_in argument. (vect_recog_sad_pattern): Likewise. (vect_recog_widen_sum_pattern): Likewise. (vect_recog_pow_pattern): Likewise. Check for a null vectype. (vect_recog_widen_shift_pattern): Remove the type_in argument. (vect_recog_rotate_pattern): Likewise. (vect_recog_mult_pattern): Likewise. (vect_recog_vector_vector_shift_pattern): Likewise. (vect_recog_divmod_pattern): Likewise. (vect_recog_mixed_size_cond_pattern): Likewise. (vect_recog_bool_pattern): Likewise. (vect_recog_mask_conversion_pattern): Likewise. (vect_try_gather_scatter_pattern): Likewise. (vect_recog_widen_mult_pattern): Likewise. Check for a null vectype. (vect_recog_over_widening_pattern): Likewise. (vect_recog_gather_scatter_pattern): Likewise. (vect_recog_func_ptr): Move from tree-vectorizer.h (vect_vect_recog_func_ptrs): Move further down the file. (vect_recog_func): Likewise. Remove the third argument. (NUM_PATTERNS): Define based on vect_vect_recog_func_ptrs. (vect_pattern_recog_1): Expect the pattern function to do any necessary target tests. Also expect it to provide a vector type. Remove the type_in handling. From-SVN: r261791
Diffstat (limited to 'gcc/tree-switch-conversion.c')
0 files changed, 0 insertions, 0 deletions