diff options
| author | bors <bors@rust-lang.org> | 2021-09-18 09:15:40 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-09-18 09:15:40 +0000 |
| commit | 6cdd42f9f8dd4e5e5ba0aa816bc4c99ab8b102f9 (patch) | |
| tree | fd318ddfe3cf15536f72f42637ea2944916abda4 /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp | |
| parent | 5438ee424c004d7c89f16b9b1b95e899dbc87b25 (diff) | |
| parent | db5ecd539c38a4a096f3bc7550698ec1480a2ec4 (diff) | |
| download | rust-6cdd42f9f8dd4e5e5ba0aa816bc4c99ab8b102f9.tar.gz rust-6cdd42f9f8dd4e5e5ba0aa816bc4c99ab8b102f9.zip | |
Auto merge of #88988 - Mark-Simulacrum:avoid-into-ok, r=nagisa
Avoid codegen for Result::into_ok in lang_start
This extra codegen seems to be the cause for the regressions in max-rss on #86034. While LLVM will certainly optimize the dead code away, avoiding it's generation in the first place seems good, particularly when it is so simple.
#86034 produced this [diff](https://gist.github.com/Mark-Simulacrum/95c7599883093af3b960c35ffadf4dab#file-86034-diff) for a simple `fn main() {}`. With this PR, that diff [becomes limited to just a few extra IR instructions](https://gist.github.com/Mark-Simulacrum/95c7599883093af3b960c35ffadf4dab#file-88988-from-pre-diff) -- no extra functions.
Note that these are pre-optimization; LLVM surely will eliminate this during optimization. However, that optimization can end up generating more work and bump memory usage, and this eliminates that.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
