-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Replace successive "ldr" and "str" instructions with "ldp" and "stp" #77540
Merged
Merged
Changes from all commits
Commits
Show all changes
30 commits
Select commit
Hold shift + click to select a range
b88ff31
Replace successive "ldr" and "str" instructions with "ldp" and "stp"
AndyJGraham f0c918c
No longer use a temporary buffer to build the optimized instruction.
AndyJGraham f1b236e
Addressed assorted review comments.
AndyJGraham c0533bd
Now optimizes ascending locations and decending locations with
AndyJGraham 372ee97
Modification to remove last instructions.
AndyJGraham 12fc291
Merge branch 'main'
AndyJGraham 0b377ed
Ongoing improvements to remove previously-emitted instruction
AndyJGraham 46b85f8
Stopped optimization of consecutive instructions that straddled an in…
AndyJGraham e4741f9
Addressed code change requests in GitHub.
AndyJGraham 2822f64
Merge branch 'main'
AndyJGraham 10a4510
Various fixes to ldp/stp optimization
BruceForstall d80a69a
Merge pull request #1 from BruceForstall/LdpStp_Modifications_Fixes
AndyJGraham f6a49bf
Delete unnecessary and incorrect assert
BruceForstall ed4d070
Merge pull request #2 from BruceForstall/LdpStp_Modifications_FixAsse…
AndyJGraham 4b0e51e
Diagnostic change only, to confirm whether a theory is correct or
AndyJGraham 2997a8e
Revert "Diagnostic change only, to confirm whether a theory is correc…
AndyJGraham f0907cc
Do not merge. Temporarily removed calls to
AndyJGraham c5c4234
Modifications to better update the IP mapping table for a replaced in…
AndyJGraham bb8fdea
Merge branch 'main' of ssh://gerrit.oss.arm.com/enterprise-llt/dotnet…
AndyJGraham 65eed90
Minor formatting change.
AndyJGraham e03b375
Check for out of range offsets
a74nh 2cef6fc
Don't optimise during prolog/epilog
a74nh 41a9828
Merge branch 'dotnet:main' into LdpStp_Modifications
a74nh ba89fd3
Fix windows build error
a74nh 1fbf423
Merge branch main
a74nh ca9a325
IGF_HAS_REMOVED_INSTR is ARM64 only
a74nh e66ad66
Add OptimizeLdrStr function
a74nh 8b44843
Fix formatting
a74nh 2e7aaf6
Ensure local variables are tracked
a74nh fe76782
Don't peephole local variables
a74nh 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 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.
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.
For now, can we put in
#ifdef TARGET_ARM64
? Likewise, put#define IGF_HAS_REMOVED_INSTR 0x2000
underTARGET_ARM64
? I see TP regression on x64 otherwise: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.
Done. I made
emitRemoveLastInstruction()
ARM64 only too, rather than have it only setIGF_HAS_REMOVED_INSTR
on ARM64.