Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NFC] Use stable_hash_combine instead of hash_combine #105619

Merged
merged 1 commit into from
Aug 23, 2024

Conversation

kyulee-com
Copy link
Contributor

I found the current stable hash is not deterministic across multiple runs on a specific platform. This is becauses it uses hash_combine instead of stable_hash_combine.

I found the current stable hash is not deterministic across multiple runs on a specific platform.
This is becauses it uses `hash_combine` instead of `stable_hash_combine`.
@kyulee-com kyulee-com requested review from MaskRay, yozhu, jayfoad, plotfi and ellishg and removed request for MaskRay August 22, 2024 15:15
@kyulee-com kyulee-com marked this pull request as ready for review August 22, 2024 17:16
Copy link
Member

@MaskRay MaskRay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps worth a follow-up to change stable_hash_combine to 64-bit xxh3. The current FNV1 has bad performance

(I'm starting a 3-week vacation this Friday and will have limited availability.)

@kyulee-com kyulee-com merged commit c9b6339 into llvm:main Aug 23, 2024
11 checks passed
@kyulee-com kyulee-com deleted the fixstablehash branch August 23, 2024 13:40
cjdb pushed a commit to cjdb/llvm-project that referenced this pull request Aug 23, 2024
I found the current stable hash is not deterministic across multiple
runs on a specific platform. This is because it uses `hash_combine`
instead of `stable_hash_combine`.
kyulee-com added a commit that referenced this pull request Aug 24, 2024
This is a follow-up to address a suggestion from
#105619.
The main goal of this change is to efficiently implement stable hash
functions using the xxh3 64bits API.
`stable_hash_combine_range` and `stable_hash_combine_array` functions
are removed and consolidated into a more general `stable_hash_combine`
function that takes an `ArrayRef<stable_hash>` as input.
5chmidti pushed a commit that referenced this pull request Aug 24, 2024
I found the current stable hash is not deterministic across multiple
runs on a specific platform. This is because it uses `hash_combine`
instead of `stable_hash_combine`.
5chmidti pushed a commit that referenced this pull request Aug 24, 2024
This is a follow-up to address a suggestion from
#105619.
The main goal of this change is to efficiently implement stable hash
functions using the xxh3 64bits API.
`stable_hash_combine_range` and `stable_hash_combine_array` functions
are removed and consolidated into a more general `stable_hash_combine`
function that takes an `ArrayRef<stable_hash>` as input.
dmpolukhin pushed a commit to dmpolukhin/llvm-project that referenced this pull request Sep 2, 2024
I found the current stable hash is not deterministic across multiple
runs on a specific platform. This is because it uses `hash_combine`
instead of `stable_hash_combine`.
dmpolukhin pushed a commit to dmpolukhin/llvm-project that referenced this pull request Sep 2, 2024
This is a follow-up to address a suggestion from
llvm#105619.
The main goal of this change is to efficiently implement stable hash
functions using the xxh3 64bits API.
`stable_hash_combine_range` and `stable_hash_combine_array` functions
are removed and consolidated into a more general `stable_hash_combine`
function that takes an `ArrayRef<stable_hash>` as input.
adrian-prantl pushed a commit to adrian-prantl/llvm-project that referenced this pull request Oct 21, 2024
I found the current stable hash is not deterministic across multiple
runs on a specific platform. This is because it uses `hash_combine`
instead of `stable_hash_combine`.

(cherry picked from commit c9b6339)
adrian-prantl pushed a commit to adrian-prantl/llvm-project that referenced this pull request Oct 21, 2024
This is a follow-up to address a suggestion from
llvm#105619.
The main goal of this change is to efficiently implement stable hash
functions using the xxh3 64bits API.
`stable_hash_combine_range` and `stable_hash_combine_array` functions
are removed and consolidated into a more general `stable_hash_combine`
function that takes an `ArrayRef<stable_hash>` as input.

(cherry picked from commit 7615c0b)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants