[llvm] [SCEV] Use NUW/NSW flags in ScalarEvolution::getRangeRef() for MulExpr (PR #197324)

Ryan Buchner via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 11 17:47:06 PDT 2026


bababuck wrote:

Looking at `llvm-test-suite` for easier debugging, but it seems that there are a mix of regressions/improvements with this change. I'll look further into the regressions to see if there is a common theme.

Improvements:
```
                                              SCEV      main
SingleSour...e/Benchmarks/McGill/chomp.test                1.04
SingleSour...sc-C++/stepanov_container.test      2.83      3.78
MultiSourc...flt/LoopRestructuring-flt.test      4.22      4.93
MultiSourc...marks/7zip/7zip-benchmark.test      7.07      8.05
MicroBench...ks.test:benchAutoVecForLoopTC1      3.27      3.72
MicroBench...st:BM_MemCmp<1, EqZero, First>   2589.16   2907.36
MicroBench...orIC1VW4LoopWithReductionTC127     13.84     15.48
MicroBench...hForIC1VW1LoopWithReductionTC8      4.66      5.20
MicroBench...ForIC2VW4LoopWithReductionTC64      5.83      6.49
MicroBench...w.test:BM_DEL_DOT_VEC_2D_RAW/0    183.74    203.29
MicroBench...orIC2VW4LoopWithReductionTC128      8.30      9.10
SingleSour...e/Benchmarks/Misc/ffbench.test      1.49      1.64
MicroBench...ForIC1VW1LoopWithReductionTC15      6.75      7.38
MicroBench...ks.test:benchForIC2VW4LoopTC64      7.88      8.58
MicroBench...rks.test:benchForIC2VW4LoopTC1      2.47      2.69
```
Regressions:
```
                                              main      SCEV
MultiSourc...ks/BitBench/five11/five11.test                  1.03
SingleSour...r-algebra/kernels/3mm/3mm.test       2.96       4.56
MicroBench...test:BM_MAT_X_MAT_LAMBDA/44217   89480.08  133767.37
SingleSour...solvers/cholesky/cholesky.test      29.03      41.95
MicroBench...HMARK_BICUBIC_INTERPOLATION/32     155.55     214.63
SingleSour...bra/solvers/ludcmp/ludcmp.test      46.89      63.99
MicroBench...HMARK_BICUBIC_INTERPOLATION/16      32.00      43.21
MicroBench...st:BENCHMARK_boxBlurKernel/512     545.30     735.56
MicroBench...HMARK_BICUBIC_INTERPOLATION/64     689.08     914.94
MicroBench...ForIC4VW1LoopWithReductionTC15       4.03       5.18
SingleSour...ar-algebra/blas/trmm/trmm.test       1.76       2.18
MicroBench...MemCmp<1, LessThanZero, First>    2510.47    3038.06
MicroBench....test:BENCHMARK_HARRIS/256/256     230.81     276.48
MicroBench...hForIC2VW4LoopWithReductionTC3       3.15       3.73
SingleSour...-algebra/blas/syr2k/syr2k.test       5.90       6.97
```

https://github.com/llvm/llvm-project/pull/197324


More information about the llvm-commits mailing list