1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/lib
Nikita Popov 520d387350 [MC] Use subclass data for MCExpr to reduce memory usage
MCExpr has a bunch of free space that is currently going to waste.
Repurpose it as 24 bits of subclass data, which is enough to reduce
the size of all subclasses by 8 bytes. This gives us some respectable
savings for debuginfo builds. Here are the max-rss reductions for the
fat LTO link step:

    kc.link               238MiB   231MiB   (-2.82%)
    sqlite3.link          258MiB   250MiB   (-3.27%)
    consumer-typeset.link 152MiB   148MiB   (-2.51%)
    bullet.link           197MiB   192MiB   (-2.30%)
    tramp3d-v4.link       578MiB   567MiB   (-1.92%)
    pairlocalalign.link    92MiB    90MiB   (-1.98%)
    clamscan.link         230MiB   223MiB   (-2.81%)
    lencod.link           242MiB   235MiB   (-2.67%)
    SPASS.link            235MiB   230MiB   (-2.23%)
    7zip-benchmark.link   450MiB   435MiB   (-3.25%)

Differential Revision: https://reviews.llvm.org/D77939
2020-04-15 20:02:11 +02:00
..
Analysis [nfc] clang-format TargetTransformInfo.cpp 2020-04-15 14:43:26 +02:00
AsmParser Clean up usages of asserting vector getters in Type 2020-04-10 13:58:11 -07:00
BinaryFormat [llvm-objdump][XCOFF] Use symbol index+symbol name + storage mapping class as label for -D 2020-04-06 10:10:10 -04:00
Bitcode [llvm][NFC][CallSite] Remove Implementation uses of CallSite 2020-04-14 14:49:47 -07:00
Bitstream
CodeGen [GlobalISel] translate freeze to new generic G_FREEZE 2020-04-15 16:47:05 +02:00
DebugInfo Fix DWARFDataExtractor::getRelocatedValue near EOF 2020-04-15 12:47:57 +02:00
Demangle Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
DWARFLinker [DWARFLinker][dsymutil] followup for 88c2137b6d49f88186d0957a4e2d8030a3967334 2020-04-08 16:46:52 +03:00
ExecutionEngine [ORC] Add an OrcV2 C API function for configuring TargetMachines. 2020-04-10 15:51:29 -07:00
Frontend [ADT/STLExtras.h] - Add llvm::is_sorted wrapper and update callers. 2020-04-14 14:11:02 +03:00
Fuzzer
FuzzMutate Remove CompositeType class. 2020-03-18 13:53:17 -07:00
IR Pass shufflevector indices as int instead of unsigned. 2020-04-15 15:52:49 +02:00
IRReader
LineEditor
Linker Remove SequentialType from the type heirarchy. 2020-04-06 17:03:49 -07:00
LTO Enable new passmanager plugin support for LTO. 2020-04-14 15:07:07 -07:00
MC [MC] Use subclass data for MCExpr to reduce memory usage 2020-04-15 20:02:11 +02:00
MCA
Object Revert "Move ModuleSummaryAnalysis from libAnalysis to libObject to break the dependency from Analysis to Object" 2020-04-14 00:27:08 +00:00
ObjectYAML [yaml2obj] - Add NBucket and NChain fields for the SHT_HASH section. 2020-04-01 12:28:16 +03:00
Option
Passes Allow disabling of vectorization using internal options 2020-04-14 18:09:10 -07:00
ProfileData Recommit [SampleFDO] Add flag for partial profile. 2020-04-07 14:28:25 -07:00
Remarks
Support [TimeProfiler] Fix some style issues. NFC 2020-04-15 08:07:40 -07:00
TableGen Explicitly include <cassert> when using assert 2020-03-02 22:45:28 +01:00
Target [X86] Various improvements to our vector splitting helpers for lowering. NFC 2020-04-15 10:57:53 -07:00
Testing
TextAPI [llvm][TextAPI] adding inlining reexported libraries support 2020-04-02 13:05:08 -07:00
ToolDrivers
Transforms [CallSite removal][PruneEH] Use CallBase instead of CallSite. NFC 2020-04-15 10:11:41 -07:00
WindowsManifest Try to fix WindowsManifest CMake logic on Windows 2020-02-28 17:24:03 -08:00
XRay Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
CMakeLists.txt
LLVMBuild.txt