aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/Timer.cpp
diff options
context:
space:
mode:
authorJez Ng <jezng@fb.com>2021-06-11 19:49:54 -0400
committerJez Ng <jezng@fb.com>2021-06-11 19:50:09 -0400
commit464d3dc3d11eec105023011fd41abb1871f46d5d (patch)
tree70f163c9fce85434741b8be9b0336b1b9e3b4505 /llvm/lib/Support/Timer.cpp
parent681cfeb59119f2ddc5418e4e3a48c632dcd1aa3e (diff)
downloadllvm-464d3dc3d11eec105023011fd41abb1871f46d5d.zip
llvm-464d3dc3d11eec105023011fd41abb1871f46d5d.tar.gz
llvm-464d3dc3d11eec105023011fd41abb1871f46d5d.tar.bz2
[lld-macho] Have dead-stripping work with literal sections
Literal sections are not atomically live or dead. Rather, liveness is tracked for each individual literal they contain. CStrings have their liveness tracked via a `live` bit in StringPiece, and fixed-width literals have theirs tracked via a BitVector. The live-marking code now needs to track the offset within each section that is to be marked live, in order to identify the literal at that particular offset. Numbers for linking chromium_framework on my 3.2 GHz 16-Core Intel Xeon W with both `-dead_strip` and `--deduplicate-literals`, with and without this diff applied: ``` N Min Max Median Avg Stddev x 20 4.32 4.44 4.375 4.372 0.03105174 + 20 4.3 4.39 4.36 4.3595 0.023277502 No difference proven at 95.0% confidence ``` This gives us size savings of about 0.4%. Reviewed By: #lld-macho, thakis Differential Revision: https://reviews.llvm.org/D103979
Diffstat (limited to 'llvm/lib/Support/Timer.cpp')
0 files changed, 0 insertions, 0 deletions