[asan] add llvm-ish test for memset/etc instrumentation
authorKostya Serebryany <kcc@google.com>
Mon, 21 Apr 2014 11:57:43 +0000 (11:57 +0000)
committerKostya Serebryany <kcc@google.com>
Mon, 21 Apr 2014 11:57:43 +0000 (11:57 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206747 91177308-0d34-0410-b5e6-96231b3b80d8

test/Instrumentation/AddressSanitizer/basic.ll

index 4863a3dea96796541e638e4198a64ecbf2706ae6..7a125a396433581828af8e0005d1f68a19ae2d5d 100644 (file)
@@ -139,4 +139,21 @@ entry:
 ; CHECK-NOT: __asan_report
 ; CHECK: ret i32
 
+declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1) nounwind
+declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) nounwind
+declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) nounwind
+
+define void @memintr_test(i8* %a, i8* %b) nounwind uwtable sanitize_address {
+  entry:
+  tail call void @llvm.memset.p0i8.i64(i8* %a, i8 0, i64 100, i32 1, i1 false)
+  tail call void @llvm.memmove.p0i8.p0i8.i64(i8* %a, i8* %b, i64 100, i32 1, i1 false)
+  tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %a, i8* %b, i64 100, i32 1, i1 false)
+  ret void
+}
+
+; CHECK-LABEL: memintr_test
+; CHECK: __asan_memset
+; CHECK: __asan_memmove
+; CHECK: __asan_memcpy
+; CHECK: ret void