summaryrefslogtreecommitdiff
path: root/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
commit32791b02facda5b879f2bcf7dd3f1faea1e4782d (patch)
tree1fe8ec4d917295d0a54e8d538006088bb6b781e3 /lib/LTO
parentabf483ba524027caa3c5cd3de452d9feb11170d3 (diff)
downloadllvm-32791b02facda5b879f2bcf7dd3f1faea1e4782d.tar.gz
llvm-32791b02facda5b879f2bcf7dd3f1faea1e4782d.tar.bz2
llvm-32791b02facda5b879f2bcf7dd3f1faea1e4782d.tar.xz
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
Diffstat (limited to 'lib/LTO')
-rw-r--r--lib/LTO/LTOCodeGenerator.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/LTO/LTOCodeGenerator.cpp b/lib/LTO/LTOCodeGenerator.cpp
index 8df42772d5..da74c57c58 100644
--- a/lib/LTO/LTOCodeGenerator.cpp
+++ b/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;