about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2020-12-08 20:58:20 +0000
committerbors <bors@rust-lang.org>2020-12-08 20:58:20 +0000
commit1700ca07c6dd7becff85678409a5df6ad4cf4f47 (patch)
tree857554ae3476a6a4793a74e58ff958f3537b8677 /compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
parent5e6e1e33a11d140a4d70f946730137f241224eb3 (diff)
parentbc8317a12aff35c6a85d7727628429f0f3758234 (diff)
downloadrust-1700ca07c6dd7becff85678409a5df6ad4cf4f47.tar.gz
rust-1700ca07c6dd7becff85678409a5df6ad4cf4f47.zip
Auto merge of #79727 - tmiasko:8bit-rwu, r=lcnr
Compress RWU from at least 32 bits to 4 bits

The liveness uses a mixed representation of RWUs based on the
observation that most of them have invalid reader and invalid
writer. The packed variant uses 32 bits and unpacked 96 bits.
Unpacked data contains reader live node and writer live node.

Since live nodes are used only to determine their validity,
RWUs can always be stored in a packed form with four bits for
each: reader bit, writer bit, used bit, and one extra padding
bit to simplify packing and unpacking operations.
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp')
0 files changed, 0 insertions, 0 deletions