diff --git a/llvm/lib/VMCore/Verifier.cpp b/llvm/lib/VMCore/Verifier.cpp index 790a994f793b203729db3f91fb312bd5679e6771..384aa3ec4bcef1e661a9478e4f6aecf8b0e66be1 100644 --- a/llvm/lib/VMCore/Verifier.cpp +++ b/llvm/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(CI.getOperand(1))) + Assert1(C && !isa(C), + "invalid llvm.dbg.declare intrinsic call", &CI); + break; case Intrinsic::memcpy: case Intrinsic::memmove: case Intrinsic::memset: diff --git a/llvm/test/CodeGen/Generic/2006-03-27-DebugInfoNULLDeclare.ll b/llvm/test/CodeGen/Generic/2006-03-27-DebugInfoNULLDeclare.ll deleted file mode 100644 index 2f2fb8b2e9fd2a1e2332c3de91a916574bec5aec..0000000000000000000000000000000000000000 --- a/llvm/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/llvm/test/DebugInfo/2009-01-15-dbg_declare.ll b/llvm/test/DebugInfo/2009-01-15-dbg_declare.ll index 475949a14e30fc039e6f7fc0a7428ed697ef7d43..3f78d0d74953de023979b2aeecbf0d107a8a7b6c 100644 --- a/llvm/test/DebugInfo/2009-01-15-dbg_declare.ll +++ b/llvm/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 }