This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
When a pattern is detected during pattern recognition in the vectorizer,
we mark all the stmts that constitute the pattern (i.e. - set the
STMT_VINFO_IN_APTTERN_P and STMT_VINFO_RELATED_STMT fields for all these
stmts). Turns out this is redundant - nowhere else in the vectorizer do we
look at these fields, except for the last stmt in the pattern - this is the
only stmt that needs to be marked.
This patch cleans away the redundant bookkeeping.
Bootstrapped with vectorization enabled on powerpc-linux, tested on the
vectorizer testcases. Committed to autovect-branch.
Changelog:
* tree-vectorizer.h (vect_recog_unsigned_subsat_pattern):
(vect_recog_widen_sum_pattern, vect_recog_widen_mult_pattern):
(vect_recog_mult_hi_pattern, vect_recog_sad_pattern):
(vect_recog_dot_prod_pattern, _recog_func_ptr): Last argument
removed.
* tree-vect-analyze.c (vect_recog_unsigned_subsat_pattern):
(vect_recog_widen_sum_pattern, vect_recog_widen_mult_pattern):
(vect_recog_mult_hi_pattern, vect_recog_sad_pattern):
(vect_recog_dot_prod_pattern): Last argument (stmt_list) removed.
Documentation updated accordingly. STMT_VINFO_IN_PATTERN_P checks
removed.
(vect_pattern_recog_1): Update declaration of pattern_recog_func.
stmt_list removed. Set STMT_VINFO_RELATED_STMT and
STMT_VINFO_IN_PATTERN_P only for 'stmt'.
(vect_pattern_recog): Update documentation. Update declaration of
pattern_recog_func.
Patch:
(See attached file: cleanup.autovect.dec24)Attachment:
cleanup.autovect.dec24
Description: Binary data
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |