llvm-6502/lib
Evgeniy Stepanov 4031b194ac [msan] Do not store origin for clean values.
Instead of unconditionally storing origin with every application store,
only do this when the shadow of the stored value is != 0.

This change also delays instrumentation of stores until after the walk over
function's instructions, because adding new basic blocks confuses InstVisitor.

We only keep 1 origin value per 4 bytes of application memory. This change
fixes the bug when a store of a single clean byte wiped the origin for the
whole 4-byte area.

Since stores of uninitialized values are relatively uncommon, this change
improves performance of track-origins mode by 5% median and by up to 47% on
specs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169490 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-06 11:41:03 +00:00
..
Analysis Have CannotBeNegativeZero() be aware of the nsz fast-math flag 2012-12-06 00:07:09 +00:00
Archive Sort includes for all of the .h files under the 'lib' tree. These were 2012-12-04 07:12:27 +00:00
AsmParser Split up the ParseOptionalAttrs method into three different methods for each 2012-12-04 23:40:58 +00:00
Bitcode Sort includes for all of the .h files under the 'lib' tree. These were 2012-12-04 07:12:27 +00:00
CodeGen s/getLowerBoundDefault/getDefaultLowerBound/ for consistency. Also put the more natural check first in the if-then statement. 2012-12-06 07:55:19 +00:00
DebugInfo Sort includes for all of the .h files under the 'lib' tree. These were 2012-12-04 07:12:27 +00:00
ExecutionEngine Adjust JIT target triple on OS X to match the current architecture. 2012-12-05 19:09:13 +00:00
Linker Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
MC Revert r169456, "change MCContext to work on the doInitialization/doFinalization model" 2012-12-06 02:00:13 +00:00
Object Use the new script to sort the includes of every file under lib. 2012-12-03 16:50:05 +00:00
Option Copy clang/Driver/<Option parsing stuff> to llvm. 2012-12-05 00:29:32 +00:00
Support Make NaCl naming consistent. The triple OSType is called NaCl and is represented 2012-12-04 18:37:26 +00:00
TableGen Sort includes for all of the .h files under the 'lib' tree. These were 2012-12-04 07:12:27 +00:00
Target Remove intrinsic specific instructions for (V)MOVQUmr with patterns pointing to the normal instructions. 2012-12-06 07:31:16 +00:00
Transforms [msan] Do not store origin for clean values. 2012-12-06 11:41:03 +00:00
VMCore Fix name. The array is unboundED. 2012-12-05 21:43:30 +00:00
CMakeLists.txt Copy clang/Driver/<Option parsing stuff> to llvm. 2012-12-05 00:29:32 +00:00
LLVMBuild.txt Copy clang/Driver/<Option parsing stuff> to llvm. 2012-12-05 00:29:32 +00:00
Makefile Copy clang/Driver/<Option parsing stuff> to llvm. 2012-12-05 00:29:32 +00:00