[llvm] r227431 - Don't create multiple mergeable sections with -fdata-sections.
Rafael EspĂndola
rafael.espindola at gmail.com
Mon Feb 2 07:53:28 PST 2015
I was able to test this on a chrome build on linux.
What I did was
GYP_GENERATOR_FLAGS="output_dir=out_227431" GYP_DEFINES="clang=1
clang_use_chrome_plugins=0"
CXX=/home/espindola/llvm/build-227431/bin/clang++
CC=/home/espindola/llvm/build-227431/bin/clang gclient runhooks
(and repeat with r227430).
The size of the .o goes from 665940188 to 649564564 (0.975409767581109 X).
On the chrome binary, the sections that changed size were
.rodata: From 6851798 to 6985174 bytes (1.0194658394774627 X)
.symtab: From 11755800 to 11897472 bytes (1.0120512427907926 X)
.strtab: From 29712380 to 29719025 (1.000223644151024 X)
The link time (just the ld run) collected with "perf stat -r 10" is
r227430: 8.519591500 seconds time elapsed
( +- 0.60% )
r227431: 8.162686453 seconds time elapsed
( +- 0.29% )
I will take a look at how hard it would be to GC mergeable sections.
Cheers,
Rafael
More information about the llvm-commits
mailing list