summaryrefslogtreecommitdiffstats
path: root/llvm/lib/LTO
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-04-15 16:27:38 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-04-15 16:27:38 +0000
commit6ef5f284d6f89e77191d3b72e3d4893efe10f9b1 (patch)
treee27da78c201fe61af98b46e4a79b38a9b7784458 /llvm/lib/LTO
parent67b44da0dd8c0733d71a5fe7dda6607c9f294775 (diff)
downloadbcm5719-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.cpp3
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;
OpenPOWER on IntegriCloud