vect: Skip epilogue loops for dbgcnt check [PR96451]
authorKewen Lin <linkw@linux.ibm.com>
Wed, 5 Aug 2020 07:50:49 +0000 (02:50 -0500)
committerKewen Lin <linkw@linux.ibm.com>
Thu, 6 Aug 2020 05:56:51 +0000 (00:56 -0500)
commitea858d09571f3f6dcce92d8bfaf077f9d44c6ad6
treefd0a7d9e00e0220097912024950673ae2b8960a7
parentaa5ea20c2bf5f730acb3d161978d70559705400c
vect: Skip epilogue loops for dbgcnt check [PR96451]

As the PR shows, commit r11-2453 exposed one issue that vectorizer
wants to vectorize the epilogue loop and leaves the if-cvt body there,
but later dbgcnt check disables it, the left scalar mask_store
statement causes ICE.

As Richard pointed out in that PR, the dbgcnt is to count original
scalar loops, so this fix is to make it skip the epilogue loops.

gcc/ChangeLog:

* tree-vectorizer.c (try_vectorize_loop_1): Skip the epilogue loops
for dbgcnt check.
gcc/tree-vectorizer.c