llvm-project/llvm
Craig Topper c13aa36bb7 [X86] Attempt to more accurately model the cost of a bool reduction of wide vector type.
Previously we multiplied the cost for the table entries by the number of splits needed. But that implies that each split goes through a reduction to scalar independently. I think what really happens is that the we AND/OR the split pieces until we're down to a single value with a legal type and then do special reduction sequence on that.

So to model that this patch takes the number of splits minus one multiplied by the cost of a AND/OR at the legal element count and adds that on top of the table lookup.

Differential Revision: https://reviews.llvm.org/D76400
2020-03-19 09:31:05 -07:00
..
benchmarks
bindings Add an SDK attribute to DICompileUnit 2020-03-11 14:14:06 -07:00
cmake [ValueTypes] Add EVT::isFixedLengthVector 2020-03-19 10:08:17 +00:00
docs [VP,Integer,#1] Vector-predicated integer intrinsics 2020-03-19 10:51:47 +01:00
examples Fix `warning: extra ‘;’` (NFC) 2020-03-18 14:22:10 +00:00
include [Support] Improve Windows widenPath and add support for long UNC paths 2020-03-19 13:00:21 +00:00
lib [X86] Attempt to more accurately model the cost of a bool reduction of wide vector type. 2020-03-19 09:31:05 -07:00
projects
resources
runtimes [runtimes] When COMPILER_RT is enabled, consider SANITIZER prefixes 2020-03-11 14:22:20 -07:00
test [X86] Attempt to more accurately model the cost of a bool reduction of wide vector type. 2020-03-19 09:31:05 -07:00
tools [obj2yaml] - SHT_DYNAMIC and SHT_REL* sections: stop dumping sh_entsize field when it has the default value. 2020-03-19 17:25:53 +03:00
unittests [Support] Improve Windows widenPath and add support for long UNC paths 2020-03-19 13:00:21 +00:00
utils [gn build] Port 733b319948 2020-03-19 09:52:27 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [ValueTypes] Add EVT::isFixedLengthVector 2020-03-19 10:08:17 +00:00
CODE_OWNERS.TXT Remove myself from CODE_OWNERS. 2020-02-25 11:59:29 +00:00
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt Test commit. 2020-03-14 18:08:26 -07:00
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.