[all-commits] [llvm/llvm-project] 137459: [AArch64][SME] Disable (SLP|Loop)Vectorizer when f...

sdesmalen-arm via All-commits all-commits at lists.llvm.org
Wed Oct 19 09:43:22 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 137459aff6ec2c5f57f978c8feb689fcc8010b62
      https://github.com/llvm/llvm-project/commit/137459aff6ec2c5f57f978c8feb689fcc8010b62
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2022-10-19 (Wed, 19 Oct 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    A llvm/test/Transforms/LoopVectorize/AArch64/sme-vectorize.ll

  Log Message:
  -----------
  [AArch64][SME] Disable (SLP|Loop)Vectorizer when function may be executed in streaming mode.

When the SME attributes tell that a function is or may be executed in Streaming
SVE mode, we currently need to be conservative and disable _any_ vectorization
(fixed or scalable) because the code-generator does not yet support generating
streaming-compatible code.

Scalable auto-vec will be gradually enabled in the future when we have
confidence that the loop-vectorizer won't use any SVE or NEON instructions
that are illegal in Streaming SVE mode.

Reviewed By: paulwalker-arm

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




More information about the All-commits mailing list