From 18e92078f2e190820071fb49d78ebe3fea3f299d Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Mon, 16 Mar 2015 20:24:02 +0000 Subject: [PATCH] Verifier: Remove unnecessary double-checks Turns out `visitIntrinsicFunctionCall()` descends into all operands already, so explicitly descending in `visitDbgIntrinsic()` (part of r232296) isn't useful. Updating a testcase that doesn't really need `-verify-debug-info` (since r231082) as confirmation. llvm-svn: 232408 --- llvm/lib/IR/Verifier.cpp | 4 ---- llvm/test/DebugInfo/piece-verifier.ll | 6 ++++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp index 0b93b8a..ba33d79 100644 --- a/llvm/lib/IR/Verifier.cpp +++ b/llvm/lib/IR/Verifier.cpp @@ -3030,10 +3030,6 @@ void Verifier::visitDbgIntrinsic(StringRef Kind, DbgIntrinsicTy &DII) { Assert(isa(DII.getRawExpression()), "invalid llvm.dbg." + Kind + " intrinsic expression", &DII, DII.getRawExpression()); - - // Don't call visitMDNode(), since that will recurse through operands. - visitMDLocalVariable(*DII.getVariable()); - visitMDExpression(*DII.getExpression()); } void DebugInfoVerifier::verifyDebugInfo() { diff --git a/llvm/test/DebugInfo/piece-verifier.ll b/llvm/test/DebugInfo/piece-verifier.ll index 8c898b7f..fce88cd 100644 --- a/llvm/test/DebugInfo/piece-verifier.ll +++ b/llvm/test/DebugInfo/piece-verifier.ll @@ -1,4 +1,4 @@ -; RUN: not llvm-as -disable-output -verify-debug-info < %s 2>&1 | FileCheck %s +; RUN: not llvm-as -disable-output < %s 2>&1 | FileCheck %s target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-apple-macosx10.9.0" @@ -50,5 +50,7 @@ attributes #1 = { nounwind readnone } !24 = !MDExpression(DW_OP_deref, DW_OP_bit_piece, 0, 64) !25 = !{} ; This expression has elements after DW_OP_bit_piece. -; CHECK: DIExpression does not Verify +; CHECK: invalid expression +; CHECK-NEXT: !MDExpression({{[0-9]+}}, 64, 32, {{[0-9]+}}) +; CHECK-NOT: invalid expression !27 = !MDExpression(DW_OP_bit_piece, 64, 32, DW_OP_deref) -- 2.7.4