[all-commits] [llvm/llvm-project] 15c645: [RISCV] Enable (scalable) vectorization by default

Philip Reames via All-commits all-commits at lists.llvm.org
Wed Jul 27 12:36:29 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 15c645f7ee678d85a7ec8db9a3b1a78b6548baba
      https://github.com/llvm/llvm-project/commit/15c645f7ee678d85a7ec8db9a3b1a78b6548baba
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2022-07-27 (Wed, 27 Jul 2022)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/Transforms/LoopVectorize/RISCV/defaults.ll

  Log Message:
  -----------
  [RISCV] Enable (scalable) vectorization by default

This change enables vectorization (using scalable vectorization only, fixed vectors are not yet enabled) for RISCV when vector instructions are available for the target configuration.

At this point, the resulting configuration should be both stable (e.g. no crashes), and profitable (i.e. few cases where scalar loops beat vector ones), but is not going to be particularly well tuned (i.e. we emit the best possible vector loop). The goal of this change is to align testing across organizations and ensure the default configuration matches what downstreams are using as closely as possible.

This exposes a large amount of code which hasn't otherwise been on by default, and thus may not have been fully exercised.  Given that, having issues fall out is not unexpected.  If you find issues, please make sure to include as much information as you can when reverting this change.

Differential Revision: https://reviews.llvm.org/D129013




More information about the All-commits mailing list