Skip to content

Optimize localify (regalloc onto locals):#20

Open
cfallin wants to merge 1 commit into
mainfrom
optimize-localify
Open

Optimize localify (regalloc onto locals):#20
cfallin wants to merge 1 commit into
mainfrom
optimize-localify

Conversation

@cfallin

@cfallin cfallin commented Jul 24, 2026

Copy link
Copy Markdown
Member
  • Use a bitset rather than a HashSet for the live-set fixpoint computation;
  • Use a dense index space consisting only of block-crossing values for those bitsets, to keep them smaller;
  • Use a local dense liveset datastructure that uses epoch-numbers-per-slot to allow O(1) clearing between blocks.

Overall, speeds up compilation on a very large input from ~173 seconds to ~7 seconds.

- Use a bitset rather than a HashSet for the live-set fixpoint
  computation;
- Use a dense index space consisting *only* of block-crossing values for
  those bitsets, to keep them smaller;
- Use a local dense liveset datastructure that uses
  epoch-numbers-per-slot to allow O(1) clearing between blocks.

Overall, speeds up compilation on a very large input from ~173 seconds
to ~7 seconds.
@cfallin cfallin mentioned this pull request Jul 24, 2026
@cfallin
cfallin requested a review from fitzgen July 24, 2026 21:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant