Remove pinned VRegs. (#108)

This commit is contained in:
Chris Fallin
2023-01-24 17:31:41 -08:00
committed by GitHub
parent e41c6140de
commit e09f6519a6
6 changed files with 222 additions and 576 deletions

View File

@@ -1117,23 +1117,6 @@ pub trait Function {
&[]
}
/// Is the given vreg pinned to a preg? If so, every use of the
/// vreg is automatically assigned to the preg, and live-ranges of
/// the vreg allocate the preg exclusively (are not spilled
/// elsewhere). The user must take care not to have too many live
/// pinned vregs such that allocation is no longer possible;
/// liverange computation will check that this is the case (that
/// there are enough remaining allocatable pregs of every class to
/// hold all Reg-constrained operands).
///
/// Pinned vregs are implicitly live-in to the function: that is,
/// one can use a pinned vreg without having first defined it, and
/// this will take the value that that physical register (to which
/// the vreg is pinned) had at function entry.
fn is_pinned_vreg(&self, _: VReg) -> Option<PReg> {
None
}
// --------------
// Spills/reloads
// --------------