[llvm-branch-commits] [llvm] Add deactivation symbol operand to ConstantPtrAuth. (PR #133537)

Oliver Hunt via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Sep 11 13:31:17 PDT 2025


================
@@ -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


More information about the llvm-branch-commits mailing list