HomePhabricator

[LLD][ELF] - Make compression level be dependent on -On.

Authored by grimar on Nov 25 2019, 1:39 AM.

Description

[LLD][ELF] - Make compression level be dependent on -On.

Currently LLD always use zlib compression level 6.
This patch changes it to use 1 for -O0, -O1 and 6 for -O2.

It fixes https://bugs.llvm.org/show_bug.cgi?id=44089.

There was also a thread in llvm-dev on this topic:
https://lists.llvm.org/pipermail/llvm-dev/2018-August/125020.html

Here is a table with results of building clang mentioned there:

Level   Time            Size
0       0m17.128s       2045081496   Z_NO_COMPRESSION
1       0m31.471s       922618584    Z_BEST_SPEED
2       0m32.659s       903642376
3       0m36.749s       890805856
4       0m41.532s       876697184
5       0m48.383s       862778576
6       1m3.176s        855251640    Z_DEFAULT_COMPRESSION
7       1m15.335s       853755920
8       2m0.561s        852497560
9       2m33.972s       852397408    Z_BEST_COMPRESSION

It shows that it is probably not reasonable to use values greater than 6.

Differential revision: https://reviews.llvm.org/D70658

Details

Committed
grimarNov 26 2019, 12:50 AM
Differential Revision
D70658: [LLD][ELF] - Make compression level be dependent on -On.
Parents
rG78a750276f44: [Attributor] Track a GEP Instruction in align deduction
Branches
Unknown
Tags
Unknown