]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR tree-optimization/49038 (-ftree-vectorise introduces reads past end of array)
authorIra Rosen <ira.rosen@linaro.org>
Sat, 4 Jun 2011 09:12:55 +0000 (09:12 +0000)
committerIra Rosen <irar@gcc.gnu.org>
Sat, 4 Jun 2011 09:12:55 +0000 (09:12 +0000)
commit041391ebbc61e9b183f09063ed73189afa5366ab
tree7bad2011f38139e0f2d8cf1eb129cc5ac0e82620
parent6d69e0e992a7b87dba579dbee8ed1c42f536f8c1
re PR tree-optimization/49038 (-ftree-vectorise introduces reads past end of array)

PR tree-optimization/49038
* tree-vect-loop-manip.c (vect_generate_tmps_on_preheader):
Ensure at least one epilogue iteration if required by data
accesses with gaps.
* tree-vectorizer.h (struct _loop_vec_info): Add new field
to mark loops that require peeling for gaps.
* tree-vect-loop.c (new_loop_vec_info): Initialize new field.
(vect_estimate_min_profitable_iters): Take peeling for gaps into
account.
(vect_transform_loop): Generate epilogue if required by data
access with gaps.
* tree-vect-data-refs.c (vect_analyze_group_access): Mark the
loop as requiring an epilogue if there are gaps in the end of
the strided group.

From-SVN: r174634
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/pr49038.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c [new file with mode: 0644]
gcc/tree-vect-data-refs.c
gcc/tree-vect-loop-manip.c
gcc/tree-vect-loop.c
gcc/tree-vectorizer.h