aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/VMCore/Verifier.cpp5
-rw-r--r--test/CodeGen/Generic/2006-03-27-DebugInfoNULLDeclare.ll9
-rw-r--r--test/DebugInfo/2009-01-15-dbg_declare.ll4
3 files changed, 8 insertions, 10 deletions
diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp
index 790a994..384aa3e 100644
--- a/lib/VMCore/Verifier.cpp
+++ b/lib/VMCore/Verifier.cpp
@@ -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
index 2f2fb8b..0000000
--- a/test/CodeGen/Generic/2006-03-27-DebugInfoNULLDeclare.ll
+++ /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
-}
-
diff --git a/test/DebugInfo/2009-01-15-dbg_declare.ll b/test/DebugInfo/2009-01-15-dbg_declare.ll
index 475949a..3f78d0d 100644
--- a/test/DebugInfo/2009-01-15-dbg_declare.ll
+++ b/test/DebugInfo/2009-01-15-dbg_declare.ll
@@ -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
}