Go to file
Alexander Timofeev 993e2798fd [AMDGPU] Fix scalar operand folding bug that causes SHOC performance regression.
Detailed description: SIFoldOperands::foldInstOperand iterates over the
operand uses calling the function that changes def-use iteratorson the
way. As a result loop exits immediately when def-use iterator is
changed. Hence, the operand is folded to the very first use instruction
only. This makes VGPR live along the whole basic block and increases
register pressure significantly. The performance drop observed in SHOC
DeviceMemory test is caused by this bug.

Proposed fix: collect uses to separate container for further processing
in another loop.

Testing: make check-llvm
SHOC performance test.

Reviewers: rampitec, ronlieb

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

llvm-svn: 350350
2019-01-03 19:55:32 +00:00
clang Validate -add-plugin arguments. 2019-01-03 18:26:06 +00:00
clang-tools-extra [clangd] Fix detecting atomics in stand-alone builds 2019-01-03 16:43:27 +00:00
compiler-rt Re-disable the sanitizer_common/TestCases/Posix/getfsent.cc test. Recent macOS versions don't have the /etc/fstab file any more so we cannot test getfsent/setfsent APIs on Darwin. 2019-01-03 17:26:29 +00:00
debuginfo-tests Set config.lit_tools_dir, which is needed by lit.llvm.initialize. 2018-11-06 21:54:27 +00:00
libclc travis: Add cmake build 2018-11-27 16:07:21 +00:00
libcxx De-tab a couple tests. NFC 2019-01-03 17:18:40 +00:00
libcxxabi [libcxx] Remove bad_array_length 2018-11-29 19:44:57 +00:00
libunwind [SEH] Add initial support for AArch64 2018-12-18 20:05:59 +00:00
lld [test] Enable system-linker-elf feature on NetBSD [NFC] 2019-01-02 19:39:26 +00:00
lldb PECOFF: Remove tabs introduced accidentally in r350094 2019-01-03 12:07:38 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [AMDGPU] Fix scalar operand folding bug that causes SHOC performance regression. 2019-01-03 19:55:32 +00:00
openmp [OPENMP][NVPTX]Fix incompatibility of __syncthreads with LLVM, NFC. 2019-01-03 17:43:46 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [CMake] Fix generation of exported targets in build directory 2018-11-06 15:18:17 +00:00
pstl [pstl] Initial integration with LLVM's CMake 2018-12-21 15:59:04 +00:00
README.md Update the project name in README.md 2018-10-19 00:03:01 +00:00

README.md

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.