Cranelift: update to latest regalloc2 for better clobber and splitting handling.#4324
Merged
cfallin merged 1 commit intoJun 28, 2022
Conversation
Subscribe to Label ActionDetailsThis issue or pull request has been labeled: "cranelift", "cranelift:area:aarch64", "cranelift:area:machinst", "cranelift:area:x64", "isle"Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
alexcrichton
approved these changes
Jun 27, 2022
Member
alexcrichton
left a comment
There was a problem hiding this comment.
All seems reasonable to me, and very impressive wins!
akirilov-arm
previously requested changes
Jun 27, 2022
4b7217b to
41fc5e6
Compare
Member
Author
|
Thanks @akirilov-arm -- I added back the missing caller-saves on aarch64 and now there are no filetest diffs. PTAL? |
- Handle call instructions' clobbers with the clobbers API, using RA2's clobbers bitmask (bytecodealliance/regalloc2#58) rather than clobbers list; - Pull in changes from bytecodealliance/regalloc2#59 for much more sane edge-case behavior w.r.t. liverange splitting.
41fc5e6 to
c2d2ff9
Compare
alexcrichton
approved these changes
Jun 28, 2022
akirilov-arm
approved these changes
Jun 28, 2022
Contributor
akirilov-arm
left a comment
There was a problem hiding this comment.
The AArch64 bits look good to me!
afonso360
pushed a commit
to afonso360/wasmtime
that referenced
this pull request
Jun 30, 2022
- Handle call instructions' clobbers with the clobbers API, using RA2's clobbers bitmask (bytecodealliance/regalloc2#58) rather than clobbers list; - Pull in changes from bytecodealliance/regalloc2#59 for much more sane edge-case behavior w.r.t. liverange splitting.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Handle call instructions' clobbers with the clobbers API, using RA2's
clobbers bitmask (Clobbers: use a more efficient bitmask representation in API. regalloc2#58) rather than clobbers
list;
Pull in changes from Limit split count per original bundle with fallback 1-to-N split. regalloc2#59 for much more sane
edge-case behavior w.r.t. liverange splitting.
Currently refers to local path for RA2 so will fail CI; I will update
this once RA2 PRs 58 and 59 are merged, version-bumped and released.
Fixes #4291.