aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineTraceMetrics.cpp
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2015-07-04 05:28:41 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2015-07-04 05:28:41 +0000
commit2612a32ce588bfa8d363c78cf59dff90a679dfc0 (patch)
tree6ba383e6ede15fbfa49913d30f18d44e021e0c73 /llvm/lib/CodeGen/MachineTraceMetrics.cpp
parent0b6ba7c668187b8cc3bc4fcf81929ccabf2882cb (diff)
downloadllvm-2612a32ce588bfa8d363c78cf59dff90a679dfc0.zip
llvm-2612a32ce588bfa8d363c78cf59dff90a679dfc0.tar.gz
llvm-2612a32ce588bfa8d363c78cf59dff90a679dfc0.tar.bz2
COFF: Numerous fixes for interaction between LTO and weak externals.
We were previously hitting assertion failures in the writer in cases where a regular object file defined a weak external symbol that was defined by a bitcode file. Because /export and /entry name mangling were implemented using weak externals, the same problem affected mangled symbol names in bitcode files. The underlying cause of the problem was that weak external symbols were being resolved before doing LTO, so the symbol table may have contained stale references to bitcode symbols. The fix here is to defer weak external symbol resolution until after LTO. Also implement support for weak external symbols in bitcode files by modelling them as replaceable DefinedBitcode symbols. Differential Revision: http://reviews.llvm.org/D10940 llvm-svn: 241391
Diffstat (limited to 'llvm/lib/CodeGen/MachineTraceMetrics.cpp')
0 files changed, 0 insertions, 0 deletions