1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/tools
Lukas Sommer ca692e8e27 [CodeGen] New pass: Replace vector intrinsics with call to vector library
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.

This is a re-try of the original commit 2303e93e66 that was reverted
due to pass manager problems. Other minor changes have also been made.

Differential Revision: https://reviews.llvm.org/D95373
2021-02-12 12:53:27 -05:00
..
bugpoint [tools] Use llvm::append_range (NFC) 2021-01-05 21:15:56 -08:00
bugpoint-passes
dsymutil Mark output as text if it is really text 2021-02-12 07:14:21 -05:00
gold [ThinLTO][gold] Fix filenaming scheme for tasks. 2021-02-12 09:40:08 -08:00
llc [CodeGen] New pass: Replace vector intrinsics with call to vector library 2021-02-12 12:53:27 -05:00
lli [ORC] Move Orc RPC code into Shared, rename some RPC types. 2020-12-30 12:48:20 +11:00
llvm-ar
llvm-as
llvm-as-fuzzer
llvm-bcanalyzer
llvm-c-test Fixes warning 'enumeration value not handled in switch'. 2020-12-30 06:56:29 -08:00
llvm-cat [tools] Use llvm::append_range (NFC) 2021-01-05 21:15:56 -08:00
llvm-cfi-verify [llvm-cfi-verify] Set UseSymbolTable to false 2021-02-10 09:44:13 -08:00
llvm-config
llvm-cov [llvm] Use append_range (NFC) 2021-01-29 23:23:34 -08:00
llvm-cvtres [llvm] Don't include StringSwitch.h where unnecessary (NFC) 2021-01-21 19:59:48 -08:00
llvm-cxxdump
llvm-cxxfilt
llvm-cxxmap
llvm-diff
llvm-dis
llvm-dwarfdump [tools] Use llvm::append_range (NFC) 2021-01-05 21:15:56 -08:00
llvm-dwp [llvm-dwp] Automatically set the target triple 2021-01-25 11:58:54 +01:00
llvm-elfabi [llvm-elfabi] Add flag to preserve timestamp when output is the same 2020-12-29 20:27:06 -08:00
llvm-exegesis Fix exegesis build on aarch64-windows-msvc host 2021-02-12 09:50:22 +00:00
llvm-extract
llvm-go
llvm-gsymutil [tools] Use llvm::append_range (NFC) 2021-01-05 21:15:56 -08:00
llvm-ifs [llvm] Remove redundant string initialization (NFC) 2021-01-12 21:43:46 -08:00
llvm-isel-fuzzer
llvm-itanium-demangle-fuzzer
llvm-jitlink [llvm-jitlink] Replace use of deprecated gethostbyname by getaddrinfo. 2021-01-29 03:11:16 -06:00
llvm-jitlistener
llvm-libtool-darwin
llvm-link [llvm-link] Improve link time for bitcode archives [NFC] 2021-01-19 16:41:28 -08:00
llvm-lipo [Target] Use llvm::any_of (NFC) 2020-12-24 19:43:26 -08:00
llvm-lto Revert "[LTO] Use lto::backend for code generation." 2021-02-03 22:49:30 +00:00
llvm-lto2 [LTO] Add support for existing Config::Freestanding option. 2021-01-22 13:45:39 +00:00
llvm-mc
llvm-mc-assemble-fuzzer
llvm-mc-disassemble-fuzzer
llvm-mca [NFC][llvm-mca] Fix compiler warning 2021-02-04 09:44:36 -08:00
llvm-microsoft-demangle-fuzzer
llvm-ml
llvm-modextract
llvm-mt
llvm-nm [NFC][llvm-nm] Fix unused variable warning 2021-01-29 11:42:23 +08:00
llvm-objcopy [llvm-objcopy] -O binary: consider SHT_NOBITS sections to be empty 2021-02-01 15:01:25 -08:00
llvm-objdump [llvm-objdump] Fix missing first line of license in header file 2021-02-05 08:45:50 +00:00
llvm-opt-fuzzer [FuzzMutate] Add mutator to modify instruction flags. 2021-01-23 19:05:20 +00:00
llvm-opt-report
llvm-pdbutil [llvm] Remove redundant return and continue statements (NFC) 2021-01-14 20:30:34 -08:00
llvm-profdata [CSSPGO] Support of CS profiles in extended binary format. 2021-01-27 21:29:46 -08:00
llvm-profgen [CSSPGO][llvm-profgen] Add brackets for context id to support extended binary format 2021-02-12 01:14:53 -08:00
llvm-rc
llvm-readobj [llvm-readobj] Add support for decoding FreeBSD ELF notes 2021-02-09 16:59:22 +00:00
llvm-reduce [llvm-reduce] ReduceGlobalVarInitializers delta pass: fix handling of globals w/ comdat/non-external linkage 2021-01-07 18:05:03 +03:00
llvm-rtdyld
llvm-shlib
llvm-size [llvm-cov] Use is_contained (NFC) 2020-12-27 09:57:25 -08:00
llvm-special-case-list-fuzzer
llvm-split [LTO] Update splitCodeGen to take a reference to the module. (NFC) 2021-01-29 11:53:11 +00:00
llvm-stress [tools] Use llvm::append_range (NFC) 2021-01-05 21:15:56 -08:00
llvm-strings
llvm-symbolizer [llvm-symbolizer] - Fix the crash in GNU output style with --no-inlines and missing input file. 2021-01-30 18:36:38 +03:00
llvm-undname
llvm-xray Fix JSON formatting when converting to trace event format 2021-02-10 13:00:28 +11:00
llvm-yaml-numeric-parser-fuzzer [llvm] Use llvm::erase_value and llvm::erase_if (NFC) 2021-01-02 09:24:15 -08:00
llvm-yaml-parser-fuzzer [llvm] Use llvm::erase_value and llvm::erase_if (NFC) 2021-01-02 09:24:15 -08:00
lto [llvm] Use append_range (NFC) 2021-01-29 23:23:34 -08:00
msbuild
obj2yaml [yaml2obj] Handle NT_* string values in for ELF note types 2021-02-09 16:59:22 +00:00
opt [CodeGen] New pass: Replace vector intrinsics with call to vector library 2021-02-12 12:53:27 -05:00
opt-viewer
remarks-shlib
sancov
sanstats
split-file
verify-uselistorder
vfabi-demangle-fuzzer
xcode-toolchain
yaml2obj
CMakeLists.txt