[all-commits] [llvm/llvm-project] 2e3d77: [TLI] Pass replace-with-veclib works with Scalable...

Paschalis Mpeis via All-commits all-commits at lists.llvm.org
Thu Dec 21 04:38:11 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2e3d77d6edae0c790bacbc5841f664bb08bab159
      https://github.com/llvm/llvm-project/commit/2e3d77d6edae0c790bacbc5841f664bb08bab159
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2023-12-21 (Thu, 21 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/VFABIDemangling.cpp
    M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
    M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-armpl.ll
    M llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-sleef-scalable.ll

  Log Message:
  -----------
  [TLI] Pass replace-with-veclib works with Scalable Vectors. (#73642)

[TLI] Pass replace-with-veclib works with Scalable Vectors.

The pass is heavily refactored.
It uses the Masked variant of a TLI method when the Intrinsic operates on Scalable Vectors.

 Improve tests for ArmPL and SLEEF Intrinsics:
- Auto-generate test `armpl-intrinsics.ll`, and use active lane mask to have shorter `shufflevector` check lines.
- Update scripts now add `@llvm.compiler.used` instead of using the regex: `@[[LLVM_COMPILER_USED:[a-zA-Z0-9_$"\\.-]+]]`
-  Add simplifycfg pass and noalias to ensure tail folding. `noalias` attribute was added only to the `%in.ptr` parameter of the ArmPL Intrinsics.




More information about the All-commits mailing list