aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop-manip.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2021-07-13 10:17:36 +0100
committerRichard Sandiford <richard.sandiford@arm.com>2021-07-13 10:17:36 +0100
commitb68eb70bd6df8c4b846bddb4f0aeae9054b932bc (patch)
tree66acfed4fee420d074d73214421797af5da9b608 /gcc/tree-vect-loop-manip.c
parent3658ee4c73955ebf281842d2e637ca556fa8bbfd (diff)
downloadgcc-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