verify-di: Implement DebugInfoVerifier
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 15 Apr 2014 16:27:38 +0000 (16:27 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 15 Apr 2014 16:27:38 +0000 (16:27 +0000)
commit32791b02facda5b879f2bcf7dd3f1faea1e4782d
tree1fe8ec4d917295d0a54e8d538006088bb6b781e3
parentabf483ba524027caa3c5cd3de452d9feb11170d3
verify-di: Implement DebugInfoVerifier

Implement DebugInfoVerifier, which steals verification relying on
DebugInfoFinder from Verifier.

  - Adds LegacyDebugInfoVerifierPassPass, a ModulePass which wraps
    DebugInfoVerifier.  Uses -verify-di command-line flag.

  - Change verifyModule() to invoke DebugInfoVerifier as well as
    Verifier.

  - Add a call to createDebugInfoVerifierPass() wherever there was a
    call to createVerifierPass().

This implementation as a module pass should sidestep efficiency issues,
allowing us to turn debug info verification back on.

<rdar://problem/15500563>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206300 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/Verifier.h
include/llvm/InitializePasses.h
lib/CodeGen/Passes.cpp
lib/IR/Verifier.cpp
lib/LTO/LTOCodeGenerator.cpp
lib/Transforms/Scalar/Scalar.cpp
tools/bugpoint/CrashDebugger.cpp
tools/llvm-stress/llvm-stress.cpp
tools/opt/opt.cpp
unittests/Bitcode/BitReaderTest.cpp