diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2021-07-13 10:17:36 +0100 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2021-07-13 10:17:36 +0100 |
commit | b68eb70bd6df8c4b846bddb4f0aeae9054b932bc (patch) | |
tree | 66acfed4fee420d074d73214421797af5da9b608 /gcc/tree-vect-loop-manip.c | |
parent | 3658ee4c73955ebf281842d2e637ca556fa8bbfd (diff) | |
download | gcc-b68eb70bd6df8c4b846bddb4f0aeae9054b932bc.zip gcc-b68eb70bd6df8c4b846bddb4f0aeae9054b932bc.tar.gz gcc-b68eb70bd6df8c4b846bddb4f0aeae9054b932bc.tar.bz2 |
vect: Create array_slice of live-out stmts
This patch constructs an array_slice of the scalar statements that
produce live-out reduction results in the original unvectorised loop.
There are three cases:
- SLP reduction chains: the final SLP stmt is live-out
- full SLP reductions: all SLP stmts are live-out
- non-SLP reductions: the single scalar stmt is live-out
This is a slight simplification on its own, mostly because it maans
“group_size” has a consistent meaning throughout the function.
The main justification though is that it helps with later patches.
gcc/
* tree-vect-loop.c (vect_create_epilog_for_reduction): Truncate
scalar_results to group_size elements after reducing down from
N*group_size elements. Construct an array_slice of the live-out
stmts and assert that there is one stmt per scalar result.
Diffstat (limited to 'gcc/tree-vect-loop-manip.c')
0 files changed, 0 insertions, 0 deletions