[PATCH] D95373: Replace vector intrinsics with call to vector library

Lukas Sommer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 25 09:22:47 PST 2021


LukasSommerTu created this revision.
LukasSommerTu added reviewers: venkataramanan.kumar.llvm, Florian, spatel.
LukasSommerTu added a project: LLVM.
Herald added subscribers: rriddle, hiraditya, mgorny.
LukasSommerTu requested review of this revision.
Herald added subscribers: llvm-commits, stephenneuendorffer.

This patch adds a pass to replace calls to vector intrinsics (i.e., LLVM intrinsics operating on vector operands) with calls to a vector library.

Currently, calls to LLVM intrinsics are only replaced with calls to vector libraries when scalar calls to intrinsics are vectorized by the Loop- or SLP-Vectorizer.

With this pass, it is now possible to replace calls to LLVM intrinsics already operating on vector operands, e.g., if such code was generated by MLIR. For the replacement, information from the TargetLibraryInfo, e.g., as specified via `-vector-library` is used.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D95373

Files:
  llvm/include/llvm/InitializePasses.h
  llvm/include/llvm/LinkAllPasses.h
  llvm/include/llvm/Transforms/Utils.h
  llvm/include/llvm/Transforms/Utils/ReplaceWithVeclib.h
  llvm/lib/Passes/PassBuilder.cpp
  llvm/lib/Passes/PassRegistry.def
  llvm/lib/Transforms/Utils/CMakeLists.txt
  llvm/lib/Transforms/Utils/ReplaceWithVeclib.cpp
  llvm/lib/Transforms/Utils/Utils.cpp
  llvm/test/Transforms/Util/replace-intrinsics-with-veclib.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D95373.319032.patch
Type: text/x-patch
Size: 20135 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210125/56886465/attachment-0001.bin>


More information about the llvm-commits mailing list