forked from dotnet/runtime
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Unify set-reg-to-imm functions and optimize with LEA at runtime on x64 (
dotnet#60228) This change * Unifies the genSetRegToImm and instGen_Set_Reg_To_Imm functions, removing the former. genSetRegToImm seems to be a variant that did not support relocations/handles, while the latter supported both. We now exclusively use the emitAttr to determine this. This was only a change in xarch since on ARM architectures the former function just forwarded to the latter. * Generates lea more often for handle GT_CNS_INT nodes on x64. Previously the logic generated only lea when a relocation was *required*, which is only the case for prejit. In particular, all VSD calls load an indirection cell that can use lea instead of the longer mov encoding during runtime JIT, which results in a nice code size decrease. * Changes ARM64 and ARM to handle byref-typed GT_CNS_INT nodes. This was fixed for xarch a few years back in 52a8890 but that change was not made to ARM architectures.
- Loading branch information
1 parent
8076775
commit f40247e
Showing
8 changed files
with
64 additions
and
137 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.