1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/lib/Transforms
Florian Hahn ac56a0239b [SLP] Support vectorizing functions provided by vector libs.
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

Reviewers: ABataev, RKSimon, spatel

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D75878
2020-03-10 13:10:50 +00:00
..
AggressiveInstCombine [ConstantFolding] Always return something from ConstantFoldConstant 2020-03-04 18:24:47 +01:00
CFGuard Add missing newlines at EOF; NFC 2020-02-12 15:57:25 +00:00
Coroutines [Coroutines] Optimized coroutine elision based on reachability 2020-03-05 14:43:50 +08:00
Hello
InstCombine [InstCombine] Don't simplify calls without uses 2020-03-09 18:47:46 +01:00
Instrumentation Reland: [Coverage] Revise format to reduce binary size 2020-02-28 18:12:04 -08:00
IPO [WPD] Provide a way to prevent functions from being devirtualized 2020-03-09 14:05:15 +03:00
ObjCARC [ObjC][ARC] Don't remove autoreleaseRV/retainRV pairs if the call isn't 2020-03-09 13:21:38 -07:00
Scalar Extend TimeTrace to LLVM's new pass manager 2020-03-06 14:45:19 -08:00
Utils Revert "[AssumeBundles] Move to IR so it can be used by Analysis" 2020-03-09 09:02:47 -07:00
Vectorize [SLP] Support vectorizing functions provided by vector libs. 2020-03-10 13:10:50 +00:00
CMakeLists.txt
LLVMBuild.txt