Parallel move legalisation, infinite registers reordering and Spilling#6086
Draft
anominos wants to merge 71 commits into
Draft
Parallel move legalisation, infinite registers reordering and Spilling#6086anominos wants to merge 71 commits into
anominos wants to merge 71 commits into
Conversation
- load/store/alloca ops with stackptrtype
- allows from xdsl.dialects import riscv; riscv.stack.AllocaOp
Riscv stack dialect
Regalloc/spilling/ghc
remove reduced register set
use ordered set to maintain consistentcy
use pmov for casting block args
Regalloc/reorder inf
- allow stackslottype
Regalloc/alloc inf bugfix
- this pass may not converge to fixed point
- previously iterated on stale references to outputs. - inputs never change, so we don't need to index on them
Reorder inf/bugfix
Regalloc/spilling/min
Pmov/free regs
nchappe
added a commit
to opencompl/veir
that referenced
this pull request
Jun 9, 2026
This uses xdslproject/xdsl#6086 as a reference
nchappe
added a commit
to opencompl/veir
that referenced
this pull request
Jun 9, 2026
This uses xdslproject/xdsl#6086 as a reference
nchappe
added a commit
to opencompl/veir
that referenced
this pull request
Jun 10, 2026
This departs a bit from xdslproject/xdsl#6086 as alloca expects a value_type attribute to determine the size of the allocation, and it returns a RISCV register.
nchappe
added a commit
to opencompl/veir
that referenced
this pull request
Jun 10, 2026
This departs a bit from xdslproject/xdsl#6086 as alloca expects a value_type attribute to determine the size of the allocation, and it returns a RISCV register.
alexanderlhicks
pushed a commit
to project-llzk/veir
that referenced
this pull request
Jun 11, 2026
This uses xdslproject/xdsl#6086 as a reference
alexanderlhicks
pushed a commit
to project-llzk/veir
that referenced
this pull request
Jun 11, 2026
This departs a bit from xdslproject/xdsl#6086 as alloca expects a value_type attribute to determine the size of the allocation, and it returns a RISCV register.
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.
This Draft PR contains all the changes made for Spilling and other optimisations in register allocation.
This PR contains many changes, and is not intended to be merged all at once.
Currently, many tests are missing
Individual PRs can be found at https://github.com/anominos/xdsl/pulls?q=is%3Apr+is%3Aclosed