Uh oh!
There was an error while loading. Please reload this page.
JIT: Handle mistyped commas in morph in pre-order too - #91587
Conversation
Morph has post-order logic to compensate for mistyped commas produced by impStoreStruct. However, block morphing can optimize unused stores into INDs; this interacts with the mistyped commas to produce illegal IR shapes (e.g. `COMMA<simd12>(..., IND<ubyte>(...))`). The ideal solution is to fix impStoreStruct (dotnet#91586 tracks this), but this change has a more surgical fix for the problem that can be backported to .NET 8. Fixdotnet#91443
ghost
commented
Sep 5, 2023
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue DetailsMorph has post-order logic to compensate for mistyped commas produced by impStoreStruct. However, block morphing can optimize unused stores into INDs; this interacts with the mistyped commas to produce illegal IR shapes (e.g. The ideal solution is to fix impStoreStruct (#91586 tracks this), but this change has a more surgical fix that can be backported to .NET 8. It duplicates the compensation logic to run in pre-order too. Fix #91443
|
jakobbotsch
commented
Sep 6, 2023
/azp run runtime-coreclr superpmi-diffs |
|
Azure Pipelines successfully started running 1 pipeline(s). |
jakobbotsch
commented
Sep 6, 2023
jakobbotsch
commented
Sep 7, 2023
/backport to release/8.0 |
Started backporting to release/8.0: https://github.com/dotnet/runtime/actions/runs/6107757600 |
Morph has post-order logic to compensate for mistyped commas produced by impStoreStruct. However, block morphing can optimize unused stores into INDs; this interacts with the mistyped commas to produce illegal IR shapes (e.g.
COMMA<simd12>(..., IND<ubyte>(...))).The ideal solution is to fix impStoreStruct (#91586 tracks this), but this change has a more surgical fix that can be backported to .NET 8. It duplicates the compensation logic to run in pre-order too.
Fix#91443