forked from OSchip/llvm-project
Avoid divisions.
Compiler doesn't know the fact that Config->WordSize * 8 is always a power of two, so it had to use the div instruction to divide some number with C. llvm-svn: 323014
This commit is contained in:
parent
6f10bd21f0
commit
2f8af79927
|
@ -1743,7 +1743,7 @@ void GnuHashTableSection::writeTo(uint8_t *Buf) {
|
|||
// [1] Ulrich Drepper (2011), "How To Write Shared Libraries" (Ver. 4.1.2),
|
||||
// p.9, https://www.akkadia.org/drepper/dsohowto.pdf
|
||||
void GnuHashTableSection::writeBloomFilter(uint8_t *Buf) {
|
||||
const unsigned C = Config->Wordsize * 8;
|
||||
unsigned C = Config->Is64 ? 64 : 32;
|
||||
for (const Entry &Sym : Symbols) {
|
||||
size_t I = (Sym.Hash / C) & (MaskWords - 1);
|
||||
uint64_t Val = readUint(Buf + I * Config->Wordsize);
|
||||
|
|
Loading…
Reference in New Issue