Go to file
Craig Topper 7f0d456ef8 [X86] Teach lowering to only let through (insert_subvector (vXi1 zeros), subvec, 0) for vector sizes that have native KSHIFT support.
For narrow sizes we'll widen the zero vector and widen the insert. Then do an extract_subvector to get back down to correct size.

This allows us to remove some patterns from the isel table that had to COPY_TO_REGCLASS to an oversized register, do the shift and then COPY_TO_REGCLASS back to the narrow register. Now this is represented explicitly in the DAG.

This seems to have perturbed the register allocation in one of the tests, but the number of instructions didn't change.

llvm-svn: 320190
2017-12-08 20:10:33 +00:00
clang [ubsan] array-bounds: Ignore params with constant size 2017-12-08 19:51:42 +00:00
clang-tools-extra [clangd] Convert lit code completion tests to unit-tests. NFC 2017-12-08 15:00:59 +00:00
compiler-rt Update test case for r320180 2017-12-08 19:38:42 +00:00
debuginfo-tests Revert "Temporarily pin tests to DWARF v2 until a more recent version of LLDB" 2017-12-07 19:40:31 +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] Create install-unwind-stripped target manually 2017-12-08 17:15:05 +00:00
lld ELF: Ignore --long-plt flag. 2017-12-08 19:36:19 +00:00
lldb [MachException] Avoid alignment UB, NFC 2017-12-08 01:09:40 +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 [X86] Teach lowering to only let through (insert_subvector (vXi1 zeros), subvec, 0) for vector sizes that have native KSHIFT support. 2017-12-08 20:10:33 +00:00
openmp [CMake] Remove legacy LIBOMP_LIT_ARGS 2017-12-08 15:07:08 +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.