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.
StoreIND/Store_BLK/Store_OBJ improvements. (dotnet#38316)
* Arm64: support contained `GT_LCL_VAR/FLD_ADDR` in indir. Support contained `GT_LCL_VAR_ADDR, GT_LCL_FLD_ADDR` under `IND, STOREIND`. * XARCH: Support contained `GT_LCL_FLD_ADDR` in IND. Support contained `GT_LCL_FLD_ADDR` under `GT_STORE_IND, GT_IND`. * Clear `GTF_IND_ASG_LHS` after Rationalize for STORE_OBJ/BLK. We were doing this for `STOREIND`, but forgetting for `STORE_OBJ/BLK`. * Extract `LowerStoreIndirCommon`, `LowerIndir`. Extract without changes, I will need to add additional calls to them later. * Call the extracted funtions. Fix a few regressions with `NoRetyping`. * Create `LEA` of comples addr expr. Gives a few improvements when addr has an index. * Extract `LowerBlockStoreCommon`. * Tranform STORE_BLK/OBJ into STOREIND. When it is possible and profitable. * Don't tranform for GC and small types. For GC types we were not trying to contain addr(why?) when needed a barrier and it looked dangerous for me to do such a change(for 5.0). For small types we were generating `movzx rax` for `IND byte` instead of `mov ax` . * Update src/coreclr/src/jit/lower.cpp Co-authored-by: Carol Eidt <[email protected]> * Use `TODO-CQ`. * Extract `Rationalizer::RewriteIndir`. * Fix code review. Co-authored-by: Carol Eidt <[email protected]>
- Loading branch information
Showing
8 changed files
with
309 additions
and
118 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
Oops, something went wrong.