Description
We experience sporadic failures in RegisterBankInfo::getOperandsMapping. These failures seem to be triggered by
hash_code Hash = hash_combine_range(Begin, End);
hitting the value of EmptyKey or TombstoneKey in the DenseMap member MapOfOperandsMappings. We still use LLVM 13, but the coding seems to have remained the same until to date.
We also see failures in RegisterBankInfo::ValueMapping::verify that seem to be triggered by hash collisions from
hash_code Hash = hash_combine_range(Begin, End);
To us it seems that this coding is not protected against these problems and therefore failures can happen randomly.
Already posted the problem in the Forum, but got no answer there:
https://discourse.llvm.org/t/registerbankinfo-getoperandsmapping-not-protected-against-hash-collisions-emptykey-tombstonekey/77659