[all-commits] [llvm/llvm-project] f7bb69: [RISCV] Implement isElementTypeLegalForScalableVec...

Philip Reames via All-commits all-commits at lists.llvm.org
Fri Jun 10 13:21:29 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f7bb691d6140e83699a89c4adf67c1d850852a9c
      https://github.com/llvm/llvm-project/commit/f7bb691d6140e83699a89c4adf67c1d850852a9c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2022-06-10 (Fri, 10 Jun 2022)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    A llvm/test/Transforms/LoopVectorize/RISCV/illegal-type.ll

  Log Message:
  -----------
  [RISCV] Implement isElementTypeLegalForScalableVector TTI hook

This brings us into alignment with AArch64, and in the process fixes a compiler crash bug in uniform store handling in the vectorizer.

Before the recent invalid cost bailout work, this would have also avoided crashes on invalid costs in some cases. I honestly think the vectorizer should gracefully bailout on uniform stores it can't use a scatter for, but it doesn't, so lets take the path of least resistance here. It's also possible that there are other vectorizer bugs AArch64 isn't seeing because of this hook; we don't want to be finding them either.

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




More information about the All-commits mailing list