LowerBitSets: Introduce global layout builder.
authorPeter Collingbourne <peter@pcc.me.uk>
Tue, 24 Feb 2015 23:17:02 +0000 (23:17 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Tue, 24 Feb 2015 23:17:02 +0000 (23:17 +0000)
commit0bf03cb47380bf9bea4e738b7b5f2ded56eb335b
treef13a16c6f124a79fad2214c295e594230f011848
parent7a1721e7c3ea7562077f78add8ecca97b80abc9b
LowerBitSets: Introduce global layout builder.

The builder is based on a layout algorithm that tries to keep members of
small bit sets together. The new layout compresses Chromium's bit sets to
around 15% of their original size.

Differential Revision: http://reviews.llvm.org/D7796

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230394 91177308-0d34-0410-b5e6-96231b3b80d8
docs/BitSets.rst
include/llvm/Transforms/IPO/LowerBitSets.h
lib/Transforms/IPO/LowerBitSets.cpp
test/Transforms/LowerBitSets/layout.ll [new file with mode: 0644]
unittests/Transforms/IPO/LowerBitSets.cpp