[PATCH] D75878: [SLP] Support vectorizing functions provided by vector libs.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 9 15:07:52 PDT 2020


fhahn created this revision.
fhahn added reviewers: ABataev, RKSimon, spatel.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.

It seems like the SLPVectorizer is currently not aware of vector
versions of functions provided by libraries like Accelerate [1].
This patch updates SLPVectorizer to use the same infrastructure
the LoopVectorizer uses to detect vectorizable library functions.

For calls, it computes the cost of an intrinsic call (existing behavior)
and the cost of a vector function library call, if available. Like
LoopVectorizer, it assumes the cost of the vector function is simply the
cost of a call to a vector function.

[1] https://developer.apple.com/documentation/accelerate


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D75878

Files:
  llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
  llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75878.249228.patch
Type: text/x-patch
Size: 16168 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200309/cecba543/attachment.bin>


More information about the llvm-commits mailing list