Normalize returns after optimizing returned indirs#64881
Normalize returns after optimizing returned indirs#64881jakobbotsch merged 1 commit intodotnet:mainfrom
Conversation
This ensures we normalize returned indirs of locals, even when we fold it into an access of a promoted local's field. This may change a signed indir into access of an unsigned field, which may need a sign-extending cast to be inserted. It is not ideal that fgMorphRetInd can 'lose' this information, but given that it is a specialized optimization it seems the simplest solution is to just rely on the follow-up normalization. Fix dotnet#61359
|
Tagging subscribers to this area: @JulieLeeMSFT Issue DetailsThis ensures we normalize returned indirs of locals, even when we fold It is not ideal that fgMorphRetInd can 'lose' this information, but Fix #61359
|
|
cc @dotnet/jit-contrib |
|
The MacOS timeouts are known from other PRs. |
|
/backport to release/6.0 |
|
Started backporting to release/6.0: https://github.com/dotnet/runtime/actions/runs/4306469666 |
This ensures we normalize returned indirs of locals, even when we fold
it into an access of a promoted local's field. This may change a signed
indir into access of an unsigned field, which may need a sign-extending
cast to be inserted.
It is not ideal that fgMorphRetInd can 'lose' this information, but
given that it is a specialized optimization it seems the simplest
solution is to just rely on the follow-up normalization.
Fix #61359
Only diffs in the miscompiled method.