Go to file
Sanjay Patel 9012391af1 [DAGCombiner] eliminate shuffle of insert element
I noticed this pattern in D38316 / D38388. We failed to combine a shuffle that is either 
repeating a scalar insertion at the same position in a vector or translated to a different 
element index.

Like the earlier patch, this could be an instcombine too, but since we opted to make this 
a DAG transform earlier, I've made this one a DAG patch too.

We do not need any legality checking because the new insert is identical to the existing 
insert except that it may have a different constant insertion operand.

The constant insertion test in test/CodeGen/X86/vector-shuffle-combining.ll was the 
motivation for D38756.

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

llvm-svn: 320050
2017-12-07 15:17:58 +00:00
clang [Index] Add setPreprocessor member to IndexDataConsumer. 2017-12-07 11:04:24 +00:00
clang-tools-extra [CMake] Use PRIVATE in target_link_libraries for fuzzers. 2017-12-06 19:52:40 +00:00
compiler-rt [sanitizer] Simplify android_run.py. 2017-12-07 01:28:44 +00:00
debuginfo-tests Temporarily pin tests to DWARF v2 until a more recent version of LLDB 2017-12-05 16:58:09 +00:00
libclc configure.py: Add gfx900 (Vega, Raven) 2017-11-27 11:14:06 +00:00
libcxx [libcxx] [test] Strip trailing whitespace. NFC. 2017-12-07 00:50:23 +00:00
libcxxabi [libcxxabi] Set up .arcconfig to point to new Diffusion CXXA repository 2017-12-04 23:14:03 +00:00
libunwind [libunwind][CMake] Set TARGET_TRIPLE if LIBUNWND_TARGET_TRIPLE is set 2017-12-05 20:48:05 +00:00
lld [WebAssembly] Remove used variable 2017-12-07 03:51:37 +00:00
lldb Variable: Fix usage of uninitialised value 2017-12-07 10:38:22 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [DAGCombiner] eliminate shuffle of insert element 2017-12-07 15:17:58 +00:00
openmp [libomptarget] Split implementation of interface functions 2017-12-06 21:59:15 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [NFC] Fix formatting 2017-12-06 22:01:08 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.