aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2016-02-02 08:14:43 -0800
committerH.J. Lu <hjl.tools@gmail.com>2016-02-02 08:20:37 -0800
commit4a539596f5d54d3116c5fdebd8be56998757288b (patch)
treeb6d5a1c333209c50cc72f495793a4259a544b0c5 /bfd/ChangeLog
parent46d70d04a422dcd3a3d985a0ffbef2d6973500b1 (diff)
downloadfsf-binutils-gdb-4a539596f5d54d3116c5fdebd8be56998757288b.zip
fsf-binutils-gdb-4a539596f5d54d3116c5fdebd8be56998757288b.tar.gz
fsf-binutils-gdb-4a539596f5d54d3116c5fdebd8be56998757288b.tar.bz2
Store estimated istrances in compressed_size
elf_x86_64_convert_load is very time consuming since it is called on each input section and has a loop over input text sections to estimate the branch distrance. We can store the estimated distrances in the compressed_size field of the output section, which is only used to decompress the compressed input section. Before the patch, linking clang 3.9 takes 52 seconds. After the patch, it only takes 2.5 seconds. PR ld/19542 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated distrances in the compressed_size field of the output section.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r--bfd/ChangeLog6
1 files changed, 6 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 81e751c..e862c3c 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/19542
+ * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
+ distrances in the compressed_size field of the output section.
+
2016-02-02 Alan Modra <amodra@gmail.com>
* elf64-ppc.c (ppc64_elf_relocate_section): Further restrict