Lines Matching defs:Hash
659 // Map from PHI hash values to PHI nodes. If multiple PHIs have
660 // the same hash value, the element is the first PHI in the
664 // Maintain linked lists of PHI nodes with common hash values.
670 // Compute a hash value on the operands. Instcombine will likely have sorted
673 uintptr_t Hash = 0;
674 // This hash algorithm is quite weak as hash functions go, but it seems
677 Hash ^= reinterpret_cast<uintptr_t>(static_cast<Value *>(*I));
678 Hash = (Hash << 7) | (Hash >> (sizeof(uintptr_t) * CHAR_BIT - 7));
682 Hash ^= reinterpret_cast<uintptr_t>(static_cast<BasicBlock *>(*I));
683 Hash = (Hash << 7) | (Hash >> (sizeof(uintptr_t) * CHAR_BIT - 7));
686 Hash >>= 1;
687 // If we've never seen this hash value before, it's a unique PHI.
689 HashMap.insert(std::make_pair(Hash, PN));
691 // Otherwise it's either a duplicate or a hash collision.
700 // A non-duplicate hash collision.