Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(519)

Unified Diff: tests_lit/asan_tests/alignment.ll

Issue 2095763002: Instrumented local variables and implemented runtime. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fixed alloca sort and cleaned test Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tests_lit/asan_tests/alignment.ll
diff --git a/tests_lit/asan_tests/alignment.ll b/tests_lit/asan_tests/alignment.ll
new file mode 100644
index 0000000000000000000000000000000000000000..fa7e2649d436ddd95415feed865fc0dde326efc9
--- /dev/null
+++ b/tests_lit/asan_tests/alignment.ll
@@ -0,0 +1,44 @@
+; Translate with -fsanitize-address and -O2 to test alignment and ordering of
+; redzones when allocas are coalesced.
+
+; REQUIRES: target_x8632
+; REQUIRES: no_allow_minimal
+
+; RUN: %p2i --filetype=obj --disassemble --target x8632 -i %s --args -O2 \
+; RUN: -allow-externally-defined-symbols -fsanitize-address | FileCheck %s
+
+define internal i32 @func(i32 %arg1, i32 %arg2) {
+ %l1 = alloca i8, i32 4, align 4
+ %l2 = alloca i8, i32 5, align 1
+ ret i32 42
+}
+
+; CHECK: func
+; CHECK-NEXT: sub esp,0xbc
+; CHECK-NEXT: lea eax,[esp+0x10]
+; CHECK-NEXT: mov DWORD PTR [esp],eax
+; CHECK-NEXT: mov DWORD PTR [esp+0x4],0x20
+; CHECK-NEXT: __asan_poison
+; CHECK-NEXT: lea eax,[esp+0x74]
+; CHECK-NEXT: mov DWORD PTR [esp],eax
+; CHECK-NEXT: mov DWORD PTR [esp+0x4],0x3c
+; CHECK-NEXT: __asan_poison
+; CHECK-NEXT: lea eax,[esp+0x35]
+; CHECK-NEXT: mov DWORD PTR [esp],eax
+; CHECK-NEXT: mov DWORD PTR [esp+0x4],0x3b
+; CHECK-NEXT: __asan_poison
+; CHECK-NEXT: lea eax,[esp+0x74]
+; CHECK-NEXT: mov DWORD PTR [esp],eax
+; CHECK-NEXT: mov DWORD PTR [esp+0x4],0x3c
+; CHECK-NEXT: __asan_unpoison
+; CHECK-NEXT: lea eax,[esp+0x35]
+; CHECK-NEXT: mov DWORD PTR [esp],eax
+; CHECK-NEXT: mov DWORD PTR [esp+0x4],0x3b
+; CHECK-NEXT: __asan_unpoison
+; CHECK-NEXT: lea eax,[esp+0x10]
+; CHECK-NEXT: mov DWORD PTR [esp],eax
+; CHECK-NEXT: mov DWORD PTR [esp+0x4],0x20
+; CHECK-NEXT: __asan_unpoison
+; CHECK-NEXT: mov eax,0x2a
+; CHECK-NEXT: add esp,0xbc
+; CHECK-NEXT: ret

Powered by Google App Engine
This is Rietveld 408576698