Verifier: Remove unnecessary double-checks
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Mon, 16 Mar 2015 20:24:02 +0000 (20:24 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Mon, 16 Mar 2015 20:24:02 +0000 (20:24 +0000)
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

lib/IR/Verifier.cpp
test/DebugInfo/piece-verifier.ll

index 0b93b8a84f1de30657edea7b1ffd791718ff01d3..ba33d792cb20243a94a46e8be769dc3041847eba 100644 (file)
@@ -3030,10 +3030,6 @@ void Verifier::visitDbgIntrinsic(StringRef Kind, DbgIntrinsicTy &DII) {
   Assert(isa<MDExpression>(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() {
index 8c898b7f46a5db97cea8f6941e51c24a1034f8ed..fce88cdf81582f28f7352bb92df1adec0c248b3a 100644 (file)
@@ -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)