From c575ec61ea6dd1d70fea61991830679b9a65aff4 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 28 May 2010 17:44:00 +0000 Subject: Fix lint's memcpy and memmove checks, and its basic block traversal. llvm-svn: 104970 --- llvm/test/Other/lint.ll | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'llvm/test/Other') diff --git a/llvm/test/Other/lint.ll b/llvm/test/Other/lint.ll index ea02d431ffd..bed3dba3a59 100644 --- a/llvm/test/Other/lint.ll +++ b/llvm/test/Other/lint.ll @@ -3,6 +3,7 @@ target datalayout = "e-p:64:64:64" declare fastcc void @bar() declare void @llvm.stackrestore(i8*) +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i32, i1) nounwind @CG = constant i32 7 @@ -54,6 +55,9 @@ define i32 @foo() noreturn { ; CHECK: Undefined behavior: Null pointer dereference call void @llvm.stackrestore(i8* null) +; CHECK: Write to read-only memory + call void @llvm.memcpy.p0i8.p0i8.i64(i8* bitcast (i32* @CG to i8*), i8* bitcast (i32* @CG to i8*), i64 1, i32 1, i1 0) + br label %next next: -- cgit v1.2.3