about summary refs log tree commit diff
path: root/src/rt/rust_kernel.cpp
diff options
context:
space:
mode:
authorBjörn Steinbrink <bsteinbr@gmail.com>2013-07-13 03:25:46 +0200
committerBjörn Steinbrink <bsteinbr@gmail.com>2013-07-13 13:33:48 +0200
commitdcd5d14e6cbb32aeccae3d12951181c525070ee7 (patch)
tree2402786bf610bff99ee0f7af4ad110812f7c3d19 /src/rt/rust_kernel.cpp
parenta9eb86823049c2eff98e74fcac8ae75cc8760f33 (diff)
downloadrust-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