aboutsummaryrefslogtreecommitdiffstats
path: root/tools/lto
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2013-07-08 23:23:03 +0000
committerBill Wendling <isanbard@gmail.com>2013-07-08 23:23:03 +0000
commitc6fbaa97016beb90a7508dd6442c83565c27c241 (patch)
tree2433bec4f44201080c087b5291a39213c672bceb /tools/lto
parent6cf7246ecaf058733fdf8fa47896907204839f68 (diff)
downloadexternal_llvm-c6fbaa97016beb90a7508dd6442c83565c27c241.zip
external_llvm-c6fbaa97016beb90a7508dd6442c83565c27c241.tar.gz
external_llvm-c6fbaa97016beb90a7508dd6442c83565c27c241.tar.bz2
Don't run internalize if we're outputing bit-code and not an object file.
The problem with running internalize before we're ready to output an object file is that it may change a 'weak' symbol into an internal one, but that symbol could be needed by an external object file --- e.g. with arclite. <rdar://problem/14334895> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185882 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/lto')
-rw-r--r--tools/lto/LTOCodeGenerator.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/lto/LTOCodeGenerator.cpp b/tools/lto/LTOCodeGenerator.cpp
index 022a04c..7616aa3 100644
--- a/tools/lto/LTOCodeGenerator.cpp
+++ b/tools/lto/LTOCodeGenerator.cpp
@@ -130,8 +130,10 @@ bool LTOCodeGenerator::writeMergedModules(const char *path,
if (determineTarget(errMsg))
return true;
- // mark which symbols can not be internalized
- applyScopeRestrictions();
+ // Run the verifier on the merged modules.
+ PassManager passes;
+ passes.add(createVerifierPass());
+ passes.run(*_linker.getModule());
// create output file
std::string ErrInfo;