aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2009-01-19 21:00:48 +0000
committerDevang Patel <dpatel@apple.com>2009-01-19 21:00:48 +0000
commitb11cdb3db7b5102c8a6a8fbf2a095efea6003767 (patch)
treef0a1ff832cb982865c53e4a350ba1b7d7d202380
parentb41cbd325d707a2d7aad9e599f3dcbcb73f7271c (diff)
downloadexternal_llvm-b11cdb3db7b5102c8a6a8fbf2a095efea6003767.zip
external_llvm-b11cdb3db7b5102c8a6a8fbf2a095efea6003767.tar.gz
external_llvm-b11cdb3db7b5102c8a6a8fbf2a095efea6003767.tar.bz2
Verify Intrinsic::dbg_declare.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62526 91177308-0d34-0410-b5e6-96231b3b80d8
-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
}