From: Richard Biener Date: Wed, 2 Jul 2025 11:44:59 +0000 (+0200) Subject: Do not query further vector epilogues after a masked epilogue X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=57d30924e2b3887a1aedc6102daa67bc3272ace7;p=thirdparty%2Fgcc.git Do not query further vector epilogues after a masked epilogue When doing --param vect-partial-vector-usage=1 we'd continue querying the target whether it wants more vector epilogues, but when it comes back with a suggestion we then might iterate endlessly. Do not even ask the target when we decided for the last epilogue to be one with partial vectors. PR tree-optimization/120927 * tree-vect-loop.cc (vect_analyze_loop): Stop querying further epilogues after one with partial vectors. --- diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc index 575987e4bf0..2782d61a5fc 100644 --- a/gcc/tree-vect-loop.cc +++ b/gcc/tree-vect-loop.cc @@ -3792,6 +3792,7 @@ vect_analyze_loop (class loop *loop, gimple *loop_vectorized_call, /* When we selected a first vectorized epilogue, see if the target suggests to have another one. */ if (!unlimited_cost_model (loop) + && !LOOP_VINFO_USING_PARTIAL_VECTORS_P (orig_loop_vinfo) && (orig_loop_vinfo->vector_costs->suggested_epilogue_mode () != VOIDmode)) {