llvm/lib/Transforms
Peter Collingbourne d63e5ad9c5 LowerBitSets: Align referenced globals.
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 ~2.4MB of instructions at the cost of ~250KB of data.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230540 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-25 20:42:41 +00:00
..
Hello [CMake] Add LLVM_LINK_COMPONENTS to loadable modules, LLVMHello and BugpointPasses, on Win32. 2014-07-13 13:36:48 +00:00
InstCombine [IC] Turn non-null MD on pointer loads to range MD on integer loads. 2015-02-25 05:10:25 +00:00
Instrumentation Fix alloca_instruments_all_paddings.cc test to work under higher -O levels (llvm part) 2015-02-24 09:47:05 +00:00
IPO LowerBitSets: Align referenced globals. 2015-02-25 20:42:41 +00:00
ObjCARC [objc-arc-contract] We can not move retains over instructions which can not conservatively be proven to not decrement the retain's RCIdentity. 2015-02-20 00:02:49 +00:00
Scalar remove function names from comments; NFC 2015-02-24 22:43:06 +00:00
Utils Remap frame variables for native Windows exception handling. 2015-02-23 20:01:56 +00:00
Vectorize [LoopAccesses] Change LAA:getInfo to return a constant reference 2015-02-19 19:15:21 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile