Add support for fixed stack slots

This works by allowing a PReg to be marked as being a stack location
instead of a physical register.
This commit is contained in:
Amanieu d'Antras
2021-11-28 17:52:50 +00:00
parent 2f433929c4
commit 77e6a9e0d7
8 changed files with 54 additions and 25 deletions

View File

@@ -99,9 +99,9 @@ impl<'a, F: Function> Env<'a, F> {
|| self.bundles[to.index()].cached_stack()
|| self.bundles[to.index()].cached_fixed()
{
let req = self
.compute_requirement(from)
.merge(self.compute_requirement(to));
let req_from = self.compute_requirement(from);
let req_to = self.compute_requirement(to);
let req = self.merge_requirement(req_from, req_to);
if req == Requirement::Conflict {
log::trace!(" -> conflicting requirements; aborting merge");
return false;