[PATCH] D30555: LTO: Hash type identifier resolutions for WholeProgramDevirt.

Mehdi AMINI via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 3 09:22:59 PST 2017


mehdi_amini added inline comments.


================
Comment at: llvm/lib/LTO/LTO.cpp:104
+    Hasher.update(ArrayRef<uint8_t>{Data, 8});
+  };
   AddString(Conf.CPU);
----------------
pcc wrote:
> mehdi_amini wrote:
> > Why do we hash bit-by-bit? Is it because of endianness? Do we care about having the same hash on different endian machine?
> It makes the code easier to reason about if you always use the same hash function rather than making the code machine dependent.
I don't really get why the code here is "easier to reason about" than:

```
auto AddUint64 = [&](uint64_t I) {
    Hasher.update(&I, sizeof(I));
  };
```


https://reviews.llvm.org/D30555





More information about the llvm-commits mailing list