Uh oh!
There was an error while loading. Please reload this page.
[JIT] LclMorph GT_IND(GT_LCL_VAR_ADDR) => GT_CAST(GT_LCL_VAR) narrow-cast only - #81454
Conversation
ghost
commented
Feb 1, 2023
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch, @kunalspathak Issue Detailsnull
|
3c27c57 to
af037ecCompareGT_IND(GT_LCL_VAR_ADDR) => GT_LCL_VAR for small typesGT_IND(GT_LCL_VAR_ADDR) => GT_LCL_VAR for small typesGT_IND(GT_LCL_VAR_ADDR) => GT_CAST(GT_LCL_VAR) for small typesGT_IND(GT_LCL_VAR_ADDR) => GT_CAST(GT_LCL_VAR) for small typesGT_IND(GT_LCL_VAR_ADDR) => GT_CAST(GT_LCL_VAR) for small typesGT_IND(GT_LCL_VAR_ADDR) => GT_CAST(GT_LCL_VAR) for small typesGT_IND(GT_LCL_VAR_ADDR) => GT_CAST(GT_LCL_VAR) for small typesUh oh!
There was an error while loading. Please reload this page.
GT_IND(GT_LCL_VAR_ADDR) => GT_CAST(GT_LCL_VAR) for small typesGT_IND(GT_LCL_VAR_ADDR) => GT_CAST(GT_LCL_VAR) narrow-cast only@dotnet/jit-contrib cc @jakobbotsch There are a lot of ARM32 regressions, but this is due to the CSE rules for that target. |
jakobbotsch
commented
Feb 15, 2023
Can you show some examples? What are/aren't we CSE'ing that changed from before? |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
TIHan
commented
Feb 15, 2023
@jakobbotsch diff dump of one of the ARM32 regressions |
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: SingleAccretion <62474226+SingleAccretion@users.noreply.github.com>
TIHan
commented
Feb 16, 2023
@SingleAccretion Ok, looks like I was seeing things before - allowed looking at long types for 32bit and there are quite a bit of improvements. |
jakobbotsch
left a comment
There was a problem hiding this comment.
LGTM.
We looked at one of the arm32 regressions offline and it was caused by CSE being less aggressive due to more tracked locals now existing, so not something we should be compensating for here.
Description
Will resolve: #55064
There are cases where
IND{short}(LCL_VAR_ADDR{int})can be transformed toCAST{int <- short <- int}(LCL_VAR{int})to prevent storing and reading from memory, but only if the indirection is narrow for integer types.This transformation will not occur for the storage of an assignment:
ASG(IND{short}(LCL_VAR_ADDR{int}}, ..).Acceptance Criteria