diff options
author | Sean Fertile <sfertile@ca.ibm.com> | 2017-11-03 21:45:55 +0000 |
---|---|---|
committer | Sean Fertile <sfertile@ca.ibm.com> | 2017-11-03 21:45:55 +0000 |
commit | 36528c2a9b3d37d6692de5738697598abfb5d9c8 (patch) | |
tree | 2729d6a8bd507a1de66862d7869fb4ef8ade7868 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
parent | 3fc9188fa8cb939539e568a0ef602892aa3fc59a (diff) | |
download | bcm5719-llvm-36528c2a9b3d37d6692de5738697598abfb5d9c8.tar.gz bcm5719-llvm-36528c2a9b3d37d6692de5738697598abfb5d9c8.zip |
[LTO][ThinLTO] Use the linker resolutions to mark global values as dso_local.
Now that we have a way to mark GlobalValues as local we can use the symbol
resolutions that the linker plugin provides as part of lto/thinlto link
step to refine the compilers view on what symbols will end up being local.
Differential Revision: https://reviews.llvm.org/D35702
llvm-svn: 317374
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
-rw-r--r-- | llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp index c2272260f44..d0f11db8f61 100644 --- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp @@ -889,7 +889,9 @@ static GlobalValueSummary::GVFlags getDecodedGVSummaryFlags(uint64_t RawFlags, // to work correctly on earlier versions, we must conservatively treat all // values as live. bool Live = (RawFlags & 0x2) || Version < 3; - return GlobalValueSummary::GVFlags(Linkage, NotEligibleToImport, Live); + bool Local = (RawFlags & 0x4); + + return GlobalValueSummary::GVFlags(Linkage, NotEligibleToImport, Live, Local); } static GlobalValue::VisibilityTypes getDecodedVisibility(unsigned Val) { |