Go to file
Michael Kruse 271deb17b0 [CodeGen] Fix noalias annotations for memcpy/memmove.
Memory transfer instructions take two pointers. It is not defined to
which of those a noalias annotation applies. To ensure correctness,
do not add noalias annotations to memcpy/memmove instructions anymore.

The caused a miscompile with test-suite's MultiSource/Applications/obsequi.
Since r321138, the MemCpyOpt pass would remove memcpy/memmove calls if
known to copy uninitialized memory. In that case, it was initialized
by another memcpy, but the annotation for the target pointer said
it would not alias. The annotation was actually meant for the source
pointer, which was was an alloca and could not alias with the target
pointer.

llvm-svn: 321371
2017-12-22 17:44:53 +00:00
clang Unit tests for TBAA metadata generation. 2017-12-22 15:22:45 +00:00
clang-tools-extra [clang-tidy] Adding Fuchsia checker for overloaded operators 2017-12-22 16:52:25 +00:00
compiler-rt [MSan,TSan] Add aligned new/delete interceptors. 2017-12-22 17:02:17 +00:00
debuginfo-tests [debuginfo-tests] Support moving debuginfo-tests to llvm/projects 2017-12-12 16:54:20 +00:00
libclc configure.py: Add gfx900 (Vega, Raven) 2017-11-27 11:14:06 +00:00
libcxx Fix the definitions of 'reference' and 'pointer' in string_view that no one uses :-). Thanks to K-ballo for the catch. 2017-12-20 16:31:40 +00:00
libcxxabi [libcxxabi] Pass LIBCXXABI_SYSROOT and LIBCXXABI_GCC_TOOLCHAIN to lit 2017-12-12 01:20:37 +00:00
libunwind [libunwind][MIPS]: Add support for unwinding in O32 and N64 processes. 2017-12-12 21:43:36 +00:00
lld Define isUndefWeak inline. 2017-12-21 22:26:44 +00:00
lldb debugserver: Propagate environment in launch-mode (pr35671) 2017-12-22 11:09:21 +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 [SelectionDAG] Reverse the order of operands in the ISD::ADD created by TargetLowering::getVectorElementPointer so that the FrameIndex is on the left. 2017-12-22 17:18:13 +00:00
openmp [OMPT] Fix failing test cases for gcc on Ubuntu 2017-12-22 16:40:32 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [CodeGen] Fix noalias annotations for memcpy/memmove. 2017-12-22 17:44:53 +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.