-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[JIT] X64/ARM64 - CAST
removals for small types on ADD
, SUB
, MUL
, AND
, OR
, XOR
, NOT
, NEG
#77874
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
Merged
Merged
Changes from 5 commits
Commits
Show all changes
71 commits
Select commit
Hold shift + click to select a range
f6bb7d4
Trying to optimize Add
TIHan 81a1bcb
Trying to optimize Add
TIHan 1b29b47
Trying to optimize Add
TIHan 2599997
Merge remote-tracking branch 'upstream/main' into add-opt-x64
TIHan 5e3741c
Added IntAdd disasm tests. Expanded cast removals to all arithmetic a…
TIHan 371ca7d
Merge branch 'main' into add-opt-x64
TIHan 2a43021
Checked unsigned
TIHan 5428df9
Limit arithmetic opt
TIHan ac58639
Merge branch 'add-opt-x64' of https://github.com/TIHan/runtime into a…
TIHan 7badcc0
Merge remote-tracking branch 'upstream/main' into add-opt-x64
TIHan 6d85c1a
Moving optimization to Morph
TIHan 02dbb22
Cleanup. Allow more opts.
TIHan 779dd21
Fix build
TIHan a263faa
More opts
TIHan f7c8b68
Added regression test. Allowing all arithmetic ops. Only do transform…
TIHan 3eba2fa
Do not do optimization for unsigned ops
TIHan ec3dcda
Added more division test cases
TIHan 183d570
Fixed test. Checking overflows on cast. Comparing actual types proper…
TIHan 4378c1b
Added flag
TIHan 4a0b63d
Remove flag
TIHan 73fbc61
Formatting
TIHan 38ec57f
Revert minor change
TIHan 343badf
Removed ClearRegOptionalAndContained
TIHan 2e5c716
Merge remote-tracking branch 'upstream/main' into add-opt-x64
TIHan e417b63
Merge remote-tracking branch 'upstream/main' into add-opt-x64
TIHan 95840b2
Trying out lowering
TIHan 1c2e139
Expanded lowering cast removal to arm
TIHan 49341e6
Added regression test
TIHan 60f48ba
Do not use disasm checks for these tests
TIHan b267aa5
Update lower.cpp
TIHan caefb4a
Fixing
TIHan e226f30
For JCC, do not change castOp type if it is a bool
TIHan 84ae5a7
Added more regression tests made from Fuzzlyn. Reverted minor cast ch…
TIHan 937596b
Remove Morph impl as we are not favoring Lowering. Do not change var …
TIHan 6cc95ca
Formatting
TIHan e5c9b93
Re-arranging regression tests. Some comments. Some And and Or disasm …
TIHan 966df08
Fixed a few minor regressions
TIHan 94411b5
minor change
TIHan 4cb4d6d
Merge remote-tracking branch 'upstream/main' into add-opt-x64
TIHan 3ec0f0d
Moving optimization to simple lowering
TIHan cb1983c
Moving back to morph
TIHan 6f71cff
Add print for implicit cast
TIHan ca60055
Do it a little earlier
TIHan e445092
Mark as do-not-cse to prevent the CAST from being removed on assignment
TIHan 4b9d344
Fix test
TIHan 7022968
Remove do-not-set cse
TIHan ec5088f
Moving optimization to simple lowering again for correctness
TIHan 62938ba
Disable some of the regression tests for mono
TIHan e90ce88
Fixing IntOr disasm test
TIHan 769d1c1
Formatting, fixing test again
TIHan 6903869
Smaller size operators can contain/reg-optional operands that are larger
TIHan de34d34
Formatting
TIHan f1ef6f3
Added subtract tests
TIHan 38386d5
Update IntAnd.cs
TIHan f34f943
Update IntAnd.cs
TIHan 232fe85
Update IntOr.cs
TIHan 476143e
Update IntSubtract.cs
TIHan e0d49b3
Added IsContainableMemoryOpSize
TIHan 21f3a8b
Merged
TIHan aad9ca3
Merge branch 'add-opt-x64' of https://github.com/TIHan/runtime into a…
TIHan 37fc2fb
Merge remote-tracking branch 'upstream/main' into add-opt-x64
TIHan 23427f6
Removed unnecessary code.
TIHan 520be33
Update IntAnd.cs
TIHan 7cac5e2
Update Regression1.cs
TIHan c6a31fe
Update Regression1.cs
TIHan 2fbe829
Update Regression2.cs
TIHan 3384759
Update Regression2.cs
TIHan 2ea70d4
Merge remote-tracking branch 'upstream/main' into add-opt-x64
TIHan 40b59c2
Disable if optimizations are disabled
TIHan 051d513
Merge branch 'add-opt-x64' of https://github.com/TIHan/runtime into a…
TIHan 25784fb
Merge
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
There are no files selected for viewing
This file contains hidden or 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 hidden or 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 hidden or 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.
Uh oh!
There was an error while loading. Please reload this page.