llvm-project/llvm
Simon Pilgrim 102854f4d4 [TTI] Reduction costs only need to include a single extract element cost (REAPPLIED)
We were adding the entire scalarization extraction cost for reductions, which returns the total cost of extracting every element of a vector type.

For reductions we don't need to do this - we just need to extract the 0'th element after the reduction pattern has completed.

Fixes PR37731

Rebased and reapplied after being reverted in rL347541 due to PR39774 - which was fixed by D54955/rL347759 and D55017/rL347997

Differential Revision: https://reviews.llvm.org/D54585

llvm-svn: 348076
2018-12-01 14:18:31 +00:00
..
benchmarks
bindings [bindings/go] Add Go bindings to LLVMGetIndices 2018-11-08 04:04:04 +00:00
cmake [CMake] build correctly if build path contains whitespace 2018-11-30 00:30:53 +00:00
docs [docs][AtomicExpandPass] Document the alternate lowering strategy for part-word atomicrmw/cmpxchg 2018-11-30 09:23:24 +00:00
examples Fix build break from r347239 2018-11-19 18:51:11 +00:00
include [TTI] Reduction costs only need to include a single extract element cost (REAPPLIED) 2018-12-01 14:18:31 +00:00
lib [AMDGPU] Split 64-Bit XNOR to 64-Bit NOT/XOR 2018-12-01 12:27:53 +00:00
projects [projects] Use add_llvm_external_project for implicit projects 2018-12-01 01:41:27 +00:00
resources
runtimes
test [TTI] Reduction costs only need to include a single extract element cost (REAPPLIED) 2018-12-01 14:18:31 +00:00
tools [llvm-readobj] Improve dynamic section iteration NFC. 2018-12-01 12:27:24 +00:00
unittests [ValueTracking] Make unit tests easier to write; NFC 2018-11-30 22:22:30 +00:00
utils [lit] Add a generic build script with a lit substitution. 2018-12-01 00:22:21 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore [git/svn] Ignore Visual Studio's CMakeSettings.json. 2018-10-29 14:51:02 +00:00
CMakeLists.txt [LLVM] Allow modulemap installation 2018-11-21 20:46:50 +00:00
CODE_OWNERS.TXT [CODE_OWNERS] Add myself as code owner for MinGW 2018-11-29 10:58:15 +00:00
CREDITS.TXT add Kang Zhang(shkzhang@cn.ibm.com) to the CREDITS.TXT 2018-11-25 02:56:49 +00:00
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT Adding Yvan as release test backup for Diana 2018-11-08 11:51:27 +00:00
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.