llvm-6502/lib
Owen Anderson bd84bdb2be Move the name pointer out of Value into a map that lives on the
LLVMContext.  Production builds of clang do not set names on most
Value's, so this is wasted space on almost all subclasses of Value.
This reduces the size of all Value subclasses by 8 bytes on 64 bit
hosts.

The one tricky part of this change is averting compile time regression
by keeping Value::hasName() fast.  This required stealing bits out of
NumOperands.

With this change, peak memory usage on verify-uselistorder-nodbg.lto.bc
is decreased by approximately 2.3% (~3MB absolute on my machine).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238791 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-01 22:24:01 +00:00
..
Analysis [PHITransAddr] Don't translate unreachable values 2015-06-01 00:15:08 +00:00
AsmParser Replace push_back(Constructor(foo)) with emplace_back(foo) for non-trivial types 2015-05-29 19:43:39 +00:00
Bitcode [BitcodeReader] Change an assert to a call to a call to Error() 2015-05-30 00:17:20 +00:00
CodeGen LiveRangeEdit: Fix liveranges not shrinking on subrange kill. 2015-06-01 21:26:26 +00:00
DebugInfo [DWARF] Fix a bug in line info handling 2015-05-31 23:37:04 +00:00
ExecutionEngine add missing dependency for ExecutionEngine lib 2015-06-01 21:56:56 +00:00
Fuzzer [lib/Fuzzer] make assertions more informative and update comments for the user-supplied mutator 2015-05-30 17:33:13 +00:00
IR Move the name pointer out of Value into a map that lives on the 2015-06-01 22:24:01 +00:00
IRReader
LineEditor
Linker While in GlobalValue fix the function(s) that don't follow the 2015-05-15 18:20:14 +00:00
LTO Make the C++ LTO API easier to use from C++ clients. 2015-06-01 20:08:30 +00:00
MC The fragment implies the section, don't store both. 2015-06-01 14:34:40 +00:00
Object Simplify another function that doesn't fail. 2015-06-01 00:27:26 +00:00
Option
Passes
ProfileData
Support [ARMTargetParser] Move IAS arch ext parser. NFC 2015-05-30 10:30:02 +00:00
TableGen [TableGen] Move a couple virtual methods out of line so vtable anchors can be removed. NFC 2015-06-01 06:44:18 +00:00
Target R600/SI: Don't hardcode pointer type 2015-06-01 21:58:24 +00:00
Transforms Teach the IR Sink pass to (conservatively) respect convergent annotations. 2015-06-01 17:20:31 +00:00
CMakeLists.txt
LLVMBuild.txt Reflow long lines of some LLVMBuild files 2015-05-14 15:38:27 +00:00
Makefile