OSDN Git Service

PR tree-optimization/49038
authorirar <irar@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 May 2011 07:50:09 +0000 (07:50 +0000)
committerirar <irar@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 May 2011 07:50:09 +0000 (07:50 +0000)
commita4ee7fac0537625f23751028c64765289088be88
treebb4f5ec4b88af2d477845faf8d6148011a0f8df8
parenta19e48af48f529a5864559b65d43d098dbeff201
    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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174265 138bc75d-0d04-0410-961f-82ee72b054a4
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