[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-08-27 Thread Alexandre Rames via Phabricator via cfe-commits
arames updated this revision to Diff 369203. arames marked an inline comment as not done. arames added a comment. Now using the `HashBuilder` interface. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102943/new/ https://reviews.llvm.org/D102943

[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-06-03 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added reviewers: jansvoboda11, Bigcheese. dexonsmith added a subscriber: Bigcheese. dexonsmith added a comment. This looks much cleaner; thanks for the update! I'm not sure this has decided whether it's writing special case code for building a CompilerInvocation's module context

[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-06-01 Thread Alexandre Rames via Phabricator via cfe-commits
arames updated this revision to Diff 349141. arames added a comment. Fix detail namespace. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102943/new/ https://reviews.llvm.org/D102943 Files: clang/include/clang/Basic/ObjCRuntime.h

[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-06-01 Thread Alexandre Rames via Phabricator via cfe-commits
arames added inline comments. Comment at: clang/include/clang/Basic/Sanitizers.h:81 + template void updateHash(HashT ) const { +Hash.updateRange([0], [0] + kNumElem); An alternative to having those in class would be to have helpers directly in

[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-06-01 Thread Alexandre Rames via Phabricator via cfe-commits
arames updated this revision to Diff 349139. arames added a comment. Use `llvm::MD5`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102943/new/ https://reviews.llvm.org/D102943 Files: clang/include/clang/Basic/ObjCRuntime.h

[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-05-27 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In D102943#2786015 , @arames wrote: > This new version is an attempt to have modules not rely on `llvm::hash_code`, > but on a new `llvm::stable_hash_code`. > I understand modifying `ADT/Hashing.h` is sensitive, so maybe we

[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-05-27 Thread Alexandre Rames via Phabricator via cfe-commits
arames added a comment. This new version is an attempt to have modules not rely on `llvm::hash_code`, but on a new `llvm::stable_hash_code`. I understand modifying `ADT/Hashing.h` is sensitive, so maybe we need to discuss the high-level approach first. Repository: rG LLVM Github Monorepo

[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-05-27 Thread Alexandre Rames via Phabricator via cfe-commits
arames updated this revision to Diff 348406. arames added a comment. Herald added a subscriber: mgorny. Diff against the parent commit. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102943/new/ https://reviews.llvm.org/D102943 Files:

[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-05-27 Thread Alexandre Rames via Phabricator via cfe-commits
arames added a comment. The early commits are missing from the PR. Looking out to do this with `arc`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102943/new/ https://reviews.llvm.org/D102943 ___

[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-05-27 Thread Alexandre Rames via Phabricator via cfe-commits
arames updated this revision to Diff 348403. arames added a comment. Introduce and use `stable_hash_code` instead of modifying `hash_code`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102943/new/ https://reviews.llvm.org/D102943 Files:

[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-05-21 Thread Alexandre Rames via Phabricator via cfe-commits
arames added a comment. In D102943#2775099 , @dexonsmith wrote: > In D102943#2774732 , @jroelofs > wrote: > >> why do module hashes need to be stable when cross-compiling? > > IIUC, the use case is

[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-05-21 Thread Alexandre Rames via Phabricator via cfe-commits
arames added a comment. In D102943#2775131 , @dexonsmith wrote: > In D102943#2775115 , @pcc wrote: > >> Isn't the bug here that module hashing is using `hash_code`? So shouldn't >> the correct fix be to use a

[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-05-21 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a subscriber: jansvoboda11. dexonsmith added a comment. In D102943#2775115 , @pcc wrote: > Isn't the bug here that module hashing is using `hash_code`? So shouldn't the > correct fix be to use a specific hashing algorithm for module

[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-05-21 Thread Peter Collingbourne via Phabricator via cfe-commits
pcc added a comment. Isn't the bug here that module hashing is using `hash_code`? So shouldn't the correct fix be to use a specific hashing algorithm for module hashes? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102943/new/

[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-05-21 Thread Duncan P. N. Exon Smith via Phabricator via cfe-commits
dexonsmith added a comment. In D102943#2774732 , @jroelofs wrote: > why do module hashes need to be stable when cross-compiling? IIUC, the use case is cross-compiling when building the modules, which are then sent to the target to use when compiling

[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-05-21 Thread Jon Roelofs via Phabricator via cfe-commits
jroelofs added a comment. why do module hashes need to be stable when cross-compiling? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102943/new/ https://reviews.llvm.org/D102943 ___ cfe-commits mailing

[PATCH] D102943: Hashing: use a 64-bit storage type on all platforms.

2021-05-21 Thread Alexandre Rames via Phabricator via cfe-commits
arames created this revision. Herald added subscribers: dexonsmith, usaxena95, kadircet, arphaman, hiraditya. arames requested review of this revision. Herald added projects: clang, LLVM, clang-tools-extra. Herald added subscribers: cfe-commits, llvm-commits. `size_t` varying across platforms can