-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
RLSRA: correctly update register dependencies when splitting intervals
This commit fixes horrible bug in RSLRA causing arguments not being moved to argument registers when the original interval was split. This was because when updating instructions to use newly create v-reg for just-split interval, register dependencies were not updated, referring to original v-reg. To fix this problem, this commit introduces mew method - `#replaceVirtualRegistersUsing:` - to perform v-reg replacements which updates not only register used by the instruction, but also those referred-to in dependencies (and possibly other Tinyrossa-specific metadata attached to an instruction).
- Loading branch information
Showing
3 changed files
with
43 additions
and
8 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