This is an archive of the discontinued LLVM Phabricator instance.

[tsan] Cast floating-point types correctly when instrumenting atomic accesses
ClosedPublic

Authored by kubamracek on Nov 2 2016, 4:33 PM.

Details

Diff Detail

Event Timeline

kubamracek updated this revision to Diff 76804.Nov 2 2016, 4:33 PM
kubamracek retitled this revision from to [tsan] Cast floating-point types correctly when instrumenting atomic accesses.
kubamracek updated this object.
kubamracek added reviewers: dvyukov, zaks.anna.
kubamracek set the repository for this revision to rL LLVM.
kubamracek added a project: Restricted Project.
kubamracek added a subscriber: llvm-commits.
kubamracek updated this revision to Diff 76805.Nov 2 2016, 4:36 PM
kubamracek removed rL LLVM as the repository for this revision.
dvyukov accepted this revision.Nov 6 2016, 7:42 PM
dvyukov edited edge metadata.

LGTM with a nit

lib/Transforms/Instrumentation/ThreadSanitizer.cpp
551–553

It does not look worthwhile to keep this helper function around at all now. Especially that you call CreateBitOrPointerCast directly in instrumentAtomic, so now it's not even a single point of extension. Just replace calls with CreateBitOrPointerCast and remove this function.

This revision is now accepted and ready to land.Nov 6 2016, 7:42 PM
This revision was automatically updated to reflect the committed changes.

Landed in r286135 (LLVM part) and r286136 (compiler-rt part).