The following makes it work on the non-main exit.

Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.

        * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
        Avoid explicit LOOP_VINFO_IV_EXIT reference.
---
 gcc/tree-vect-loop-manip.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/tree-vect-loop-manip.cc b/gcc/tree-vect-loop-manip.cc
index 20141dbc2e5..6af07efe68a 100644
--- a/gcc/tree-vect-loop-manip.cc
+++ b/gcc/tree-vect-loop-manip.cc
@@ -2336,7 +2336,7 @@ vect_update_ivs_after_vectorizer (loop_vec_info 
loop_vinfo,
   gphi_iterator gsi, gsi1;
   class loop *loop = LOOP_VINFO_LOOP (loop_vinfo);
   basic_block update_bb = update_e->dest;
-  basic_block exit_bb = LOOP_VINFO_IV_EXIT (loop_vinfo)->dest;
+  basic_block exit_bb = update_e->src;
   gimple_stmt_iterator last_gsi = gsi_last_bb (exit_bb);
 
   for (gsi = gsi_start_phis (loop->header), gsi1 = gsi_start_phis (update_bb);
-- 
2.51.0

Reply via email to