[PATCH] D97108: [Statepoint Lowering] Allow dead gc pointer from deopt section to be on register.

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 22 11:15:38 PST 2021


reames requested changes to this revision.
reames added a comment.
This revision now requires changes to proceed.

I don't believe this is safe to land as is, at least without some careful framing and documenting of assumptions.

The problem I see is that gc values are expected to have base pointers.  A gc pointer which appears in the deopt list, but not in the gc-value list doesn't have an associated base.  It might happen to be the base itself, but it also might not.  Now, it may be that in some particular use case, we know any deopt value must be a base, but we need a way to encode that fact if so.

Taking a step back, how does this case arise?  If this is truly dead code, we might be better off lowering as a poison constant (or simply dropping it).


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

https://reviews.llvm.org/D97108



More information about the llvm-commits mailing list