re PR tree-optimization/49038 (-ftree-vectorise introduces reads past end of array)
authorIra Rosen <ira.rosen@linaro.org>
Thu, 26 May 2011 07:50:09 +0000 (07:50 +0000)
committerIra Rosen <irar@gcc.gnu.org>
Thu, 26 May 2011 07:50:09 +0000 (07:50 +0000)
commit48df3fa66cf86d6da365a459aae689bb937128a3
treebb4f5ec4b88af2d477845faf8d6148011a0f8df8
parent688571c7d50ec32bd99ee6acda4afc2d3f8ab247
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_get_known_peeling_cost): 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: r174265
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