Repository navigation
Stop generating CLS_VAR for 64 bit targets - #66298
Conversation
|
Tagging subscribers to this area: @JulieLeeMSFT Issue DetailsThis is the first change that fully disables We are not expecting diffs on ARM64, and expecting some limited diffs on x64, due to the fact we will now be "hoisting" more constants (#64039).
|
|
Actually fewer diffs than I initially feared, very nice (and green CI!). @dotnet/jit-contrib - the simple part of deleting |
|
Nice! Do you plan to delete CLS_VAR in another change? |
|
Yes, there will be at least the x86 change and the ARM change (probably the latter one will actually delete the code). |
This is the first change that fully disables
CLS_VAR- on 64 bit platforms. The reason I am doing it this way is because there will be many more (positive) diffs on x86, and ARM likely requires some CSE heuristic changes and/or quirks to avoid some regressions.We are not expecting diffs on ARM64. But expecting some limited amount of them on x64, caused by:
gtSetEvalOrderbehavior: more aggressive reversal ofASG(..., IND(static addr))(it didn't reverse for leafCLS_VARRHSs).At first, my goal was to make this a zero-diff change, by mititigating all the above ("and more") with other changes, but after some weeks of looking at the problems from different angles, I "gave up" and decided it would be more productive to accept the diffs.
Diffs.