elliottt opened PR #5253 from trevor/add-fixed-nonallocatable-operands
to main
:
Add fixed-nonallocatable constraints when argument registers are physical but come from the nonallocatable set.
<!--Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
elliottt edited PR #5253 from trevor/add-fixed-nonallocatable-operands
to main
:
Plumb the set of allocatable registers through the
OperandCollector
and use it to determine when operands come from the fixed-nonallocatable set. Augment the existing constraint generation functions to detect this case, and generate fixed_nonallocatable constraints when appropriate.
<!--Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
elliottt updated PR #5253 from trevor/add-fixed-nonallocatable-operands
to main
.
elliottt has marked PR #5253 as ready for review.
elliottt updated PR #5253 from trevor/add-fixed-nonallocatable-operands
to main
.
elliottt requested fitzgen for a review on PR #5253.
elliottt updated PR #5253 from trevor/add-fixed-nonallocatable-operands
to main
.
fitzgen submitted PR review.
fitzgen submitted PR review.
fitzgen created PR review comment:
Did you try reusing
'func
here by chance and find that a new lifetime was actually necessary to get the code to compile? This is pretty invasive and adds a third(!!) lifetime to theIsleContext
so if it isn't actually necessary it would be nice to skip.
elliottt created PR review comment:
I didn't try that, as I was assuming that the two structures would come from different lifetimes. I'll give that a try, and see if anything breaks.
elliottt submitted PR review.
elliottt edited PR review comment.
elliottt updated PR #5253 from trevor/add-fixed-nonallocatable-operands
to main
.
elliottt updated PR #5253 from trevor/add-fixed-nonallocatable-operands
to main
.
elliottt created PR review comment:
That worked, thanks for pointing this out!
elliottt submitted PR review.
elliottt submitted PR review.
elliottt created PR review comment:
Now that I'm thinking about this, we don't need the actual
MachineEnv
plumbed through, just thePRegSet
that's used in theOperandCollector
. Moving the creation of thePRegSet
toLower::new
removes theMachineEnv
reference, and only iterates it once instead of for each instruction.
elliottt updated PR #5253 from trevor/add-fixed-nonallocatable-operands
to main
.
elliottt updated PR #5253 from trevor/add-fixed-nonallocatable-operands
to main
.
elliottt has marked PR #5253 as ready for review.
elliottt edited PR #5253 from trevor/add-fixed-nonallocatable-operands
to main
:
Plumb the set of allocatable registers through the
OperandCollector
and use it validate uses of fixed-nonallocatable registers, like%rsp
on x86_64.
<!--Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
elliottt merged PR #5253.
Last updated: Dec 23 2024 at 12:05 UTC