diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-04-15 16:27:38 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2014-04-15 16:27:38 +0000 |
commit | 6ef5f284d6f89e77191d3b72e3d4893efe10f9b1 (patch) | |
tree | e27da78c201fe61af98b46e4a79b38a9b7784458 /llvm/lib/LTO | |
parent | 67b44da0dd8c0733d71a5fe7dda6607c9f294775 (diff) | |
download | bcm5719-llvm-6ef5f284d6f89e77191d3b72e3d4893efe10f9b1.tar.gz bcm5719-llvm-6ef5f284d6f89e77191d3b72e3d4893efe10f9b1.zip |
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>
llvm-svn: 206300
Diffstat (limited to 'llvm/lib/LTO')
-rw-r--r-- | llvm/lib/LTO/LTOCodeGenerator.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/LTO/LTOCodeGenerator.cpp b/llvm/lib/LTO/LTOCodeGenerator.cpp index 8df42772d5a..da74c57c589 100644 --- a/llvm/lib/LTO/LTOCodeGenerator.cpp +++ b/llvm/lib/LTO/LTOCodeGenerator.cpp @@ -399,6 +399,7 @@ void LTOCodeGenerator::applyScopeRestrictions() { // Start off with a verification pass. PassManager passes; passes.add(createVerifierPass()); + passes.add(createDebugInfoVerifierPass()); // mark which symbols can not be internalized Mangler Mangler(TargetMach->getDataLayout()); @@ -471,6 +472,7 @@ bool LTOCodeGenerator::generateObjectFile(raw_ostream &out, // Start off with a verification pass. passes.add(createVerifierPass()); + passes.add(createDebugInfoVerifierPass()); // Add an appropriate DataLayout instance for this module... mergedModule->setDataLayout(TargetMach->getDataLayout()); @@ -492,6 +494,7 @@ bool LTOCodeGenerator::generateObjectFile(raw_ostream &out, // Make sure everything is still good. passes.add(createVerifierPass()); + passes.add(createDebugInfoVerifierPass()); PassManager codeGenPasses; |