-
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.
JIT: Remove unneeded unconditional jumps (#69041)
* resolve merge conflict * add checks for post-call jmp removal * use emitIsLastInsCall() to preclude call,jmp pairs and simplfy emitRemoveJumpToNextInst check for aligned instruction groups and skip them to preserve alignment linearize emitRemoveJumpToNextInst, add safety asserts for ordering and comment the requirement, add debug output explaining decisions * address feedback * change instruction omit to use code size zero * address feedback * add assertion info dump * address feedback * address feedback * remove end loop cleanup. cleanup jitdump messages and add early out flag. * address feedback, formatting * update variable naming and clarify comments * more feedback * add last instruction check and group flag set in emitSavIG * more feedback * fix jitdump output and make removal candidate printing optional * remove emitDispJumpList parameter * change overall size calculation and allow 0 size align to be printed in dumps * fix invorrect jmp check, remove inline for emitInstHasNoCode * allow alignment printing even when zero * remove debug printf and fix x86 * address feedback
- Loading branch information
Showing
13 changed files
with
429 additions
and
69 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
Oops, something went wrong.