[PATCH] D124631: [TwoAddressInstructionPass] Special processing of STATEPOINT instruction.

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 28 13:35:13 PDT 2022


MatzeB added a comment.

> Its important property is that at SSA level

I assume what you are explaining here is that at a `STATEPOINT` a moving garbage collector can potentially move objects around and needs to update pointer values. That likely needs additional correctness properties on top of ending the lifetimes (like requiring that any life GC controlled pointer must be an argument to the STATEPOINT). Anyway as far as I understand it this discussion seems irrelevant to this patch.

> This means that when transforming it into two-address form, no extra COPY instruction is necessary.

I thought you only get a COPY when a value actually is alive across the instruction, which would be an invalid input anyway as far as I understand things. So I still don't see what we change here.

> In theory, this should have been NFC patch

Unless I miss something this is producing different machine-IR with and without your patch. If so this can and should be tested in isolation (if it is not changing the IR, then why bother with this patch in the first place?)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D124631



More information about the llvm-commits mailing list