From d4429214a2dffcfd8f97956ac8b1a67c4795d242 Mon Sep 17 00:00:00 2001 From: Kostya Serebryany Date: Wed, 26 Jun 2013 09:49:52 +0000 Subject: [asan] workaround for PR16277: don't instrument AllocaInstr with alignment more than the redzone size git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184928 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Instrumentation/AddressSanitizer/basic.ll | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'test/Instrumentation') diff --git a/test/Instrumentation/AddressSanitizer/basic.ll b/test/Instrumentation/AddressSanitizer/basic.ll index fb32e70..6002b9e 100644 --- a/test/Instrumentation/AddressSanitizer/basic.ll +++ b/test/Instrumentation/AddressSanitizer/basic.ll @@ -89,6 +89,25 @@ entry: ; CHECK-NOT: = alloca ; CHECK: ret void +; Check that asan does not touch allocas with alignment > 32. +define void @alloca_alignment_test() sanitize_address { +entry: + %x = alloca [10 x i8], align 64 + %y = alloca [10 x i8], align 128 + %z = alloca [10 x i8], align 256 + call void @alloca_test_use([10 x i8]* %x) + call void @alloca_test_use([10 x i8]* %y) + call void @alloca_test_use([10 x i8]* %z) + ret void +} + +; CHECK: define void @alloca_alignment_test() +; CHECK: = alloca{{.*}} align 64 +; CHECK: = alloca{{.*}} align 128 +; CHECK: = alloca{{.*}} align 256 +; CHECK: ret void + + define void @LongDoubleTest(x86_fp80* nocapture %a) nounwind uwtable sanitize_address { entry: store x86_fp80 0xK3FFF8000000000000000, x86_fp80* %a, align 16 -- cgit v1.1