This is an archive of the discontinued LLVM Phabricator instance.

Support: Clean up TSan annotations.
ClosedPublic

Authored by pcc on Aug 18 2015, 3:10 PM.

Details

Summary

Remove support for Valgrind-based TSan, which hasn't been maintained for a
few years. We now use the TSan annotations only if LLVM is compiled with
-fsanitize=thread. We no longer need the weak function definitions as we
are guaranteed that our program is linked directly with the TSan runtime.

Diff Detail

Repository
rL LLVM

Event Timeline

pcc updated this revision to Diff 32461.Aug 18 2015, 3:10 PM
pcc retitled this revision from to Support: Clean up TSan annotations..
pcc updated this object.
pcc added a reviewer: eugenis.
pcc added subscribers: llvm-commits, rnk.
eugenis accepted this revision.Aug 18 2015, 3:12 PM
eugenis edited edge metadata.
eugenis added inline comments.
lib/Support/ManagedStatic.cpp
17 ↗(On Diff #32461)

why do you need this?

lib/Support/Statistic.cpp
27 ↗(On Diff #32461)

why do you need this? Part of the following change?

This revision is now accepted and ready to land.Aug 18 2015, 3:12 PM
pcc added inline comments.Aug 18 2015, 3:18 PM
lib/Support/ManagedStatic.cpp
17 ↗(On Diff #32461)

This file uses tsan annotations, so it needs this header. I imagine we got away with this until now because ManagedStatic.h included Valgrind.h.

lib/Support/Statistic.cpp
27 ↗(On Diff #32461)

Likewise

This revision was automatically updated to reflect the committed changes.

Isn't llvm now compiled with C++11? If so, it would make sense to replace these annotations with proper code. Uses of the annotations and code around looks terrifying.