r271355 - in /branches/gcc-9-branch/gcc: Change...
jakub@gcc.gnu.org
jakub@gcc.gnu.org
Fri May 17 19:53:00 GMT 2019
Author: jakub
Date: Fri May 17 19:53:48 2019
New Revision: 271355
URL: https://gcc.gnu.org/viewcvs?rev=271355&root=gcc&view=rev
Log:
Backported from mainline
2019-05-16 Jakub Jelinek <jakub@redhat.com>
* omp-low.c (lower_rec_input_clauses): If OMP_CLAUSE_IF
has non-constant expression, force sctx.lane and use two
argument IFN_GOMP_SIMD_LANE instead of single argument.
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Don't DCE
two argument IFN_GOMP_SIMD_LANE without lhs.
* tree-vectorizer.h (struct _loop_vec_info): Add simd_if_cond
member.
(LOOP_VINFO_SIMD_IF_COND, LOOP_REQUIRES_VERSIONING_FOR_SIMD_IF_COND):
Define.
(LOOP_REQUIRES_VERSIONING): Or in
LOOP_REQUIRES_VERSIONING_FOR_SIMD_IF_COND.
* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
simd_if_cond.
(vect_analyze_loop_2): Punt if LOOP_VINFO_SIMD_IF_COND is constant 0.
* tree-vect-loop-manip.c (vect_loop_versioning): Add runtime check
from simd if clause if needed.
* gcc.dg/vect/vect-simd-1.c: New test.
* gcc.dg/vect/vect-simd-2.c: New test.
* gcc.dg/vect/vect-simd-3.c: New test.
* gcc.dg/vect/vect-simd-4.c: New test.
Added:
branches/gcc-9-branch/gcc/testsuite/gcc.dg/vect/vect-simd-1.c
branches/gcc-9-branch/gcc/testsuite/gcc.dg/vect/vect-simd-2.c
branches/gcc-9-branch/gcc/testsuite/gcc.dg/vect/vect-simd-3.c
branches/gcc-9-branch/gcc/testsuite/gcc.dg/vect/vect-simd-4.c
Modified:
branches/gcc-9-branch/gcc/ChangeLog
branches/gcc-9-branch/gcc/omp-low.c
branches/gcc-9-branch/gcc/testsuite/ChangeLog
branches/gcc-9-branch/gcc/tree-ssa-dce.c
branches/gcc-9-branch/gcc/tree-vect-loop-manip.c
branches/gcc-9-branch/gcc/tree-vect-loop.c
branches/gcc-9-branch/gcc/tree-vectorizer.h
More information about the Gcc-cvs
mailing list