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

cranelift: Drop non-allocatable register operands #8605

Merged

Conversation

jameysharp
Copy link
Contributor

Consumption of non-allocatable operands was added in #5253 and #5132, and removed in #8524 and following PRs. Now they are not only ignored by regalloc2, but the placeholders that it leaves in the allocation results are also ignored by Cranelift. So let's stop adding them to the operands list entirely.

Consumption of non-allocatable operands was added in bytecodealliance#5253 and bytecodealliance#5132,
and removed in bytecodealliance#8524 and following PRs. Now they are not only ignored by
regalloc2, but the placeholders that it leaves in the allocation results
are also ignored by Cranelift. So let's stop adding them to the operands
list entirely.
@jameysharp jameysharp requested a review from elliottt May 13, 2024 04:26
@jameysharp jameysharp requested a review from a team as a code owner May 13, 2024 04:26
@github-actions github-actions bot added cranelift Issues related to the Cranelift code generator cranelift:area:machinst Issues related to instruction selection and the new MachInst backend. labels May 13, 2024
Copy link
Member

@elliottt elliottt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was surprising to me! However, if we don't ever generate RA2 operands for VRegs that have already been given allocations and we use those existing allocations during instruction emission, we just don't need the fixed-nonallocatable constraints!

Very cool change :)

@jameysharp jameysharp added this pull request to the merge queue May 14, 2024
Merged via the queue into bytecodealliance:main with commit 2e3ba81 May 14, 2024
22 checks passed
@jameysharp jameysharp deleted the no-fixed-nonallocatable branch May 14, 2024 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cranelift:area:machinst Issues related to instruction selection and the new MachInst backend. cranelift Issues related to the Cranelift code generator
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants