[PATCH] LowerBitSets: Align referenced globals.

Peter Collingbourne peter at pcc.me.uk
Tue Feb 24 16:08:30 PST 2015


Hi kcc, jfb,

This change aligns globals to the next highest power of 2 bytes, up to a
maximum of 128. This makes it more likely that we will be able to compress
bit sets with a greater alignment. In many more cases, we can now take
advantage of a new optimization also introduced in this patch that removes
bit set checks if the bit set is all ones.

The 128 byte maximum was found to provide the best tradeoff between instruction
overhead and data overhead in a recent build of Chromium. It allows us to
remove ~900KB of instructions at the cost of ~250KB of data.

http://reviews.llvm.org/D7873

Files:
  include/llvm/Transforms/IPO/LowerBitSets.h
  lib/Transforms/IPO/LowerBitSets.cpp
  test/Transforms/LowerBitSets/layout.ll
  test/Transforms/LowerBitSets/simple.ll
  test/Transforms/LowerBitSets/single-offset.ll
  unittests/Transforms/IPO/LowerBitSets.cpp

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D7873.20635.patch
Type: text/x-patch
Size: 17268 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150225/00daf669/attachment.bin>


More information about the llvm-commits mailing list