about summary refs log tree commit diff
path: root/src/test/run-pass/thinlto
diff options
context:
space:
mode:
authorAriel Ben-Yehuda <arielb1@mail.tau.ac.il>2017-04-05 23:01:09 +0000
committerGitHub <noreply@github.com>2017-04-05 23:01:09 +0000
commitb712950d7b3a91e78d195adff49afb4a27abeb8d (patch)
tree02770b3b6645580c61106ef78c3b13e67159679c /src/test/run-pass/thinlto
parent9d074473da5fef4b1d9ebbbb7f181edcb7a365a0 (diff)
parent09ac56d6efd41c02cbb7f8714d59bdd43f663ec8 (diff)
downloadrust-b712950d7b3a91e78d195adff49afb4a27abeb8d.tar.gz
rust-b712950d7b3a91e78d195adff49afb4a27abeb8d.zip
Rollup merge of #41015 - arielb1:new-block-stack, r=alexcrichton
mark build::cfg::start_new_block as inline(never)

LLVM has a bug - [PR32488](https://bugs.llvm.org//show_bug.cgi?id=32488) - where it fails to deduplicate allocas in some
circumstances. The function `start_new_block` has allocas totalling 1216
bytes, and when LLVM inlines several copies of that function into
the recursive function `expr::into`, that function's stack space usage
goes into tens of kiBs, causing stack overflows.

Mark `start_new_block` as inline(never) to keep it from being inlined,
getting stack usage under control.

Fixes #40493.
Fixes #40573.

r? @eddyb
Diffstat (limited to 'src/test/run-pass/thinlto')
0 files changed, 0 insertions, 0 deletions