llvm/lib
Pete Cooper c821cef882 Devirtualize and pack MCFragment to reduce memory usage.
MCFragment didn't really need vtables.  The majority of virtual methods were just getters and setters.

This removes the vtables and uses dispatch on the kind to do things like delete which needs to
get the appropriate class.

This reduces memory on the verify use list order test case by about 2MB out of 800MB.

Reviewed by Rafael Espíndola

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239952 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-17 22:01:28 +00:00
..
Analysis Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
AsmParser Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
Bitcode [Bitcode] Replace hand-coded little endian handling with Endian.h functions. 2015-06-17 20:55:30 +00:00
CodeGen remove unnecessary casts; NFC 2015-06-17 20:54:46 +00:00
DebugInfo [DWARF] Fix a bug in line info handling 2015-05-31 23:37:04 +00:00
ExecutionEngine modules: Add explicit dependency on intrinsics_gen 2015-06-16 00:44:12 +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 personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
IRReader Return a unique_ptr from getLazyBitcodeModule and parseBitcodeFile. NFC. 2015-06-16 22:27:55 +00:00
LibDriver Bring in a BumpPtrStringSaver from lld and simplify the interface. 2015-06-13 12:49:52 +00:00
LineEditor
Linker Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
LTO Return a unique_ptr from getLazyBitcodeModule and parseBitcodeFile. NFC. 2015-06-16 22:27:55 +00:00
MC Devirtualize and pack MCFragment to reduce memory usage. 2015-06-17 22:01:28 +00:00
Object [ArchiveWriter] Use EndianStream. No functional change intended. 2015-06-17 16:02:56 +00:00
Option Option parsing: properly handle flag aliases for joined options (PR23394) 2015-05-04 18:00:13 +00:00
Passes
ProfileData modules: Add explicit dependency on intrinsics_gen 2015-06-16 00:44:12 +00:00
Support Use std::unique_ptr to manage the DataStreamer in bitcode parsing. 2015-06-16 23:29:49 +00:00
TableGen [TableGen] Change OpInit::getNumOperands and getOperand to use unsigned integers. NFC 2015-06-06 01:34:04 +00:00
Target Re-land "[X86] Cache variables that only depend on the subtarget" 2015-06-17 21:50:02 +00:00
Transforms Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
CMakeLists.txt LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00
LLVMBuild.txt Wrap some long lines in LLVMBuild files. NFC 2015-06-12 18:44:57 +00:00
Makefile LibDriver, llvm-lib: introduce. 2015-06-09 21:50:22 +00:00