about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-06-22 08:34:26 +0000
committerbors <bors@rust-lang.org>2018-06-22 08:34:26 +0000
commite70ff68aafbb923946856fea201e0251869f0dd5 (patch)
tree70ff13c39f5cfe453f09774e6b0f9f22426d4a4d /src/libsyntax
parent7dae5c0e06f10042fc3b29a55bf6285e539c06db (diff)
parent63a4e721b30964022cbe7abb98dabc74f3a7a676 (diff)
downloadrust-e70ff68aafbb923946856fea201e0251869f0dd5.tar.gz
rust-e70ff68aafbb923946856fea201e0251869f0dd5.zip
Auto merge of #51660 - lqd:the-MIRnistry-of-walks, r=nikomatsakis
NLL: Walk the MIR only once for the "unused mut" lint

Turns the quadratic loop gathering local variable assignments into a single MIR walk, and brings down the number of `super_mir` calls generated from `do_mir_borrowck` to the expected levels seen in `nll::replace_regions_in_mir` and `nll::compute_regions`, i.e. on clap: 1883 `super_mir` calls instead of 8011.

The limited perf numbers I could gather on my machines look to be what we expected: `clap-check` seems to be gaining back a lot of the 7% we previously saw in `visit_mir`.

Fixes #51641.

r? @nikomatsakis
Diffstat (limited to 'src/libsyntax')
0 files changed, 0 insertions, 0 deletions