about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-04-06 02:09:01 +0000
committerbors <bors@rust-lang.org>2021-04-06 02:09:01 +0000
commit0c7d4effd71f826abb9651419c316b9b57b8ac97 (patch)
treef8eadbfde709194baee1cbb5979f21a166568cce /compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
parent8e6b478a5a146ad77ae4340ce379e1674c35ad69 (diff)
parent2f000a78bf615b35c4837f920fb6adcad4848351 (diff)
downloadrust-0c7d4effd71f826abb9651419c316b9b57b8ac97.tar.gz
rust-0c7d4effd71f826abb9651419c316b9b57b8ac97.zip
Auto merge of #83592 - nagisa:nagisa/dso_local, r=davidtwco
Set dso_local for hidden, private and local items

This should probably have no real effect in most cases, as e.g. `hidden`
visibility already implies `dso_local` (or at least LLVM IR does not
preserve the `dso_local` setting if the item is already `hidden`), but
it should fix `-Crelocation-model=static` and improve codegen in
executables.

Note that this PR does not exhaustively port the logic in [clang], only the
portion that is necessary to fix a regression from LLVM 12 that relates to
`-Crelocation_model=static`.

Fixes #83335

[clang]: https://github.com/llvm/llvm-project/blob/3001d080c813da20b329303bf8f45451480e5905/clang/lib/CodeGen/CodeGenModule.cpp#L945-L1039
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp')
0 files changed, 0 insertions, 0 deletions