[llvm] [LoopVectorizer] Prune VFs based on plan register pressure (PR #132190)

Sam Tebbs via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 10 08:10:40 PDT 2025


SamTebbs33 wrote:

> I collected some more data on RISC-V on SPEC CPU 2017, this improves code size by up to 7% on some benchmarks, and no regressions were found: https://lnt.lukelau.me/db_default/v4/nts/399?show_delta=yes&show_previous=yes&show_stddev=yes&show_mad=yes&show_all=yes&show_all_samples=yes&show_sample_counts=yes&show_small_diff=yes&num_comparison_runs=0&test_filter=&test_min_value_filter=&aggregation_fn=min&MW_confidence_lv=0.05&compare_to=401&submit=Update
> 
> There's also a significant decrease in vector spilling and reloading. It removes all the spilling entirely on one benchmark so the geomean result is stuck at 100%:
> ```

@lukel97 Thanks for getting those results, it's good to see it's working across targets.

> Thanks for working on this too!
> 
> We have a similar implementation in downstream and works well. Would you mind I stacked some further improvements based on this patch?

@ElvisWang123 Of course not!

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


More information about the llvm-commits mailing list