| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 210009
|
| |
|
|
|
|
|
|
| |
Place constants into .rdata if targeting ELF or COFF/PE. This should be
functionally identical, however, the data would be placed into a different
section. This is purely a cleanup change.
llvm-svn: 209986
|
| |
|
|
|
|
|
|
|
| |
Make the whitespace a bit more uniform in the various assembly routines. This
also makes the assembly files a bit more uniform on the ARM side by explicitly
stating that it is using the unified syntax and that the contents of the code is
in the text section (or segment). No functional change.
llvm-svn: 209985
|
| |
|
|
| |
llvm-svn: 209940
|
| |
|
|
| |
llvm-svn: 209925
|
| |
|
|
|
|
| |
https://code.google.com/p/data-race-test/source/browse/trunk/unittest/racecheck_unittest.cc
llvm-svn: 209900
|
| |
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 209898
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 209897
|
| |
|
|
|
|
|
|
| |
CMake variable
Reviewed at http://reviews.llvm.org/D3952
llvm-svn: 209889
|
| |
|
|
| |
llvm-svn: 209887
|
| |
|
|
|
|
|
| |
Patch by: GuanHong Liu
Differential Revision: http://reviews.llvm.org/D2800
llvm-svn: 209886
|
| |
|
|
| |
llvm-svn: 209884
|
| |
|
|
|
|
| |
linker optimizations
llvm-svn: 209881
|
| |
|
|
|
|
| |
Patch by Peter Bergner.
llvm-svn: 209879
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D3857
llvm-svn: 209862
|
| |
|
|
|
|
|
|
| |
This is half the patch from: http://reviews.llvm.org/D3857
It lets us get deterministic results from the rest of the test suite.
llvm-svn: 209861
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D3794
llvm-svn: 209856
|
| |
|
|
|
|
|
|
| |
This commit broke the Windows build, where CMAKE_C_COMPILER can
compile and link with -march=armv7-a but the just-built-clang
cannot.
llvm-svn: 209851
|
| |
|
|
|
|
|
|
|
|
|
|
| |
You can expect the sanitizers to be built under any of the following conditions:
1) CMAKE_C_COMPILER is GCC built to cross-compile to ARM
2) CMAKE_C_COMPILER is Clang built to cross-compile to ARM (ARM is default target)
3) CMAKE_C_COMPILER is Clang and CMAKE_C_FLAGS contains -target and --sysroot
Differential Revision: http://reviews.llvm.org/D3794
llvm-svn: 209835
|
| |
|
|
| |
llvm-svn: 209818
|
| |
|
|
| |
llvm-svn: 209815
|
| |
|
|
| |
llvm-svn: 209814
|
| |
|
|
|
|
|
|
|
|
| |
e.g.:
RSS 420 MB: shadow:35 meta:231 file:2 mmap:129 trace:19 heap:0 other:0 nthr=1/31
RSS 365 MB: shadow:3 meta:231 file:2 mmap:106 trace:19 heap:0 other:0 nthr=1/31
RSS 429 MB: shadow:23 meta:234 file:2 mmap:143 trace:19 heap:6 other:0 nthr=1/31
RSS 509 MB: shadow:78 meta:241 file:2 mmap:147 trace:19 heap:19 other:0 nthr=1/31
llvm-svn: 209813
|
| |
|
|
| |
llvm-svn: 209811
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new storage (MetaMap) is based on direct shadow (instead of a hashmap + per-block lists).
This solves a number of problems:
- eliminates quadratic behaviour in SyncTab::GetAndLock (https://code.google.com/p/thread-sanitizer/issues/detail?id=26)
- eliminates contention in SyncTab
- eliminates contention in internal allocator during allocation of sync objects
- removes a bunch of ad-hoc code in java interface
- reduces java shadow from 2x to 1/2x
- allows to memorize heap block meta info for Java and Go
- allows to cleanup sync object meta info for Go
- which in turn enabled deadlock detector for Go
llvm-svn: 209810
|
| |
|
|
| |
llvm-svn: 209806
|
| |
|
|
| |
llvm-svn: 209805
|
| |
|
|
| |
llvm-svn: 209804
|
| |
|
|
|
|
|
| |
Patch by: GuanHong Liu
Differential Revision: http://reviews.llvm.org/D2802
llvm-svn: 209783
|
| |
|
|
|
|
|
| |
Patch by: GuanHong Liu
Differential Revision: http://reviews.llvm.org/D2803
llvm-svn: 209782
|
| |
|
|
|
|
|
| |
Patch by: GuanHong Liu
Differential Revision: http://reviews.llvm.org/D3887
llvm-svn: 209781
|
| |
|
|
|
|
|
| |
Patch by: GuanHong Liu
Differential Revision: http://reviews.llvm.org/D3888
llvm-svn: 209779
|
| |
|
|
|
|
|
|
| |
And fixed typos in the ASan readme.
Differential Revision: http://reviews.llvm.org/D3927
llvm-svn: 209778
|
| |
|
|
| |
llvm-svn: 209773
|
| |
|
|
|
|
|
|
|
|
| |
The refactoring makes suppressions more flexible
and allow to suppress based on arbitrary number of stacks.
In particular it fixes:
https://code.google.com/p/thread-sanitizer/issues/detail?id=64
"Make it possible to suppress deadlock reports by any stack (not just first)"
llvm-svn: 209757
|
| |
|
|
|
|
| |
64-bit atomics make porting of asan to 32-bits platforms problematic.
llvm-svn: 209744
|
| |
|
|
|
|
|
| |
Patch from: GuanHong Liu
Differential Revision: http://reviews.llvm.org/D3886
llvm-svn: 209741
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D3885
llvm-svn: 209740
|
| |
|
|
|
|
|
|
|
| |
This makes check-asan pass on Android, which should help prevent future
regressions.
https://code.google.com/p/address-sanitizer/issues/detail?id=316
llvm-svn: 209736
|
| |
|
|
|
|
| |
-lpthread does not work on Android.
llvm-svn: 209735
|
| |
|
|
| |
llvm-svn: 209734
|
| |
|
|
|
|
| |
Some features are not supported yet and some are not planned to be fixed soon
llvm-svn: 209733
|
| |
|
|
| |
llvm-svn: 209724
|
| |
|
|
| |
llvm-svn: 209722
|
| |
|
|
|
|
|
|
| |
Windows-only tests explicitly use clang-cl.
Reviewed at http://reviews.llvm.org/D3893
llvm-svn: 209719
|
| |
|
|
| |
llvm-svn: 209718
|
| |
|
|
| |
llvm-svn: 209717
|
| |
|
|
| |
llvm-svn: 209699
|
| |
|
|
| |
llvm-svn: 209658
|
| |
|
|
|
|
|
| |
It can not work, as libdl is always first in the lookup order,
even ahead of LD_PRELOAD-ed libraries.
llvm-svn: 209657
|