diff options
Diffstat (limited to 'test/Instrumentation/AddressSanitizer/stack_layout.ll')
-rw-r--r-- | test/Instrumentation/AddressSanitizer/stack_layout.ll | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/test/Instrumentation/AddressSanitizer/stack_layout.ll b/test/Instrumentation/AddressSanitizer/stack_layout.ll index c027acf..97e3bbb 100644 --- a/test/Instrumentation/AddressSanitizer/stack_layout.ll +++ b/test/Instrumentation/AddressSanitizer/stack_layout.ll @@ -1,6 +1,9 @@ ; Test the ASan's stack layout. ; More tests in tests/Transforms/Utils/ASanStackFrameLayoutTest.cpp -; RUN: opt < %s -asan -asan-module -S | FileCheck %s +; RUN: opt < %s -asan -asan-module -asan-stack-dynamic-alloca=0 -S \ +; RUN: | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-STATIC +; RUN: opt < %s -asan -asan-module -asan-stack-dynamic-alloca=1 -S \ +; RUN: | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-DYNAMIC target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" target triple = "x86_64-unknown-linux-gnu" @@ -14,7 +17,10 @@ declare void @Use(i8*) define void @Func1() sanitize_address { entry: ; CHECK-LABEL: Func1 -; CHECK: alloca [192 x i8] + +; CHECK-STATIC: alloca [192 x i8] +; CHECK-DYNAMIC: alloca i8, i64 192 + ; CHECK-NOT: alloca ; CHECK: ret void %XXX = alloca [10 x i8], align 1 @@ -26,7 +32,10 @@ entry: define void @Func2() sanitize_address { entry: ; CHECK-LABEL: Func2 -; CHECK: alloca [864 x i8] + +; CHECK-STATIC: alloca [864 x i8] +; CHECK-DYNAMIC: alloca i8, i64 864 + ; CHECK-NOT: alloca ; CHECK: ret void %AAA = alloca [5 x i8], align 1 @@ -39,7 +48,10 @@ entry: define void @Func3() sanitize_address { entry: ; CHECK-LABEL: Func3 -; CHECK: alloca [768 x i8] + +; CHECK-STATIC: alloca [768 x i8] +; CHECK-DYNAMIC: alloca i8, i64 768 + ; CHECK-NOT: alloca ; CHECK: ret void %AAA = alloca [128 x i8], align 16 |