[sanitizer] Fix build on ARM.


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209884 91177308-0d34-0410-b5e6-96231b3b80d8
Implement __divtf3 for IEEE quad precision.

Patch by: GuanHong Liu
Differential Revision: http://reviews.llvm.org/D2800


git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209886 91177308-0d34-0410-b5e6-96231b3b80d8
[ASan Win] Fix a couple of warnings in tests and enable -WX

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209887 91177308-0d34-0410-b5e6-96231b3b80d8
[Sanitizers Win] Move duplicate Windows-specific compiler flags to a common CMake variable

Reviewed at http://reviews.llvm.org/D3952

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209889 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: optimize memory access functions
The optimization is two-fold:
First, the algorithm now uses SSE instructions to
handle all 4 shadow slots at once. This makes processing
faster.
Second, if shadow contains the same access, we do not
store the event into trace. This increases effective
trace size, that is, tsan can remember up to 10x more
previous memory accesses.

Perofrmance impact:
Before:
[       OK ] DISABLED_BENCH.Mop8Read (2461 ms)
[       OK ] DISABLED_BENCH.Mop8Write (1836 ms)
After:
[       OK ] DISABLED_BENCH.Mop8Read (1204 ms)
[       OK ] DISABLED_BENCH.Mop8Write (976 ms)
But this measures only fast-path.
On large real applications the speedup is ~20%.

Trace size impact:
On app1:
Memory accesses                   :       1163265870
  Including same                  :        791312905 (68%)
on app2:
Memory accesses                   :        166875345
  Including same                  :        150449689 (90%)
90% of filtered events means that trace size is effectively 10x larger.




git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209897 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: make positive tests more robust
Add a script that is used to deflake inherently flaky tsan tests.
It is invoked from lit tests as:
%deflake %run %t
The script runs the target program up to 10 times,
until it produces a tsan warning.



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209898 91177308-0d34-0410-b5e6-96231b3b80d8
tsan: add a test from data-race-test suite:
https://code.google.com/p/data-race-test/source/browse/trunk/unittest/racecheck_unittest.cc



git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209900 91177308-0d34-0410-b5e6-96231b3b80d8
Disable stack-overflow test on ARM

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209925 91177308-0d34-0410-b5e6-96231b3b80d8
[TSan] Add a test case for r209939

git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209940 91177308-0d34-0410-b5e6-96231b3b80d8