diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2018-06-20 08:05:41 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2018-06-20 08:05:41 +0000 |
commit | d54a098e48987e7368ff190b703efd72aba9e6d9 (patch) | |
tree | dc8ea1dce60c622c8d4d910d5ae5cfda49695038 /gcc/tree-vect-patterns.c | |
parent | 036a90820ac4197c81f705bc79ad8613a3ab28cd (diff) | |
download | gcc-d54a098e48987e7368ff190b703efd72aba9e6d9.zip gcc-d54a098e48987e7368ff190b703efd72aba9e6d9.tar.gz gcc-d54a098e48987e7368ff190b703efd72aba9e6d9.tar.bz2 |
[1/n] PR85694: Allow pattern definition statements to be reused
This patch is the first part of a series to fix to PR85694.
Later patches can make the pattern for a statement S2 reuse the
results of a PATTERN_DEF_SEQ statement attached to an earlier
statement S1. Although vect_mark_stmts_to_be_vectorized handled
this fine, vect_analyze_stmt and vect_transform_loop both skipped the
PATTERN_DEF_SEQ for S1 if S1's main pattern wasn't live or relevant.
I couldn't wrap my head around the flow in vect_transform_loop,
so ended up moving the per-statement handling into a subroutine.
That makes the patch look bigger than it actually is.
2018-06-20 Richard Sandiford <richard.sandiford@arm.com>
gcc/
* tree-vect-stmts.c (vect_analyze_stmt): Move the handling of pattern
definition statements before the early exit for statements that aren't
live or relevant.
* tree-vect-loop.c (vect_transform_loop_stmt): New function,
split out from...
(vect_transform_loop): ...here. Process pattern definition
statements without first checking whether the main pattern
statement is live or relevant.
From-SVN: r261784
Diffstat (limited to 'gcc/tree-vect-patterns.c')
0 files changed, 0 insertions, 0 deletions