about summary refs log tree commit diff
path: root/src/libsyntax/parse/parser.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-07-08 06:04:51 -0700
committerbors <bors@rust-lang.org>2013-07-08 06:04:51 -0700
commited69ef0b6625efa652864eda2d5469eb92dcb682 (patch)
treebb65f6e322f7d9fca6d5886f246a1b1138391820 /src/libsyntax/parse/parser.rs
parent65ed80339b52bae26457f5c19dc9861bd7de643e (diff)
parent00ba8b3ac0692293511858cae6fe1a3e1dcc316b (diff)
downloadrust-ed69ef0b6625efa652864eda2d5469eb92dcb682.tar.gz
rust-ed69ef0b6625efa652864eda2d5469eb92dcb682.zip
auto merge of #7645 : dotdash/rust/immediate_retvals, r=cmr
There are lots of unneeded allocas and Store/Load cycles for calls with
immediate return values. This is a first step towards removing that, allowing
immediate return values to be directly returned from trans_call_inner and
trans_lang_call (for now), instead of always stuffing them into an alloca.

For now, only a few things take advantage of the new behaviour, but this
already saves 16k allocas and 43k lines in total in the unoptimized IR
for librustc. Running "make check" under time shows that CPU time for
the unoptimized test suite is reduced by about 7%.

Diffstat (limited to 'src/libsyntax/parse/parser.rs')
0 files changed, 0 insertions, 0 deletions