about summary refs log tree commit diff
path: root/src/rustllvm/PassWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-01-27 12:06:47 -0800
committerbors <bors@rust-lang.org>2014-01-27 12:06:47 -0800
commitfeacb594669f505d2f7ba0805c7fd5c5d7d28bad (patch)
tree345b03546629c7fc63d39da3f2ec433b6d168f61 /src/rustllvm/PassWrapper.cpp
parentd6d7812da841ddedf6c765eebb655be9866956ce (diff)
parentb4bb8c0f4ee1234e9d84aa7cb1a9ad691a509212 (diff)
downloadrust-feacb594669f505d2f7ba0805c7fd5c5d7d28bad.tar.gz
rust-feacb594669f505d2f7ba0805c7fd5c5d7d28bad.zip
auto merge of #11841 : huonw/rust/noinline-fail, r=alexcrichton
In two ways:
- for a plain `fail!(a)` we make the generic part of `begin_unwind` as small as possible (makes `fn main() { fail!() }` compile 2-3x faster, due to less monomorphisation bloat)
- for `fail!("format {}", "string")`, we avoid touching the generics completely by doing the formatting in a specialised function, which (with optimisations) saves a function call at the call-site of `fail!`. (This one has significantly less benefit than the first.)
Diffstat (limited to 'src/rustllvm/PassWrapper.cpp')
0 files changed, 0 insertions, 0 deletions