Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
#
b3321349 |
| 02-Dec-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: new runtime (v3)
This change switches tsan to the new runtime which features: - 2x smaller shadow memory (2x of app memory) - faster fully vectorized race detection - small fixed-size vecto
tsan: new runtime (v3)
This change switches tsan to the new runtime which features: - 2x smaller shadow memory (2x of app memory) - faster fully vectorized race detection - small fixed-size vector clocks (512b) - fast vectorized vector clock operations - unlimited number of alive threads/goroutimes
Depends on D112602.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D112603
show more ...
|
#
396113c1 |
| 09-Dec-2021 |
Jonas Devlieghere <jonas@devlieghere.com> |
Revert "tsan: new runtime (v3)"
This reverts commit 5a33e412815b8847610425a2a3b86d2c7c313b71 becuase it breaks LLDB.
https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/39208/
|
#
5a33e412 |
| 02-Dec-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: new runtime (v3)
This change switches tsan to the new runtime which features: - 2x smaller shadow memory (2x of app memory) - faster fully vectorized race detection - small fixed-size vecto
tsan: new runtime (v3)
This change switches tsan to the new runtime which features: - 2x smaller shadow memory (2x of app memory) - faster fully vectorized race detection - small fixed-size vector clocks (512b) - fast vectorized vector clock operations - unlimited number of alive threads/goroutimes
Depends on D112602.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D112603
show more ...
|
#
09859113 |
| 01-Dec-2021 |
Dmitry Vyukov <dvyukov@google.com> |
Revert "tsan: new runtime (v3)"
This reverts commit 66d4ce7e26a5ab00f7e4946b6e1bac8f805010fa.
Chromium tests started failing: https://bugs.chromium.org/p/chromium/issues/detail?id=1275581
|
Revision tags: llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1 |
|
#
66d4ce7e |
| 27-Apr-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: new runtime (v3)
This change switches tsan to the new runtime which features: - 2x smaller shadow memory (2x of app memory) - faster fully vectorized race detection - small fixed-size vecto
tsan: new runtime (v3)
This change switches tsan to the new runtime which features: - 2x smaller shadow memory (2x of app memory) - faster fully vectorized race detection - small fixed-size vector clocks (512b) - fast vectorized vector clock operations - unlimited number of alive threads/goroutimes
Depends on D112602.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D112603
show more ...
|
#
1150f02c |
| 24-Nov-2021 |
Weverything <rtrieu@google.com> |
Revert "tsan: new runtime (v3)"
This reverts commit ebd47b0fb78fa11758da6ffcd3e6b415cbb8fa28. This was causing unexpected behavior in programs.
|
#
ebd47b0f |
| 27-Apr-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: new runtime (v3)
This change switches tsan to the new runtime which features: - 2x smaller shadow memory (2x of app memory) - faster fully vectorized race detection - small fixed-size vecto
tsan: new runtime (v3)
This change switches tsan to the new runtime which features: - 2x smaller shadow memory (2x of app memory) - faster fully vectorized race detection - small fixed-size vector clocks (512b) - fast vectorized vector clock operations - unlimited number of alive threads/goroutimes
Differential Revision: https://reviews.llvm.org/D112603
show more ...
|
#
5f18ae39 |
| 22-Nov-2021 |
Dmitry Vyukov <dvyukov@google.com> |
Revert "tsan: new runtime (v3)"
Summary: This reverts commit 1784fe0532a69ead17793bced060a9bf9d232027.
Broke some bots: https://lab.llvm.org/buildbot#builders/57/builds/12365 http://green.lab.llvm.
Revert "tsan: new runtime (v3)"
Summary: This reverts commit 1784fe0532a69ead17793bced060a9bf9d232027.
Broke some bots: https://lab.llvm.org/buildbot#builders/57/builds/12365 http://green.lab.llvm.org/green/job/clang-stage1-RA/25658/
Reviewers: vitalybuka, melver
Subscribers:
show more ...
|
#
1784fe05 |
| 27-Apr-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: new runtime (v3)
This change switches tsan to the new runtime which features: - 2x smaller shadow memory (2x of app memory) - faster fully vectorized race detection - small fixed-size vecto
tsan: new runtime (v3)
This change switches tsan to the new runtime which features: - 2x smaller shadow memory (2x of app memory) - faster fully vectorized race detection - small fixed-size vector clocks (512b) - fast vectorized vector clock operations - unlimited number of alive threads/goroutimes
Depends on D112602.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D112603
show more ...
|
#
79fbba9b |
| 12-Nov-2021 |
Dmitry Vyukov <dvyukov@google.com> |
Revert "tsan: new runtime (v3)"
Summary: This reverts commit ac95b8d9548cb3c07e60236d3e9e1fd05f79579b. There is a number of bot failures: http://45.33.8.238/mac/38755/step_4.txt https://green.lab.ll
Revert "tsan: new runtime (v3)"
Summary: This reverts commit ac95b8d9548cb3c07e60236d3e9e1fd05f79579b. There is a number of bot failures: http://45.33.8.238/mac/38755/step_4.txt https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/38135/consoleFull#-148886289949ba4694-19c4-4d7e-bec5-911270d8a58c
Reviewers: vitalybuka, melver
Subscribers:
show more ...
|
#
ac95b8d9 |
| 27-Apr-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: new runtime (v3)
This change switches tsan to the new runtime which features: - 2x smaller shadow memory (2x of app memory) - faster fully vectorized race detection - small fixed-size vecto
tsan: new runtime (v3)
This change switches tsan to the new runtime which features: - 2x smaller shadow memory (2x of app memory) - faster fully vectorized race detection - small fixed-size vector clocks (512b) - fast vectorized vector clock operations - unlimited number of alive threads/goroutimes
Depends on D112602.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D112603
show more ...
|
#
db2f870f |
| 21-Sep-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: reset destination range in Java heap move
Switch Java heap move to the new scheme required for the new tsan runtime. Instead of copying the shadow we reset the destination range. The new v3 tr
tsan: reset destination range in Java heap move
Switch Java heap move to the new scheme required for the new tsan runtime. Instead of copying the shadow we reset the destination range. The new v3 trace contains addresses of accesses, so we cannot simply copy the shadow. This can lead to false negatives, but cannot lead to false positives.
Depends on D110159.
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D110190
show more ...
|
#
6fe35ef4 |
| 21-Sep-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: fix debug format strings
Some of the DPrintf's currently produce -Wformat warnings if enabled. Fix these format strings.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D
tsan: fix debug format strings
Some of the DPrintf's currently produce -Wformat warnings if enabled. Fix these format strings.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D110131
show more ...
|
#
a82c7476 |
| 04-Aug-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: introduce RawShadow type
Currently we hardcode u64 type for shadow everywhere and do lots of uptr<->u64* casts. It makes it hard to change u64 to another type (e.g. u32) and makes it easy to i
tsan: introduce RawShadow type
Currently we hardcode u64 type for shadow everywhere and do lots of uptr<->u64* casts. It makes it hard to change u64 to another type (e.g. u32) and makes it easy to introduce bugs. Introduce RawShadow type and use it in MemToShadow, ShadowToMem, IsShadowMem and throughout the code base as u64 replacement. This makes it possible to change u64 to something else in future and generally improves static typing.
Depends on D107481.
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D107482
show more ...
|
#
e34d1942 |
| 03-Aug-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: fix a typo in debug output
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D107368
|
#
17f650cb |
| 29-Jul-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: s/CHECK/DCHECK/ in tsan_interface_java.cpp
We are very paranoid with CHECKs in all Java entry points. These CHECKs were added along with Java support. At that point it wasn't clear what exactl
tsan: s/CHECK/DCHECK/ in tsan_interface_java.cpp
We are very paranoid with CHECKs in all Java entry points. These CHECKs were added along with Java support. At that point it wasn't clear what exactly to expect from JVM part and if JVM part is correct or not. Thus CHECK paranoia. These CHECKs never fired in practice, but we pay runtime cost in every entry point all the time. Replace CHECKs with DCHECKs.
Depends on D107069.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D107071
show more ...
|
#
0bc10d9a |
| 29-Jul-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: restore Initialize call in Java entry points
We used to call Initialize in every Java point. That was removed in 6563bb53b5 ("tsan: don't use caller/current PC in Java interfaces"). The intent
tsan: restore Initialize call in Java entry points
We used to call Initialize in every Java point. That was removed in 6563bb53b5 ("tsan: don't use caller/current PC in Java interfaces"). The intention was to add a single Initialize to __tsan_java_init instead. Do that.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D107069
show more ...
|
#
a1a37ddc |
| 28-Jul-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: remove /**/ at the of multi-line macros
Prefer code readability over writeability.
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D106982
|
#
6563bb53 |
| 28-Jul-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: don't use caller/current PC in Java interfaces
Caller PC is plain harmful as native caller PC has nothing to do with Java code. Current PC is not particularly useful and may be somewhat confus
tsan: don't use caller/current PC in Java interfaces
Caller PC is plain harmful as native caller PC has nothing to do with Java code. Current PC is not particularly useful and may be somewhat confusing for Java users as it makes top frame to point to some magical __tsan function. But obtaining and using these PCs adds runtime cost for every java event. Remove these PCs. Rely only on official Java frames. It makes execution faster, code simpler and reports better.
Depends on D106956.
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D106957
show more ...
|
#
5237b140 |
| 28-Jul-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: print alloc stack for Java objects
We maintain information about Java allocations, but for some reason never printed it in reports. Print it.
Reviewed By: vitalybuka
Differential Revision: h
tsan: print alloc stack for Java objects
We maintain information about Java allocations, but for some reason never printed it in reports. Print it.
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D106956
show more ...
|
#
5acdfb7e |
| 28-Jul-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: remove unused pc arguments
Remove pc argument of ThreadIgnoreEnd, ThreadIgnoreSyncEnd and AcquireGlobal functions. It's unused and in some places we don't even have a pc and pass 0 anyway. Don
tsan: remove unused pc arguments
Remove pc argument of ThreadIgnoreEnd, ThreadIgnoreSyncEnd and AcquireGlobal functions. It's unused and in some places we don't even have a pc and pass 0 anyway. Don't confuse readers and don't pretend that pc is needed and that passing 0 is somehow deficient.
Use simpler convention for ThreadIgnoreBegin and ThreadIgnoreSyncBegin: accept only pc instread of pc+save_stack. 0 pc means "don't save stack".
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D106973
show more ...
|
#
0118a649 |
| 20-Jul-2021 |
Dmitry Vyukov <dvyukov@google.com> |
tsan: switch to the new sanitizer_common mutex
Now that sanitizer_common mutex has feature-parity with tsan mutex, switch tsan to the sanitizer_common mutex and remove tsan's custom mutex.
Reviewed
tsan: switch to the new sanitizer_common mutex
Now that sanitizer_common mutex has feature-parity with tsan mutex, switch tsan to the sanitizer_common mutex and remove tsan's custom mutex.
Reviewed By: vitalybuka, melver
Differential Revision: https://reviews.llvm.org/D106379
show more ...
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5 |
|
#
c0fa6322 |
| 11-Sep-2019 |
Vitaly Buka <vitalybuka@google.com> |
Remove NOLINTs from compiler-rt
llvm-svn: 371687
|
Revision tags: llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2 |
|
#
5a3bb1a4 |
| 01-Aug-2019 |
Nico Weber <nicolasweber@gmx.de> |
compiler-rt: Rename .cc file in lib/tsan/rtl to .cpp
Like r367463, but for tsan/rtl.
llvm-svn: 367564
|