JIT: Mark replacements as dirty after setting GTF_VAR_DEATH (#88669)
authorJakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>
Thu, 13 Jul 2023 20:36:41 +0000 (22:36 +0200)
committerGitHub <noreply@github.com>
Thu, 13 Jul 2023 20:36:41 +0000 (22:36 +0200)
commitddbce91b241bcf0d7f33d04d33520659addd6dd7
tree75f42d17dd40e9d2d19fda0417106363eeb008de
parent31b1fd41f94cbcd181fcd572e6cc4cf42ddc7e32
JIT: Mark replacements as dirty after setting GTF_VAR_DEATH (#88669)

Physically promoted struct locals are marked as dying when their
remainder dies since all other state is stored in other locals. However,
when we do this we must also mark all replacements as stale; otherwise
a future struct use could skip writebacks and effectively introduce new
uses, invalidating the previously marked last use bit.

Fix #88616
src/coreclr/jit/promotion.cpp
src/tests/JIT/Regression/JitBlue/Runtime_88616/Runtime_88616.cs [new file with mode: 0644]
src/tests/JIT/Regression/JitBlue/Runtime_88616/Runtime_88616.csproj [new file with mode: 0644]