From: Duncan P. N. Exon Smith Date: Mon, 16 Mar 2015 20:24:02 +0000 (+0000) Subject: Verifier: Remove unnecessary double-checks X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=c77560e2190c991f0e8b0c73e8931f19c03307e6;p=oota-llvm.git 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232408 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/IR/Verifier.cpp b/lib/IR/Verifier.cpp index 0b93b8a84f1..ba33d792cb2 100644 --- a/lib/IR/Verifier.cpp +++ b/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/test/DebugInfo/piece-verifier.ll b/test/DebugInfo/piece-verifier.ll index 8c898b7f46a..fce88cdf815 100644 --- a/test/DebugInfo/piece-verifier.ll +++ b/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)