Re: [PATCH] Vectorize inductions that are live after the loop.

2016-05-24 Thread Richard Biener
On Mon, May 23, 2016 at 2:53 PM, Alan Hayward wrote: > > Thanks for the review. > > On 23/05/2016 11:35, "Richard Biener" wrote: > >> >>@@ -6332,79 +6324,81 @@ vectorizable_live_operation (gimple *stmt, >> stmt_vec_info stmt_info = vinfo_for_stmt (stmt); >> loop_vec_info loop_vinfo = STMT_VIN

Re: [PATCH] Vectorize inductions that are live after the loop.

2016-05-23 Thread Alan Hayward
Thanks for the review. On 23/05/2016 11:35, "Richard Biener" wrote: > >@@ -6332,79 +6324,81 @@ vectorizable_live_operation (gimple *stmt, > stmt_vec_info stmt_info = vinfo_for_stmt (stmt); > loop_vec_info loop_vinfo = STMT_VINFO_LOOP_VINFO (stmt_info); > struct loop *loop = LOOP_VINFO_LOO

Re: [PATCH] Vectorize inductions that are live after the loop.

2016-05-23 Thread Richard Biener
On Mon, May 23, 2016 at 11:28 AM, Alan Hayward wrote: > Vectorize inductions that are live after the loop. > > Stmts which are live (ie: defined inside a loop and then used after the > loop) > are not currently supported by the vectorizer. In many cases > vectorization can > still occur because t

[PATCH] Vectorize inductions that are live after the loop.

2016-05-23 Thread Alan Hayward
Vectorize inductions that are live after the loop. Stmts which are live (ie: defined inside a loop and then used after the loop) are not currently supported by the vectorizer. In many cases vectorization can still occur because the SCEV cprop pass will hoist the definition of the stmt outside of