diff options
| author | Björn Steinbrink <bsteinbr@gmail.com> | 2013-07-13 03:25:46 +0200 |
|---|---|---|
| committer | Björn Steinbrink <bsteinbr@gmail.com> | 2013-07-13 13:33:48 +0200 |
| commit | dcd5d14e6cbb32aeccae3d12951181c525070ee7 (patch) | |
| tree | 2402786bf610bff99ee0f7af4ad110812f7c3d19 /src/rt/rust_kernel.cpp | |
| parent | a9eb86823049c2eff98e74fcac8ae75cc8760f33 (diff) | |
| download | rust-dcd5d14e6cbb32aeccae3d12951181c525070ee7.tar.gz rust-dcd5d14e6cbb32aeccae3d12951181c525070ee7.zip | |
Avoid return blocks that have only a single predecessor
Currently, we always create a dedicated "return" basic block, but when there's only a single predecessor for that block, it can be merged with that predecessor. We can achieve that merge by only creating the return block on demand, avoiding its creation when its not required. Reduces the pre-optimization size of librustc.ll created with --passes "" by about 90k lines which equals about 4%.
Diffstat (limited to 'src/rt/rust_kernel.cpp')
0 files changed, 0 insertions, 0 deletions
