Go to file
Sanjay Patel c3717cd0d5 [DAGCombiner] don't hoist logic op if operands have other uses
The AVX512 diffs are neutral, but the bswap test shows a clear overreach in 
hoistLogicOpWithSameOpcodeHands(). If we don't check for other uses, we can 
increase the instruction count.

This could also fight with transforms trying to go in the opposite direction 
and possibly blow up/infinite loop. This might be enough to solve the bug 
noted here:
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20181203/608593.html

I did not add the hasOneUse() checks to all opcodes because I see a perf 
regression for at least one opcode. We may decide that's irrelevant in the
face of potential compiler crashing, but I'll see if I can salvage that first.

llvm-svn: 348508
2018-12-06 18:16:32 +00:00
clang [CUDA] Fix nvidia-cuda-toolkit detection on Ubuntu 2018-12-06 17:46:17 +00:00
clang-tools-extra [clangd] Remove the test that sometimes deadlocks 2018-12-06 15:14:11 +00:00
compiler-rt [Sanitizer] getmntinfo support in FreeBSD 2018-12-06 17:04:18 +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 [libcxx] Add XFAILs for aligned allocation tests on AppleClang 9 2018-12-06 18:06:47 +00:00
libcxxabi [libcxx] Remove bad_array_length 2018-11-29 19:44:57 +00:00
libunwind [CMake] Passthrough CFLAGS when checking the compiler-rt path 2018-11-14 00:09:26 +00:00
lld [PDB] Move some code around. NFC. 2018-12-06 17:49:15 +00:00
lldb [PDB] Move some code around. NFC. 2018-12-06 17:49:15 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [DAGCombiner] don't hoist logic op if operands have other uses 2018-12-06 18:16:32 +00:00
openmp [OPENMP][NVPTX]Fix __kmpc_flush to flush the memory per system, not per block. 2018-12-06 15:27:58 +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
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.