This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/49038] [4.5/4.6/4.7 Regression] -ftree-vectorise introduces reads past end of array
- From: "irar at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 4 Jun 2011 09:14:10 +0000
- Subject: [Bug tree-optimization/49038] [4.5/4.6/4.7 Regression] -ftree-vectorise introduces reads past end of array
- Auto-submitted: auto-generated
- References: <bug-49038-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49038
--- Comment #5 from irar at gcc dot gnu.org 2011-06-04 09:12:58 UTC ---
Author: irar
Date: Sat Jun 4 09:12:55 2011
New Revision: 174634
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174634
Log:
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.
Added:
branches/gcc-4_5-branch/gcc/testsuite/gcc.dg/vect/pr49038.c
branches/gcc-4_5-branch/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog
branches/gcc-4_5-branch/gcc/tree-vect-data-refs.c
branches/gcc-4_5-branch/gcc/tree-vect-loop-manip.c
branches/gcc-4_5-branch/gcc/tree-vect-loop.c
branches/gcc-4_5-branch/gcc/tree-vectorizer.h