-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Align inner loops #44370
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
Align inner loops #44370
Changes from 1 commit
Commits
Show all changes
59 commits
Select commit
Hold shift + click to select a range
32236ac
Detect inner loop and add 10 bytes of padding at the beginning
kunalspathak a2ec5d1
generate nop in previous blocks
kunalspathak 89b5812
TODO: figure out if anything needs to be done in optCanonicalizeLoop
kunalspathak a84b8be
Add COMPlus_JitAlignLoopMinBlockWeight and COMPlus_JitAlignLoopMaxCod…
kunalspathak a51759a
Reuse AlignLoops flag for dynamic loop alignment
kunalspathak 2f57c78
Detect back edge and count no. of instructions before doing loop alig…
kunalspathak b4848f8
fix bugs
kunalspathak fe92c62
propagate the basic block flag
kunalspathak 51c3171
Switch from instrCount to codeSize
kunalspathak 0b227a8
JitAlignLoopWith32BPadding
kunalspathak a9c9764
Add emitLoopAlign32Bytes()
kunalspathak 7f1f787
wip
kunalspathak aac18a4
Add logic to avoid emitting nop if not needed
kunalspathak 5c3c40e
fix a condition
kunalspathak fb91d41
Several things:
kunalspathak 0b8eb78
Added JitAlignLoopAdaptive algorithm
kunalspathak 072a113
wip
kunalspathak 7e1328a
revert emitarm64.cpp changes
kunalspathak d49e84d
fix errors during merge
kunalspathak f6b5135
fix build errors
kunalspathak 256aae5
refactoring and cleanup
kunalspathak 26c3c84
refactoring and build errors fix
kunalspathak 6bb1a75
jit format
kunalspathak 03f6ba6
one more build error
kunalspathak 8036061
Add emitLoopAlignAdjustments()
kunalspathak 809fc85
Update emitLoopAlignAdjustments to just include loopSize calc
kunalspathak 5b9b7a0
Remove #ifdef ADAPTIVE_LOOP_ALIGNMENT
kunalspathak 5584d71
Code cleanup
kunalspathak f66ee24
minor fixes
kunalspathak f2f935d
Fix issues:
kunalspathak 99ea31f
Other fixes
kunalspathak 8f64963
Remove align_loops flag from coreclr
kunalspathak 1c85c3c
Review feedback
kunalspathak ef0b149
jit format
kunalspathak 599ad43
Add FEATURE_LOOP_ALIGN
kunalspathak 97fd373
remove special case for align
kunalspathak 37b0cdb
Do not propagate BBF_LOOP_ALIGN in certain cases
kunalspathak c0cc8af
Introduce instrDescAlign and emitLastAlignedIgNum
kunalspathak 26f7e61
Several changes:
kunalspathak 305b812
jit format
kunalspathak f8bdfec
fix issue related to needLabel
kunalspathak a205cc0
align memory correctly in superpmi
kunalspathak d576e9c
Few more fixes:
kunalspathak 28480d1
minor JITDUMP messages
kunalspathak bf03842
Review comments
kunalspathak dae9749
missing check
kunalspathak a153742
Mark the last align IG the one that has non-zero padding
kunalspathak ef02fbb
More review comments
kunalspathak e7e0d68
Propagate BBF_LOOP_ALIGN for compacting blocks
kunalspathak 4b0e64d
Handle ALIGN_LOOP flag for loops that are unrolled
kunalspathak 6fddce8
jit format
kunalspathak bad5685
Loop size upto last back-edge instead of first back-edge
kunalspathak 8c30a96
Take loop weight in consideration
kunalspathak f32f560
remove align flag if loop is no longer valid
kunalspathak 23177b0
Adjust loop block weight to 4 instead of 8
kunalspathak 9f3cb2d
missing space after rebase
kunalspathak 74620ed
fix the enum values after rebase
kunalspathak b100226
review feedback
kunalspathak dbeb7d6
Add missing #ifdef DEBUG
kunalspathak 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
Remove align_loops flag from coreclr
- Loading branch information
commit 8f64963b9944d92a689c6fa30c347e3736b5dc44
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
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
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.