1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
Go to file
Evgeniy Stepanov 98ddd4a0cc [msan] Fix handling of multiplication by a constant with a number of trailing zeroes.
Multiplication by an integer with a number of trailing zero bits leaves
the same number of lower bits of the result initialized to zero.
This change makes MSan take this into account in the case of multiplication by
a compile-time constant.

We don't handle the general, non-constant, case because
(a) it's not going to be cheap (computation-wise);
(b) multiplication by a partially uninitialized value in user code is
    a bad idea anyway.

Constant case must be handled because it appears from LLVM optimization of a
completely valid user code, as the test case in compiler-rt demonstrates.

llvm-svn: 211092
2014-06-17 09:23:12 +00:00
autoconf Remove path_tclsh.m4. 2014-06-02 12:54:32 +00:00
bindings [OCaml] Unbreak Llvm_target.TargetMachine.set_verbose_asm 2014-06-09 17:34:34 +00:00
cmake Remove clang-specific libxml2 check from CMake 2014-06-06 05:08:42 +00:00
docs Revert r211066, 211067, 211068, 211069, 211070. 2014-06-16 22:49:41 +00:00
examples
include Add an overload for SourceMgr::PrintMessage that takes an existing diagnostic. 2014-06-17 02:15:40 +00:00
lib [msan] Fix handling of multiplication by a constant with a number of trailing zeroes. 2014-06-17 09:23:12 +00:00
projects
test [msan] Fix handling of multiplication by a constant with a number of trailing zeroes. 2014-06-17 09:23:12 +00:00
tools Convert the Archive API to use ErrorOr. 2014-06-16 16:08:36 +00:00
unittests Fix build breakage caused by change to ValueMapTest. 2014-06-17 00:38:40 +00:00
utils Revert "lit: warn when passed invalid pathname" (r210597) 2014-06-16 20:18:41 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt Delete trailing whitespace. 2014-06-12 21:27:03 +00:00
CODE_OWNERS.TXT
configure Touch configure to force clang's config.h.in reconfiguration on the build servers 2014-06-06 10:36:38 +00:00
CREDITS.TXT Update Credits. 2014-05-29 19:59:58 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.txt

Low Level Virtual Machine (LLVM)
================================

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

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.