Skip to content
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

Various spillmap fixes. #198

Merged
merged 5 commits into from
Sep 10, 2024
Merged

Various spillmap fixes. #198

merged 5 commits into from
Sep 10, 2024

Conversation

ptersilie
Copy link

This is a collection of fixes for the spillmap algorithm that calculates extra locations for live variables.

vext01 and others added 5 commits September 10, 2024 16:20
We found out the hard way that if we allow this kind of instruction
through it deletes a load of essential state!

Co-authored-by: Lukas Diekmann <[email protected]>
This uses a set to track precisely how many mappings are required. This
means we can bomb-out if there are more than we can handle.

Co-authored-by: Edd Barrett <[email protected]>
As-is, we were using the internal LLVM register numbers in the mapping,
meaning that we didn't consider (e.g.) `rax` and `eax` as the same
register!

Fixes a bf.c test when mem2reg is used in the AOT pipeline.

Co-authored-by: Edd Barrett <[email protected]>
@vext01
Copy link

vext01 commented Sep 10, 2024

(We fixed the nested loop thing, but some of the awfy benchmarks still don't always work, but we've made the executive decision to move onwards with this so that Lukas can re-write this section of the code so that it can handle >2 extra locations -- it's not ideal, but the branch is getting so long-lived/complicated...)

@ltratt ltratt added this pull request to the merge queue Sep 10, 2024
Merged via the queue into ykjit:main with commit 7e519f0 Sep 10, 2024
2 checks passed
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.

3 participants