diff options
| author | Vitaly Buka <vitalybuka@google.com> | 2019-08-24 01:31:38 +0000 |
|---|---|---|
| committer | Vitaly Buka <vitalybuka@google.com> | 2019-08-24 01:31:38 +0000 |
| commit | c34b7aaefc29e7d3d27edc1a05ec146f5006150c (patch) | |
| tree | f6fe5fcf78581e40ca385b92b79c136313a426bd | |
| parent | 7a6182d48d63df5f2c8fbb112e0dc9c03c7e878a (diff) | |
| download | bcm5719-llvm-c34b7aaefc29e7d3d27edc1a05ec146f5006150c.tar.gz bcm5719-llvm-c34b7aaefc29e7d3d27edc1a05ec146f5006150c.zip | |
NFC: Rename some sanitizer related lifetime checks
llvm-svn: 369830
| -rw-r--r-- | clang/test/CodeGen/lifetime-sanitizer.c (renamed from clang/test/CodeGen/lifetime-asan.c) | 10 | ||||
| -rw-r--r-- | clang/test/CodeGenCXX/lifetime-asan.cpp | 42 | ||||
| -rw-r--r-- | clang/test/CodeGenCXX/lifetime-sanitizer.cpp | 50 |
3 files changed, 55 insertions, 47 deletions
diff --git a/clang/test/CodeGen/lifetime-asan.c b/clang/test/CodeGen/lifetime-sanitizer.c index c5f25a2eaf7..7979c2679a9 100644 --- a/clang/test/CodeGen/lifetime-asan.c +++ b/clang/test/CodeGen/lifetime-sanitizer.c @@ -1,21 +1,21 @@ // RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - -O0 %s | FileCheck %s -check-prefix=CHECK-O0 // RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - -O0 \ // RUN: -fsanitize=address -fsanitize-address-use-after-scope %s | \ -// RUN: FileCheck %s -check-prefix=CHECK-ASAN-USE-AFTER-SCOPE +// RUN: FileCheck %s -check-prefix=LIFETIME extern int bar(char *A, int n); // CHECK-O0-NOT: @llvm.lifetime.start int foo(int n) { if (n) { - // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.start.p0i8(i64 10, i8* {{.*}}) + // LIFETIME: @llvm.lifetime.start.p0i8(i64 10, i8* {{.*}}) char A[10]; return bar(A, 1); - // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.end.p0i8(i64 10, i8* {{.*}}) + // LIFETIME: @llvm.lifetime.end.p0i8(i64 10, i8* {{.*}}) } else { - // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.start.p0i8(i64 20, i8* {{.*}}) + // LIFETIME: @llvm.lifetime.start.p0i8(i64 20, i8* {{.*}}) char A[20]; return bar(A, 2); - // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.end.p0i8(i64 20, i8* {{.*}}) + // LIFETIME: @llvm.lifetime.end.p0i8(i64 20, i8* {{.*}}) } } diff --git a/clang/test/CodeGenCXX/lifetime-asan.cpp b/clang/test/CodeGenCXX/lifetime-asan.cpp deleted file mode 100644 index 9ccb28c876a..00000000000 --- a/clang/test/CodeGenCXX/lifetime-asan.cpp +++ /dev/null @@ -1,42 +0,0 @@ -// RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - -fno-exceptions -O0 %s | FileCheck %s -check-prefixes=CHECK,CHECK-O0 --implicit-check-not=llvm.lifetime -// RUN: %clang -target x86_64-linux-gnu -S -emit-llvm -o - -fno-exceptions -O0 \ -// RUN: -fsanitize=address -fsanitize-address-use-after-scope %s | \ -// RUN: FileCheck %s -check-prefixes=CHECK,CHECK-ASAN-USE-AFTER-SCOPE - -extern int bar(char *A, int n); - -struct X { X(); ~X(); int *p; }; -struct Y { Y(); int *p; }; - -extern "C" void a(), b(), c(), d(); - -// CHECK-LABEL: @_Z3foo -void foo(int n) { - // CHECK: call void @a() - a(); - - // CHECK: call void @b() - // CHECK-ASAN-USE-AFTER-SCOPE: store i1 false - // CHECK-ASAN-USE-AFTER-SCOPE: store i1 false - // CHECK: br i1 - // - // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.start - // CHECK-ASAN-USE-AFTER-SCOPE: store i1 true - // CHECK: call void @_ZN1XC - // CHECK: br label - // - // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.start - // CHECK-ASAN-USE-AFTER-SCOPE: store i1 true - // CHECK: call void @_ZN1YC - // CHECK: br label - // - // CHECK: call void @c() - // CHECK-ASAN-USE-AFTER-SCOPE: br i1 - // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.end - // CHECK-ASAN-USE-AFTER-SCOPE: br i1 - // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.end - b(), (n ? X().p : Y().p), c(); - - // CHECK: call void @d() - d(); -} diff --git a/clang/test/CodeGenCXX/lifetime-sanitizer.cpp b/clang/test/CodeGenCXX/lifetime-sanitizer.cpp new file mode 100644 index 00000000000..8b6cb7dcc05 --- /dev/null +++ b/clang/test/CodeGenCXX/lifetime-sanitizer.cpp @@ -0,0 +1,50 @@ +// RUN: %clang -w -target x86_64-linux-gnu -S -emit-llvm -o - -fno-exceptions -O0 %s | \ +// RUN: FileCheck %s -check-prefixes=CHECK,CHECK-O0 --implicit-check-not=llvm.lifetime +// RUN: %clang -w -target x86_64-linux-gnu -S -emit-llvm -o - -fno-exceptions -O0 \ +// RUN: -fsanitize=address -fsanitize-address-use-after-scope %s | \ +// RUN: FileCheck %s -check-prefixes=CHECK,LIFETIME + +extern int bar(char *A, int n); + +struct X { + X(); + ~X(); + int *p; +}; +struct Y { + Y(); + int *p; +}; + +extern "C" void a(), b(), c(), d(); + +// CHECK-LABEL: @_Z3foo +void foo(int n) { + // CHECK-LABEL: call void @a() + a(); + + // CHECK-LABEL: call void @b() + // CHECK: store i1 false + // CHECK-LABEL: br i1 + // + // CHECK-LABEL: cond.true: + // LIFETIME: @llvm.lifetime.start + // LIFETIME: store i1 true + // LIFETIME: call void @_ZN1XC + // CHECK-LABEL: br label + // + // CHECK-LABEL: cond.false: + // LIFETIME: @llvm.lifetime.start + // LIFETIME: store i1 true + // LIFETIME: call void @_ZN1YC + // CHECK-LABEL: br label + // + // CHECK-LABEL: cond.end: + // CHECK: call void @c() + // LIFETIME: @llvm.lifetime.end + // LIFETIME: @llvm.lifetime.end + b(), (n ? X().p : Y().p), c(); + + // CHECK: call void @d() + d(); +} |

