llvm-project/llvm
Simon Pilgrim 08212dbc44 [X86] Add xop/avx2 shifts to X86TargetLowering::isBinOp
Allows shuffle combining through per-element shift nodes

This exposed a number of issues with shuffle combining with target intrinsics that are lowered to nodes later during legalization - in particular shuffle combining and SimplifyDemandedVectorElts were being called after canonicalizeShuffleWithBinOps, meaning that shuffles didn't have a chance to be combined away before the shuffle(binop(x,y)) -> binop(shuffle(x),shuffle(y)) fold.
2022-01-13 17:44:10 +00:00
..
benchmarks
bindings Fix forward for "signed version of createExpression" 2021-12-27 13:51:59 +01:00
cmake [CMake] Output the error message when get_errc_messages fails 2022-01-13 16:05:15 +00:00
docs Don't override __attribute__((no_stack_protector)) by inlining (PR52886) 2022-01-13 12:04:49 +01:00
examples [llvm] Use `GNUInstallDirs` to support custom installation dirs 2022-01-08 00:47:31 +00:00
include Replace PlatformKind with PlatformType. 2022-01-13 09:23:49 -08:00
lib [X86] Add xop/avx2 shifts to X86TargetLowering::isBinOp 2022-01-13 17:44:10 +00:00
projects
resources
runtimes [runtimes] Remove LLVM_ENABLE_LLD 2021-12-17 15:03:57 -08:00
test [X86] Add xop/avx2 shifts to X86TargetLowering::isBinOp 2022-01-13 17:44:10 +00:00
tools Replace PlatformKind with PlatformType. 2022-01-13 09:23:49 -08:00
unittests Replace PlatformKind with PlatformType. 2022-01-13 09:23:49 -08:00
utils [gn build] Port 67151d029b 2022-01-13 17:34:38 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Update LLVM CMakeFiles to include BOLT 2022-01-11 21:19:12 -08:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.