-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[JIT] X86/X64 - Eliminate redundant 'cmp' instructions #82750
Merged
+99
−1
Merged
Changes from 1 commit
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
5f12506
Fixed improper peephole zero-extension removal when cdq/cdqe/cwde ins…
TIHan cf0bdf2
Update regression test
TIHan 697dfdc
Formatting
TIHan f78c28d
Handle cdq differently
TIHan b6467cb
Handle cdq differently
TIHan 334fc46
Handle cdq differently
TIHan 47eb762
Initial commit to eliminate redundant 'cmp' instructions
TIHan ef8688b
Take into account cmpxchg
TIHan 2184607
Take into account cmpxchg
TIHan 25ac969
Feedback
TIHan 2cc3541
Temporarily disable cmp opt if we encounter a mov
TIHan 1013666
Merge remote-tracking branch 'upstream/main' into redundant-cmp-opt
TIHan 15e6462
Merge branch 'redundant-cmp-opt' of https://github.com/TIHan/runtime …
TIHan 3218581
Allow checking for mov
TIHan e5e2599
Allow regardless of targetReg
TIHan baee67f
Allow regardless of targetReg
TIHan 0827dc3
Merge branch 'zero-extend-fix' into redundant-cmp-opt
TIHan 03e4f8b
Checking if an instruction resets a flag.
TIHan 5058e59
Remove useless comment
TIHan 0ba01ef
Minor fix
TIHan 8d8485e
Abort are checking cmp
TIHan 49b6f27
Some refactoring. Taking into account any instruction that modifies f…
TIHan 49a8043
Minor cleanup
TIHan ee0cd47
Remove function from header
TIHan 91c1054
Quick fix
TIHan 1c5f518
Sync
TIHan f74a895
Merge
TIHan 61ee9da
Merge remote-tracking branch 'upstream/main' into redundant-cmp-opt
TIHan 4d4e059
Formatting
TIHan 03d9ab3
Only look for 'cmp reg, reg'
TIHan 51c70a7
Added comment
TIHan 3dd723f
Update src/coreclr/jit/emitxarch.cpp
TIHan 0cb00b4
Update src/coreclr/jit/emitxarch.cpp
TIHan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Initial commit to eliminate redundant 'cmp' instructions
commit 47eb762a4acd4c9b132a6e0de8616f9d0716f153
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't really want to specify specific instructions - I'm just doing this for now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where did you get this list from?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm just aware of the set and jmp instructions and we have the list defined in our instruction header file, so I just copied it from there.