diff options
| author | Nicholas Nethercote <nnethercote@mozilla.com> | 2018-09-21 20:42:49 +1000 |
|---|---|---|
| committer | Nicholas Nethercote <nnethercote@mozilla.com> | 2018-09-21 20:54:10 +1000 |
| commit | b2f25e3c38ff29eebe6c8ce69b8c69243faa440d (patch) | |
| tree | 1f6257400c9be4e0b27a82bf9632ded55b22752d /src/rustllvm/RustWrapper.cpp | |
| parent | 1d33aedaa928cc92d58c0bfe7ff433714ff52976 (diff) | |
| download | rust-b2f25e3c38ff29eebe6c8ce69b8c69243faa440d.tar.gz rust-b2f25e3c38ff29eebe6c8ce69b8c69243faa440d.zip | |
Compress `Liveness` data some more.
Profiling shows that the `(reader, writer, used)` triples used by liveness analysis almost always have invalid `reader` and `writer` fields. We can take advantage of this knowledge to use a compressed representation for them, falling back to a secondary table for the uncommon cases. This change reduces instruction counts on numerous benchmarks, the best by 16%. It also reduces max-rss on numerous benchmarks, the best by 38%. The patch also renames these triples from `Users` to `RWU`, because it's confusing having a type whose name is plural and then used within vectors whose names are also plural.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
