Go to file
Richard Smith 06f71b5bd8 [constexpr] Support for constant evaluation of __builtin_memcpy and
__builtin_memmove (in non-type-punning cases).

This is intended to permit libc++ to make std::copy etc constexpr
without sacrificing the optimization that uses memcpy on
trivially-copyable types.

__builtin_strcpy and __builtin_wcscpy are not handled by this change.
They'd be straightforward to add, but we haven't encountered a need for
them just yet.

This reinstates r338455, reverted in r338602, with a fix to avoid trying
to constant-evaluate a memcpy call if either pointer operand has an
invalid designator.

llvm-svn: 338941
2018-08-04 00:57:17 +00:00
clang [constexpr] Support for constant evaluation of __builtin_memcpy and 2018-08-04 00:57:17 +00:00
clang-tools-extra [clang-tidy] Sequence init statements, declarations, and conditions correctly in if, switch, and while 2018-08-03 22:20:04 +00:00
compiler-rt [CMake] Allow building builtins standalone out of tree without any llvm-config available 2018-08-03 05:50:33 +00:00
debuginfo-tests Disable the asan-deque.cpp integration test for AppleLLDB < v1000 2018-08-04 00:02:48 +00:00
libclc amdgcn: Use __constant AS for amdgcn builtins. 2018-08-03 15:14:08 +00:00
libcxx Mark LWG#2260 as complete. We already did the right thing, so I just added tests to ensure that we continue to DTRT. 2018-08-03 23:28:48 +00:00
libcxxabi [itanium demangler] Support dot suffixes on block invocation functions 2018-08-02 17:45:01 +00:00
libunwind [CMake] Allow building standalone without any llvm-config available 2018-08-03 05:51:31 +00:00
lld [WebAssembly] Don't error when --undefined symbols are not found 2018-08-04 00:04:06 +00:00
lldb Modify lldb_suite.py to enable python debugging 2018-08-03 21:37:01 +00:00
llgo Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
llvm Fix buildbot breakage. 2018-08-04 00:23:37 +00:00
openmp [OpenMP] Fix doacross testing for gcc 2018-08-02 19:13:07 +00:00
parallel-libs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
polly [JSONExporter] Print instead of ignoring parser error. 2018-08-02 00:11:14 +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.