-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Various fixes for consecutive registers found with jitstressregs (#84824
) * restore the upper vector at the use of GT_FIELD_LIST * Introduce isLiveAtConsecutiveRegistersLoc and fix #84747 This method will track if the defs/uses are live at the same location as where the consecutive registers were allocated. If yes, it will skip the constraint imposition on it during JitStressRegs * Handle tracking of previously assigned register for copyReg When we have copyReg that was just restored or previously assigned to a different register, also track it as live at the location so it doesn't get allocated again for different refposition at the same location. * fix the release build errors * Mark consecutive refpositions registers as busy * Update the comments * Stop stresslimiting registerAssignment and instead limit the free registers Under JitStressRegs, there are multiple ways in which consecutive registers demand cannot be met. So skip restricting the registers for `registerAssignment` of a refPosition (which are allowable candidates that can be assigned to the given refposition). Instead limit the free registers to alternate under stress mode, so we can verify the code if it can handle situation where it needs to pick from a mix of free/busy registers. * Introduce updateRegsFreeBusyState() for common trackign * Update comment * misc. changes * review feedback
- Loading branch information
1 parent
6149ca0
commit 42acf9e
Showing
4 changed files
with
190 additions
and
75 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