[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