On Fri, Sep 18, 2026 at 10:04 AM Robin Dapp <[email protected]> wrote: > > From: Robin Dapp <[email protected]> > > This is v3 of the no-wrap assumptions patch which integrates the review > comments from last round, including: > > - Adjusting assumption costing to count statements. > - Adding an assert for unsigned types when combining bounds. > - Unify naming to record_nowrap_assumptions. > > The series was bootstrapped and regtested on x86, power10, and aarch64. > Regtested on riscv64.
This series is OK. Thanks, Richard. > There still is this outstanding vectorizer issue that ADA exposes on > aarch64. I have a two-line patch for it but I'm not entirely convinced > it's the right thing to do, on top the test is gimple-only. I guess > I'll post it separately in the coming days. > > The follow-up patch which removes LOOP_C_FINITE is also not fully > finished yet. That's going to take a bit more time. > > Robin Dapp (5): > niter: Add helper to compute type bound. > scev: Add nowrap bound. > dr: Add no-wrap bound. > vect: Request no-wrap bounds from DR analysis. > vect: Cost niter assumption. > > .../gcc.dg/tree-prof/update-loopch.c | 2 + > gcc/testsuite/gcc.dg/tree-ssa/scev-12.c | 2 +- > gcc/testsuite/gcc.dg/tree-ssa/scev-8.c | 2 +- > .../gcc.dg/vect/vect-unsigned-assump-1.c | 22 ++ > .../gcc.dg/vect/vect-unsigned-assump-2.c | 24 ++ > .../gcc.dg/vect/vect-unsigned-assump-3.c | 20 + > .../gcc.dg/vect/vect-unsigned-assump-4.c | 13 + > .../gcc.dg/vect/vect-unsigned-assump-5.c | 14 + > .../gcc.dg/vect/vect-unsigned-assump-6.c | 13 + > .../gcc.dg/vect/vect-unsigned-assump-7.c | 17 + > .../gcc.dg/vect/vect-unsigned-assump-8.c | 13 + > .../aarch64/sve2/niter-convert-range.c | 2 +- > gcc/tree-chrec.cc | 51 ++- > gcc/tree-chrec.h | 7 +- > gcc/tree-data-ref.cc | 99 ++++- > gcc/tree-data-ref.h | 14 +- > gcc/tree-scalar-evolution.cc | 365 ++++++++++++------ > gcc/tree-scalar-evolution.h | 9 +- > gcc/tree-ssa-loop-niter.cc | 60 ++- > gcc/tree-ssa-loop-niter.h | 3 +- > gcc/tree-ssa-loop.h | 4 + > gcc/tree-vect-data-refs.cc | 5 +- > gcc/tree-vect-loop.cc | 237 ++++++++---- > gcc/tree-vectorizer.h | 4 +- > 24 files changed, 733 insertions(+), 269 deletions(-) > create mode 100644 gcc/testsuite/gcc.dg/vect/vect-unsigned-assump-1.c > create mode 100644 gcc/testsuite/gcc.dg/vect/vect-unsigned-assump-2.c > create mode 100644 gcc/testsuite/gcc.dg/vect/vect-unsigned-assump-3.c > create mode 100644 gcc/testsuite/gcc.dg/vect/vect-unsigned-assump-4.c > create mode 100644 gcc/testsuite/gcc.dg/vect/vect-unsigned-assump-5.c > create mode 100644 gcc/testsuite/gcc.dg/vect/vect-unsigned-assump-6.c > create mode 100644 gcc/testsuite/gcc.dg/vect/vect-unsigned-assump-7.c > create mode 100644 gcc/testsuite/gcc.dg/vect/vect-unsigned-assump-8.c > > -- > 2.55.0 >
