llvm-6502/test/Instrumentation
Evgeniy Stepanov 792a173523 [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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211092 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-17 09:23:12 +00:00
..
AddressSanitizer Remove top-level Clang -fsanitize= flags for optional ASan features. 2014-06-13 17:53:44 +00:00
BoundsChecking Allow aliases to be unnamed_addr. 2014-06-06 01:20:28 +00:00
DataFlowSanitizer Introduce two command-line flags for the instrumentation pass to control whether the labels of pointers should be ignored in load and store instructions 2013-11-21 23:20:54 +00:00
MemorySanitizer [msan] Fix handling of multiplication by a constant with a number of trailing zeroes. 2014-06-17 09:23:12 +00:00
ThreadSanitizer [TSan] Fixup a test case after r209939 2014-05-31 00:26:03 +00:00