diff --git a/llvm/tools/llvm-dwp/llvm-dwp.cpp b/llvm/tools/llvm-dwp/llvm-dwp.cpp index 9fa22dcae3ea..737e396ed74c 100644 --- a/llvm/tools/llvm-dwp/llvm-dwp.cpp +++ b/llvm/tools/llvm-dwp/llvm-dwp.cpp @@ -288,10 +288,11 @@ writeIndex(MCStreamer &Out, MCSection *Section, for (const auto &P : IndexEntries) { auto S = P.first; auto H = S & Mask; + auto HP = ((S >> 32) & Mask) | 1; while (Buckets[H]) { assert(S != IndexEntries.begin()[Buckets[H] - 1].first && "Duplicate unit"); - H = (H + (((S >> 32) & Mask) | 1)) % Buckets.size(); + H = (H + HP) & Mask; } Buckets[H] = i + 1; ++i;