llvm-project/llvm
Nikita Popov 53f36f06af [Legalize][ARM][X86] Add float legalization for VECREDUCE
This adds SoftenFloatRes, PromoteFloatRes and SoftPromoteHalfRes
legalizations for VECREDUCE, to fill the remaining hole in the SDAG
legalization. These legalizations simply expand the reduction and
let it be recursively legalized. For the PromoteFloatRes case at
least it is possible to do better than that, but it's pretty tricky
(because we need to consider the interaction of three different
vector legalizations and the type promotion) and probably not
really worthwhile.

I haven't added ExpandFloatRes support, as I am not familiar with
ppc_fp128.

Differential Revision: https://reviews.llvm.org/D87569
2020-09-14 20:42:09 +02:00
..
benchmarks
bindings [OCaml] Remove add_constant_propagation 2020-08-27 09:30:21 -07:00
cmake [MinGW] Use lib prefix for libraries 2020-09-12 22:01:29 +03:00
docs [analyzer][docs][NFC] Document the ento namespace in the llvm/Lexicon 2020-09-14 08:43:56 +02:00
examples Re-apply "[ORC] Make MaterializationResponsibility immovable..." with fixes. 2020-09-11 14:09:05 -07:00
include [ms] [llvm-ml] Add support for size queries in MASM 2020-09-14 14:27:06 -04:00
lib [Legalize][ARM][X86] Add float legalization for VECREDUCE 2020-09-14 20:42:09 +02:00
projects
resources
runtimes [runtimes] Remove TOOLCHAIN_TOOLS specialization 2020-08-24 13:48:29 -07:00
test [Legalize][ARM][X86] Add float legalization for VECREDUCE 2020-09-14 20:42:09 +02:00
tools [llvm-readobj/elf] - Don't use unwrapOrError when reporting errors about SHT_DYNAMIC sections. 2020-09-14 14:55:16 +03:00
unittests Reland [AssumeBundles] Use operand bundles to encode alignment assumptions 2020-09-12 15:36:06 +02:00
utils AMDGPU/GlobalISel/Emitter Recognize additional 'same operand checks' 2020-09-14 12:10:59 +02:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [CMake] Remove dead FindPythonInterp code 2020-09-08 15:23:23 +03:00
CODE_OWNERS.TXT Update my email address. 2020-08-21 10:15:26 -07:00
CREDITS.TXT Update my email address. 2020-08-21 10:15:26 -07:00
LICENSE.TXT
LLVMBuild.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.