about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-03-21 21:54:09 +0000
committerbors <bors@rust-lang.org>2021-03-21 21:54:09 +0000
commit97663b6690689379aa0493deb494dfe14627c46b (patch)
treedb6239ac4e1a2b0da3a393e7c2b8751b3d7c2979 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
parentf82664191d0e8764b7435b9d72eb0e366b8b1464 (diff)
parent68a62b76d49328719c491da385b1123721689523 (diff)
downloadrust-97663b6690689379aa0493deb494dfe14627c46b.tar.gz
rust-97663b6690689379aa0493deb494dfe14627c46b.zip
Auto merge of #82834 - nikic:mutable-noalias, r=nagisa
Enable mutable noalias for LLVM >= 12

Enable mutable noalias by default on LLVM 12, as previously known miscompiles have been resolved. Now it's time to find the next one ;)

 * The `-Z mutable-noalias` option no longer has an explicit default and accepts `-Z mutable-noalias=yes` and `-Z mutable-noalias=no` to override the LLVM version based default behavior.
 * The decision on whether to apply the noalias attribute is moved into rustc_codegen_llvm. rustc_middle only provides us with the necessary information to make the decision.
 * `noalias` is not emitted for types that are `!Unpin`, as a heuristic for self-referential structures (see #54878 and #63818).
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions