[compiler-rt] r174046 - tsan: do not check for intersecting memory accesses in Go (all accesses are 1 byte)

Dmitry Vyukov dvyukov at google.com
Wed Jan 30 23:47:58 PST 2013


Author: dvyukov
Date: Thu Jan 31 01:47:58 2013
New Revision: 174046

URL: http://llvm.org/viewvc/llvm-project?rev=174046&view=rev
Log:
tsan: do not check for intersecting memory accesses in Go (all accesses are 1 byte)

Modified:
    compiler-rt/trunk/lib/tsan/rtl/tsan_update_shadow_word_inl.h

Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_update_shadow_word_inl.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_update_shadow_word_inl.h?rev=174046&r1=174045&r2=174046&view=diff
==============================================================================
--- compiler-rt/trunk/lib/tsan/rtl/tsan_update_shadow_word_inl.h (original)
+++ compiler-rt/trunk/lib/tsan/rtl/tsan_update_shadow_word_inl.h Thu Jan 31 01:47:58 2013
@@ -56,9 +56,9 @@ do {
       break;
     goto RACE;
   }
-
   // Do the memory access intersect?
-  if (Shadow::TwoRangesIntersect(old, cur, kAccessSize)) {
+  // In Go all memory accesses are 1 byte, so there can't be no intersections.
+  if (kCppMode && Shadow::TwoRangesIntersect(old, cur, kAccessSize)) {
     StatInc(thr, StatShadowIntersect);
     if (Shadow::TidsAreEqual(old, cur)) {
       StatInc(thr, StatShadowSameThread);





More information about the llvm-commits mailing list