llvm-project/llvm/test/Transforms/SLPVectorizer
Sanne Wouda 7b84045565 [SLPVectorizer] handle vectorizeable library functions
Teaches the SLPVectorizer to use vectorized library functions for
non-intrinsic calls.

This already worked for intrinsics that have vectorized library
functions, thanks to D75878, but schedules with library functions with a
vector variant were being rejected early.

-   assume that there are no load/store dependencies between lib
    functions with a vector variant; this would otherwise prevent the
    bundle from becoming "ready"

-   check during legalization that the vector variant can be used

-   fix-up where we previously assumed that a call would be an intrinsic

Differential Revision: https://reviews.llvm.org/D82550
2020-07-13 15:28:46 +01:00
..
AArch64 [SLPVectorizer] handle vectorizeable library functions 2020-07-13 15:28:46 +01:00
AMDGPU AMDGPU: Allow vectorization of round intrinsic 2020-03-23 17:00:41 -04:00
ARM [NewPM][BasicAA] basicaa -> basic-aa in Transforms/SLPVectorizer 2020-06-26 14:58:41 -07:00
NVPTX [NewPM][BasicAA] basicaa -> basic-aa in Transforms/SLPVectorizer 2020-06-26 14:58:41 -07:00
PowerPC Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
SystemZ [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
X86 SLP: honor requested max vector size merging PHIs 2020-07-08 08:06:15 -07:00
XCore [NewPM][BasicAA] basicaa -> basic-aa in Transforms/SLPVectorizer 2020-06-26 14:58:41 -07:00
int_sideeffect.ll Revert "Temporarily Revert "Add basic loop fusion pass."" 2019-04-17 04:52:47 +00:00
slp-max-phi-size.ll SLP: honor requested max vector size merging PHIs 2020-07-08 08:06:15 -07:00
vectorizable-functions.ll [SLPVectorizer] handle vectorizeable library functions 2020-07-13 15:28:46 +01:00