[all-commits] [llvm/llvm-project] 3d257f: [AArch64][SVE] Coalesce ptrue instrinsic calls whe...

Joe Ellis via All-commits all-commits at lists.llvm.org
Fri Feb 5 02:45:02 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3d257fde75f84fe2e3c016ee0f6e67755bdd8b8b
      https://github.com/llvm/llvm-project/commit/3d257fde75f84fe2e3c016ee0f6e67755bdd8b8b
  Author: Joe Ellis <joe.ellis at arm.com>
  Date:   2021-02-05 (Fri, 05 Feb 2021)

  Changed paths:
    M llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
    A llvm/test/CodeGen/AArch64/sve-coalesce-ptrue-intrinsics.ll

  Log Message:
  -----------
  [AArch64][SVE] Coalesce ptrue instrinsic calls where possible

It is possible to eliminate redundant calls to the SVE ptrue intrinsic.
For example: suppose that we have two SVE ptrue intrinsic calls P1 and
P2. If P1 is at least as wide as P2, then P2 can be written as a
reinterpret P1 using the SVE reinterpret intrinsics.

Coalescing ptrue intrinsics can result in fewer ptrue instructions in
the codegen, and is conducive to better analysis further down the line.

This commit extends the aarch64-sve-intrinsic-opts pass to support
coalescing ptrue intrisic calls.

Reviewed By: david-arm

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




More information about the All-commits mailing list