Verify Intrinsic::dbg_declare.
authorDevang Patel <dpatel@apple.com>
Mon, 19 Jan 2009 21:00:48 +0000 (21:00 +0000)
committerDevang Patel <dpatel@apple.com>
Mon, 19 Jan 2009 21:00:48 +0000 (21:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62526 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Verifier.cpp
test/CodeGen/Generic/2006-03-27-DebugInfoNULLDeclare.ll [deleted file]
test/DebugInfo/2009-01-15-dbg_declare.ll

index 790a994f793b203729db3f91fb312bd5679e6771..384aa3ec4bcef1e661a9478e4f6aecf8b0e66be1 100644 (file)
@@ -1332,6 +1332,11 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
   switch (ID) {
   default:
     break;
+  case Intrinsic::dbg_declare:         // llvm.dbg.declare
+    if (Constant *C = dyn_cast<Constant>(CI.getOperand(1)))
+      Assert1(C && !isa<ConstantPointerNull>(C),
+              "invalid llvm.dbg.declare intrinsic call", &CI);
+    break;
   case Intrinsic::memcpy:
   case Intrinsic::memmove:
   case Intrinsic::memset:
diff --git a/test/CodeGen/Generic/2006-03-27-DebugInfoNULLDeclare.ll b/test/CodeGen/Generic/2006-03-27-DebugInfoNULLDeclare.ll
deleted file mode 100644 (file)
index 2f2fb8b..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-; RUN: llvm-as < %s | llc
-
-declare void @llvm.dbg.declare({  }*, {  }*)
-
-define void @foo() {
-        call void @llvm.dbg.declare( {  }* null, {  }* null )
-        ret void
-}
-
index 475949a14e30fc039e6f7fc0a7428ed697ef7d43..3f78d0d74953de023979b2aeecbf0d107a8a7b6c 100644 (file)
@@ -8,7 +8,9 @@ declare void @llvm.dbg.declare({ }*, { }*) nounwind
 
 define i32 @isascii(i32 %_c) nounwind {
 entry:
-        call void @llvm.dbg.declare({ }* null, { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable24 to { }*))
+       %j = alloca i32
+       %0 = bitcast i32* %j to { }*
+        call void @llvm.dbg.declare({ }* %0, { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable24 to { }*))
         unreachable
 }