glider created this revision.
glider added a reviewer: melver.
Herald added subscribers: pengfei, jfb, kristof.beyls.
glider requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.

Looks like non-x86 bots are unhappy with inclusion of <stdatomic.h>
e.g.:

clang-armv7-vfpv3-2stage - 
https://lab.llvm.org/buildbot/#/builders/182/builds/626
clang-ppc64le-linux - https://lab.llvm.org/buildbot/#/builders/76/builds/3619
llvm-clang-win-x-armv7l - 
https://lab.llvm.org/buildbot/#/builders/60/builds/4514

Move the test to CodeGen/X86 to fix the builds.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D108555

Files:
  clang/test/CodeGen/X86/sanitize-thread-disable.c
  clang/test/CodeGen/sanitize-thread-disable.c


Index: clang/test/CodeGen/sanitize-thread-disable.c
===================================================================
--- /dev/null
+++ clang/test/CodeGen/sanitize-thread-disable.c
@@ -1,57 +0,0 @@
-// RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - %s | FileCheck 
-check-prefixes CHECK,WITHOUT %s
-// RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - %s 
-fsanitize=thread | FileCheck -check-prefixes CHECK,TSAN %s
-
-#include <stdatomic.h>
-
-// Instrumented function.
-// TSan inserts calls to __tsan_func_entry() and __tsan_func_exit() to 
prologue/epilogue.
-// Non-atomic loads are instrumented with __tsan_readXXX(), atomic loads - with
-// __tsan_atomicXXX_load().
-//
-// CHECK-LABEL: @instrumented1
-// TSAN: call void @__tsan_func_entry
-// WITHOUT-NOT: call void @__tsan_func_entry
-// TSAN: call void @__tsan_read4
-// WITHOUT-NOT: call void @__tsan_read4
-// TSAN: call i32 @__tsan_atomic32_load
-// WITHOUT-NOT: call i32 @__tsan_atomic32_load
-// TSAN: call void @__tsan_func_exit
-// WITHOUT-NOT: call void @__tsan_func_exit
-// CHECK: ret i32
-int instrumented1(int *a, _Atomic int *b) {
-  return *a + atomic_load(b);
-}
-
-// Function with no_sanitize("thread").
-// TSan only inserts instrumentation necessary to prevent false positives: 
calls are inserted for
-// function entry/exit and atomics, but not plain memory accesses.
-//
-// CHECK-LABEL: @no_false_positives1
-// TSAN: call void @__tsan_func_entry
-// WITHOUT-NOT: call void @__tsan_func_entry
-// TSAN-NOT: call void @__tsan_read4
-// WITHOUT-NOT: call void @__tsan_read4
-// TSAN: call i32 @__tsan_atomic32_load
-// WITHOUT-NOT: call i32 @__tsan_atomic32_load
-// TSAN: call void @__tsan_func_exit
-// WITHOUT-NOT: call void @__tsan_func_exit
-// CHECK: ret i32
-__attribute__((no_sanitize("thread"))) int no_false_positives1(int *a, _Atomic 
int *b) {
-  return *a + atomic_load(b);
-}
-
-// Function with disable_sanitizer_instrumentation: no instrumentation at all.
-//
-// CHECK-LABEL: @no_instrumentation1
-// TSAN-NOT: call void @__tsan_func_entry
-// WITHOUT-NOT: call void @__tsan_func_entry
-// TSAN-NOT: call void @__tsan_read4
-// WITHOUT-NOT: call void @__tsan_read4
-// TSAN-NOT: call i32 @__tsan_atomic32_load
-// WITHOUT-NOT: call i32 @__tsan_atomic32_load
-// TSAN-NOT: call void @__tsan_func_exit
-// WITHOUT-NOT: call void @__tsan_func_exit
-// CHECK: ret i32
-__attribute__((disable_sanitizer_instrumentation)) int no_instrumentation1(int 
*a, _Atomic int *b) {
-  return *a + atomic_load(b);
-}


Index: clang/test/CodeGen/sanitize-thread-disable.c
===================================================================
--- /dev/null
+++ clang/test/CodeGen/sanitize-thread-disable.c
@@ -1,57 +0,0 @@
-// RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - %s | FileCheck -check-prefixes CHECK,WITHOUT %s
-// RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - %s -fsanitize=thread | FileCheck -check-prefixes CHECK,TSAN %s
-
-#include <stdatomic.h>
-
-// Instrumented function.
-// TSan inserts calls to __tsan_func_entry() and __tsan_func_exit() to prologue/epilogue.
-// Non-atomic loads are instrumented with __tsan_readXXX(), atomic loads - with
-// __tsan_atomicXXX_load().
-//
-// CHECK-LABEL: @instrumented1
-// TSAN: call void @__tsan_func_entry
-// WITHOUT-NOT: call void @__tsan_func_entry
-// TSAN: call void @__tsan_read4
-// WITHOUT-NOT: call void @__tsan_read4
-// TSAN: call i32 @__tsan_atomic32_load
-// WITHOUT-NOT: call i32 @__tsan_atomic32_load
-// TSAN: call void @__tsan_func_exit
-// WITHOUT-NOT: call void @__tsan_func_exit
-// CHECK: ret i32
-int instrumented1(int *a, _Atomic int *b) {
-  return *a + atomic_load(b);
-}
-
-// Function with no_sanitize("thread").
-// TSan only inserts instrumentation necessary to prevent false positives: calls are inserted for
-// function entry/exit and atomics, but not plain memory accesses.
-//
-// CHECK-LABEL: @no_false_positives1
-// TSAN: call void @__tsan_func_entry
-// WITHOUT-NOT: call void @__tsan_func_entry
-// TSAN-NOT: call void @__tsan_read4
-// WITHOUT-NOT: call void @__tsan_read4
-// TSAN: call i32 @__tsan_atomic32_load
-// WITHOUT-NOT: call i32 @__tsan_atomic32_load
-// TSAN: call void @__tsan_func_exit
-// WITHOUT-NOT: call void @__tsan_func_exit
-// CHECK: ret i32
-__attribute__((no_sanitize("thread"))) int no_false_positives1(int *a, _Atomic int *b) {
-  return *a + atomic_load(b);
-}
-
-// Function with disable_sanitizer_instrumentation: no instrumentation at all.
-//
-// CHECK-LABEL: @no_instrumentation1
-// TSAN-NOT: call void @__tsan_func_entry
-// WITHOUT-NOT: call void @__tsan_func_entry
-// TSAN-NOT: call void @__tsan_read4
-// WITHOUT-NOT: call void @__tsan_read4
-// TSAN-NOT: call i32 @__tsan_atomic32_load
-// WITHOUT-NOT: call i32 @__tsan_atomic32_load
-// TSAN-NOT: call void @__tsan_func_exit
-// WITHOUT-NOT: call void @__tsan_func_exit
-// CHECK: ret i32
-__attribute__((disable_sanitizer_instrumentation)) int no_instrumentation1(int *a, _Atomic int *b) {
-  return *a + atomic_load(b);
-}
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to