On Thu, Jun 2, 2016 at 6:14 PM, Alan Hayward <alan.hayw...@arm.com> wrote: > >>Statements which are live but not relevant need marking to ensure they are >>vectorized. >> >>Live statements which are simple and all uses of them are invariant do not >>need >>to be vectorized. >> >>This patch adds a check to make sure those stmts which pass both the above >>checks are not vectorized and then discarded. >> >>Tested on x86 and aarch64. >> >> >>gcc/ >> *tree-vect-stmts.c (vect_stmt_relevant_p): Do not vectorize non >>live >> relevant stmts which are simple and invariant. >> >> testsuite/ >> * gcc.dg/vect/vect-live-slp-5.c: Remove dg check. > > > This version adds an addition relevance check in > vectorizable_live_operation. > It requires the "Remove duplicated GOMP SIMD LANE code” to work. > > gcc/ > \* tree-vect-stmts.c (vect_stmt_relevant_p): Do not vectorize non live > relevant stmts which are simple and invariant. > \* tree-vect-loop.c (vectorizable_live_operation): Check relevance > instead of simple and invariant
Ok. Richard. > testsuite/ > \* gcc.dg/vect/vect-live-slp-5.c: Remove dg check. > > > > > Alan. >