Go to file
Craig Topper 1bb0c6041a [LegalizeVectorTypes] When widening the operands to a concat_vectors, see if we can use the widened operand 0 if the width matches and the other operands are undef.
This saves a conversion to extracts and build_vector. We already do this when both the result and the input need to be widened to the same type.

This changed the sse-intrinsics-fast-isel test because we don't lower (insert_vector_elt (scalar_to_vector X), Y, 1) well. We turn it into (vector_shuffle (scalar_to_vector X), (scalar_to_vector Y), <0, 4, 2, 3>) losing track of the fact that the upper elts could be undef.

We should probably find a way to prevent the scalarization of the <2 x f32> load on these tests.

llvm-svn: 344404
2018-10-12 19:37:49 +00:00
clang Fix a clang::driver::ArgStringList usage I missed in rL344398. NFCI. 2018-10-12 19:14:43 +00:00
clang-tools-extra [clangd] NFC fix semicolon warning 2018-10-12 17:47:43 +00:00
compiler-rt [SanitizerCoverage] Prevent /OPT:REF from stripping constructors 2018-10-12 18:11:47 +00:00
debuginfo-tests Revert "(Retry) Add a basic integration test for C++ smart pointers" 2018-08-20 19:53:33 +00:00
libclc configure: Rework support for gfx9+ devices that were added post LLVM 3.9 2018-09-15 22:02:01 +00:00
libcxx [NFC][libc++] Fix broken link in comment 2018-10-12 17:12:41 +00:00
libcxxabi Override libcxxabi's .clang-format in the demangle directory 2018-10-11 23:30:56 +00:00
libunwind [CMake] Link to compiler-rt if LIBUNWIND_USE_COMPILER_RT is ON. 2018-10-08 18:35:00 +00:00
lld Remove `Type` parameter from SymbolTable::insert(). NFC. 2018-10-12 18:29:18 +00:00
lldb [dotest] Make a missing FileCheck binary a warning, not an error 2018-10-12 19:29:59 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm [LegalizeVectorTypes] When widening the operands to a concat_vectors, see if we can use the widened operand 0 if the width matches and the other operands are undef. 2018-10-12 19:37:49 +00:00
openmp [OpenMP] Convert KMP_DYNAMIC_LIB to a 0 or 1 guard everywhere 2018-10-05 17:59:39 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly Fix another error related to YAML quoting. 2018-10-12 17:28:39 +00:00
README.md

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.