[PATCH] D119712: [Safepoint Verifier] gc.relocate does not change the constant property.

Anna Thomas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 14 06:43:18 PST 2022


anna accepted this revision.
anna added a comment.
This revision is now accepted and ready to land.

LGTM with a comment. Great job on root causing and fixing this!

JFYI, this was *one of the false positives* we could see in SafepointVerifier. We just never saw this in practice. It just started showing up a lot more in our downstream code after this NFC: https://reviews.llvm.org/D118604



================
Comment at: llvm/lib/IR/SafepointIRVerifier.cpp:360
     }
+    if (const auto *GCRelocate = dyn_cast<GCRelocateInst>(V)) {
+      Worklist.push_back(GCRelocate->getDerivedPtr());
----------------
Very nice. Could you pls add a comment here as well, that `GCRelocates` do not change null-ness or constant-ness of the value. So, this would allow us to recognize if the value is either: `isExclusivelyDerivedFromNull` OR `ExclusivelyNull`.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D119712/new/

https://reviews.llvm.org/D119712



More information about the llvm-commits mailing list