Author: vitalybuka Date: Fri Aug 23 18:31:38 2019 New Revision: 369830 URL: http://llvm.org/viewvc/llvm-project?rev=369830&view=rev Log: NFC: Rename some sanitizer related lifetime checks
Added: cfe/trunk/test/CodeGen/lifetime-sanitizer.c cfe/trunk/test/CodeGenCXX/lifetime-sanitizer.cpp Removed: cfe/trunk/test/CodeGen/lifetime-asan.c cfe/trunk/test/CodeGenCXX/lifetime-asan.cpp Removed: cfe/trunk/test/CodeGen/lifetime-asan.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/lifetime-asan.c?rev=369829&view=auto ============================================================================== --- cfe/trunk/test/CodeGen/lifetime-asan.c (original) +++ cfe/trunk/test/CodeGen/lifetime-asan.c (removed) @@ -1,21 +0,0 @@ -// 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 - -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* {{.*}}) - char A[10]; - return bar(A, 1); - // CHECK-ASAN-USE-AFTER-SCOPE: @llvm.lifetime.end.p0i8(i64 10, i8* {{.*}}) - } else { - // CHECK-ASAN-USE-AFTER-SCOPE: @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* {{.*}}) - } -} Added: cfe/trunk/test/CodeGen/lifetime-sanitizer.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/lifetime-sanitizer.c?rev=369830&view=auto ============================================================================== --- cfe/trunk/test/CodeGen/lifetime-sanitizer.c (added) +++ cfe/trunk/test/CodeGen/lifetime-sanitizer.c Fri Aug 23 18:31:38 2019 @@ -0,0 +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=LIFETIME + +extern int bar(char *A, int n); + +// CHECK-O0-NOT: @llvm.lifetime.start +int foo(int n) { + if (n) { + // LIFETIME: @llvm.lifetime.start.p0i8(i64 10, i8* {{.*}}) + char A[10]; + return bar(A, 1); + // LIFETIME: @llvm.lifetime.end.p0i8(i64 10, i8* {{.*}}) + } else { + // LIFETIME: @llvm.lifetime.start.p0i8(i64 20, i8* {{.*}}) + char A[20]; + return bar(A, 2); + // LIFETIME: @llvm.lifetime.end.p0i8(i64 20, i8* {{.*}}) + } +} Removed: cfe/trunk/test/CodeGenCXX/lifetime-asan.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/lifetime-asan.cpp?rev=369829&view=auto ============================================================================== --- cfe/trunk/test/CodeGenCXX/lifetime-asan.cpp (original) +++ cfe/trunk/test/CodeGenCXX/lifetime-asan.cpp (removed) @@ -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(); -} Added: cfe/trunk/test/CodeGenCXX/lifetime-sanitizer.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/lifetime-sanitizer.cpp?rev=369830&view=auto ============================================================================== --- cfe/trunk/test/CodeGenCXX/lifetime-sanitizer.cpp (added) +++ cfe/trunk/test/CodeGenCXX/lifetime-sanitizer.cpp Fri Aug 23 18:31:38 2019 @@ -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(); +} _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits