commit: 3dc93b3692434f7ebdd54baa71b544735eb9347c Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Tue Jan 27 03:13:05 2026 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Tue Jan 27 03:13:05 2026 +0000 URL: https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=3dc93b36
16.0.0: drop upstream patch Signed-off-by: Sam James <sam <AT> gentoo.org> 16.0.0/gentoo/88_all_PR123657.patch | 59 ------------------------------------- 16.0.0/gentoo/README.history | 1 + 2 files changed, 1 insertion(+), 59 deletions(-) diff --git a/16.0.0/gentoo/88_all_PR123657.patch b/16.0.0/gentoo/88_all_PR123657.patch deleted file mode 100644 index 1d82acb..0000000 --- a/16.0.0/gentoo/88_all_PR123657.patch +++ /dev/null @@ -1,59 +0,0 @@ -New in this version: - -Rather than treating `scev_not_known' as an unexpected value in -`expr_invariant_in_loop_p' and have the function crash, handle the -value gracefully by adding check for -`!automatically_generated_chrec_p (expr)'. - -Regtested on AArch64 and x86_64, no regressions found. - ---------- - -Given the inability of `expr_invariant_in_loop_p (loop, expr)' to -handle the `scev_not_known' node as the expression, an unknown loop -bound in the inner loop in a nested set of loops led to -`vect_analyze_loop_form' to erroneously consider the outer loop as -suitable for vectorization. This introduces the necessary unknown -loop iteration count check to ensure correct handling of counted loops -with an embedded uncounted loop. - -2026-01-22 Victor Do Nascimento <[email protected]> - - PR tree-optimization/123657 - * tree-vect-loop.cc (vect_analyze_loop_form): Add - chrec_dont_know check. - - * gcc.dg/vect/vect-uncounted-run_4.c (main): New. - ---- a/gcc/tree-vect-loop.cc -+++ b/gcc/tree-vect-loop.cc -@@ -1555,7 +1555,8 @@ vect_analyze_loop_form (class loop *loop, gimple *loop_vectorized_call, - return opt_result::failure_at (vect_location, - "not vectorized: Bad inner loop.\n"); - -- if (!expr_invariant_in_loop_p (loop, inner.number_of_iterations)) -+ if (inner.number_of_iterations == chrec_dont_know -+ || !expr_invariant_in_loop_p (loop, inner.number_of_iterations)) - return opt_result::failure_at (vect_location, - "not vectorized: inner-loop count not" - " invariant.\n"); ---- a/gcc/testsuite/gcc.dg/vect/vect-uncounted-run_4.c -+++ b/gcc/testsuite/gcc.dg/vect/vect-uncounted-run_4.c -@@ -0,0 +1,17 @@ -+/* Ensure we don't vectorize outer loops when the inner loop is uncounted. */ -+/* { dg-add-options vect_early_break } */ -+/* { dg-require-effective-target vect_early_break_hw } */ -+/* { dg-require-effective-target vect_int } */ -+/* { dg-additional-options "-O3" } */ -+ -+int a; -+int main() { -+ for (int b = 0; b < 21; b++) { -+ int c = b; -+ while (c) -+ a = c >>= 1; -+ } -+ if (a != 0) __builtin_abort(); -+} -+ -+/* { dg-final { scan-tree-dump "missed: not vectorized: inner-loop count not invariant." "vect" } } */ diff --git a/16.0.0/gentoo/README.history b/16.0.0/gentoo/README.history index 686ba4f..c03a2a9 100644 --- a/16.0.0/gentoo/README.history +++ b/16.0.0/gentoo/README.history @@ -1,5 +1,6 @@ 35 ???? + - 88_all_PR123657.patch - 89_all_selftest.patch 34 25 January 2026
