JIT: Handle promoted struct liveness updates in forward sub (#81789)
authorJakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>
Wed, 8 Feb 2023 20:54:47 +0000 (21:54 +0100)
committerGitHub <noreply@github.com>
Wed, 8 Feb 2023 20:54:47 +0000 (21:54 +0100)
commita16133614cb1f7227bca2264cade9294c26d55f4
tree1813c0afe43e4b5f47d2097a8b7576aab618b757
parentb493bd939bbf2440493f4d69ba3b20a166c1ea99
JIT: Handle promoted struct liveness updates in forward sub (#81789)

This logic needed to be updated together with 7131ef9, without the
update we have a correctness bug.

The new correct and more precise unmarking also allows us to remove a
case from fgMakeOutgoingStructArgCopy. The case is covered by the
last-use optimization one now (specifically it was only happening for
some undone promotion cases).
src/coreclr/jit/forwardsub.cpp
src/coreclr/jit/gentree.h
src/coreclr/jit/morph.cpp