Add traverse through gc.relocate in determining whether base is constant.
Details
Details
Diff Detail
Diff Detail
Unit Tests
Unit Tests
Event Timeline
Comment Actions
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
llvm/lib/IR/SafepointIRVerifier.cpp | ||
---|---|---|
360 | 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. |
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.