[llvm] r185882 - Don't run internalize if we're outputing bit-code and not an object file.
Bill Wendling
isanbard at gmail.com
Mon Jul 8 16:23:03 PDT 2013
Author: void
Date: Mon Jul 8 18:23:03 2013
New Revision: 185882
URL: http://llvm.org/viewvc/llvm-project?rev=185882&view=rev
Log:
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>
Modified:
llvm/trunk/tools/lto/LTOCodeGenerator.cpp
Modified: llvm/trunk/tools/lto/LTOCodeGenerator.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/lto/LTOCodeGenerator.cpp?rev=185882&r1=185881&r2=185882&view=diff
==============================================================================
--- llvm/trunk/tools/lto/LTOCodeGenerator.cpp (original)
+++ llvm/trunk/tools/lto/LTOCodeGenerator.cpp Mon Jul 8 18:23:03 2013
@@ -130,8 +130,10 @@ bool LTOCodeGenerator::writeMergedModule
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;
More information about the llvm-commits
mailing list