Debug Info: enable verifying by default and disable testing cases that fail.
authorManman Ren <mren@apple.com>
Fri, 19 Jul 2013 00:31:03 +0000 (00:31 +0000)
committerManman Ren <mren@apple.com>
Fri, 19 Jul 2013 00:31:03 +0000 (00:31 +0000)
commitcd26257c85ba52d83b3febcef5c40c5153836062
tree5dbd1c12a02dafa666fa40681fd1ca14598929c6
parent4e3898056e1aaa8eaaf829cda578651667878843
Debug Info: enable verifying by default and disable testing cases that fail.

1> Use DebugInfoFinder to find debug info MDNodes.
2> Add disable-debug-info-verifier to disable verifying debug info.
3> Disable verifying for testing cases that fail (will update the testing cases
   later on).
4> MDNodes generated by clang can have empty filename for TAG_inheritance and
   TAG_friend, so DIType::Verify is modified accordingly.

Note that DebugInfoFinder does not list all debug info MDNode.
For example, clang can generate:
metadata !{i32 786468}, which will fail to verify.
This MDNode is used by debug info but not included in DebugInfoFinder.
This MDNode is generated as a temporary node in DIBuilder::createFunction
  Value *TElts[] = { GetTagConstant(VMContext, DW_TAG_base_type) };
  MDNode::getTemporary(VMContext, TElts)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186634 91177308-0d34-0410-b5e6-96231b3b80d8
17 files changed:
lib/IR/DebugInfo.cpp
lib/IR/Verifier.cpp
test/CodeGen/X86/2010-05-26-DotDebugLoc.ll
test/CodeGen/X86/2010-08-04-StackVariable.ll
test/CodeGen/X86/dbg-i128-const.ll
test/CodeGen/X86/dbg-subrange.ll
test/CodeGen/X86/dbg-value-dag-combine.ll
test/CodeGen/X86/dbg-value-isel.ll
test/CodeGen/X86/dbg-value-location.ll
test/DebugInfo/2010-04-06-NestedFnDbgInfo.ll
test/DebugInfo/2010-04-19-FramePtr.ll
test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll
test/DebugInfo/X86/2011-12-16-BadStructRef.ll
test/DebugInfo/X86/dbg-value-inlined-parameter.ll
test/DebugInfo/X86/linkage-name.ll
test/DebugInfo/X86/low-pc-cu.ll
test/DebugInfo/X86/multiple-at-const-val.ll