about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2018-10-28 08:26:47 -0700
committerAlex Crichton <alex@alexcrichton.com>2018-11-01 10:46:31 -0700
commit0c3d08e9676a7defd16b88307838f7294d28c3e5 (patch)
treec0989a845de8bc5eaccc4c042cea6a8eda8488ee /src/rustllvm/RustWrapper.cpp
parent49ec93586ba46b429b8a51e186b5a3719e6bc7d1 (diff)
downloadrust-0c3d08e9676a7defd16b88307838f7294d28c3e5.tar.gz
rust-0c3d08e9676a7defd16b88307838f7294d28c3e5.zip
std: Improve codegen size of accessing TLS
Some code in the TLS implementation in libstd stores `Some(val)` into an
`&mut Option<T>` (effectively) and then pulls out `&T`, but it currently
uses `.unwrap()` which can codegen into a panic even though it can never
panic. With sufficient optimizations enabled (like LTO) the compiler can
see through this but this commit helps it along in normal mode
(`--release` with Cargo by default) to avoid codegen'ing the panic path.

This ends up improving the optimized codegen on wasm by ensuring that a
call to panic pulling in more file size doesn't stick around.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions