commit | d3a8d8f6295a7b8bf899a0ab8ea7758f58da1014 | [log] [tgz] |
---|---|---|
author | Fangrui Song <maskray@google.com> | Fri Dec 21 21:59:34 2018 +0000 |
committer | Fangrui Song <maskray@google.com> | Fri Dec 21 21:59:34 2018 +0000 |
tree | fc8d6e7cd13ab9a65905ba1f5dd532e1e34d6d76 | |
parent | 58c8fa3dbfe334b3bd749e347c2ccbde3da5c00e [diff] |
[ELF] .gnu.hash bloom filter: use Shift2 = 26 instead of 6 Summary: For the 2-bit bloom filter, we currently pick the bits Hash%64 and Hash>>6%64 (Shift2=6), but bits [6:...] are also used to select a word, causing a loss of precision. In this patch, we choose Shift2=26, with is suggested by Ambrose Feinstein. Note, Shift2 is computed as maskbitslog2 in bfd/elflink.c and gold/dynobj.cc It is varying with the number of dynamic symbols but we don't necessarily copy its rule. Reviewers: ruiu, espindola Reviewed By: ruiu Subscribers: emaste, arichardson, llvm-commits Differential Revision: https://reviews.llvm.org/D55971 git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@349966 91177308-0d34-0410-b5e6-96231b3b80d8
This directory and its subdirectories contain source code for the LLVM Linker, a modular cross platform linker which is built as part of the LLVM compiler infrastructure project.
lld is open source software. You may freely distribute it under the terms of the license agreement found in LICENSE.txt.
In order to make sure various developers can evaluate patches over the same tests, we create a collection of self contained programs.
It is hosted at https://s3-us-west-2.amazonaws.com/linker-tests/lld-speed-test.tar.xz
The current sha256 is 10eec685463d5a8bbf08d77f4ca96282161d396c65bd97dc99dbde644a31610f.