about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorkennytm <kennytm@gmail.com>2018-05-24 16:02:44 +0800
committerGitHub <noreply@github.com>2018-05-24 16:02:44 +0800
commit79a2676ce0ad6196b6d212c65147e78bf797fe29 (patch)
treeda62c8d3f6d95fb19552330f8a7b4e4204719c5a /src/rustllvm/RustWrapper.cpp
parent6441ebe5a7e7d5274136b81d8c6cc037b37e9aeb (diff)
parent8d0fad5d3832c6c1f14542ea0be038274e454524 (diff)
downloadrust-79a2676ce0ad6196b6d212c65147e78bf797fe29.tar.gz
rust-79a2676ce0ad6196b6d212c65147e78bf797fe29.zip
Rollup merge of #50981 - nnethercote:shrink-LiveNode, r=nikomatsakis
Shrink `LiveNode`.

`Liveness::users` is a vector that is occasionally enormous. For
example, doing a "clean incremental" check build of `inflate`, there is
one instance that represents 5,499 live nodes and 1087 vars, which
requires 5,977,413 entries. At 24 bytes per entry, that is 143MB.

This patch changes LiveNode from a usize to a u32. On 64-bit machines
that halves the size of these entries, significantly reducing peak
memory usage and memory traffic, and speeding up "clean incremental"
builds of `inflate` by about 10%.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions