[all-commits] [llvm/llvm-project] 8e7d77: [MC] Use subclass data for MCExpr to reduce memory...
Nikita Popov via All-commits
all-commits at lists.llvm.org
Wed Apr 15 11:02:51 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 8e7d771cf9b6197c723e1ea8739563d24aca2e3c
https://github.com/llvm/llvm-project/commit/8e7d771cf9b6197c723e1ea8739563d24aca2e3c
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2020-04-15 (Wed, 15 Apr 2020)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
[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
More information about the All-commits
mailing list