================ @@ -2135,6 +2135,11 @@ bool ConstantPtrAuth::hasSpecialAddressDiscriminator(uint64_t Value) const { bool ConstantPtrAuth::isKnownCompatibleWith(const Value *Key, const Value *Discriminator, const DataLayout &DL) const { + // This function may only be validly called to analyze a ptrauth operation with + // no deactivation symbol, so if we have one it isn't compatible. + if (!getDeactivationSymbol()->isNullValue()) ---------------- ojhunt wrote:
But they would be compatible if they have the _same_ deactivation symbol wouldn't they? It seems reasonable to just compare the symbol - if there's a mismatch in "present vs not present" or the relevant symbol they're compatible aren't they? You'd just need to pass in the deactivation symbol for the other scheme? https://github.com/llvm/llvm-project/pull/133537 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits