Revert "Add fixed-non-allocatable operand support."
This feature needs more thought; for now we will of course continue to
support pinned vregs, but perhaps we can do better for
"pass-through-and-forget" operands that are given non-allocatable
registers.
This reverts commit 736f636c36.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
//! Debugging output.
|
||||
|
||||
use super::Env;
|
||||
use crate::{Block, Function, ProgPoint};
|
||||
use crate::{Function, ProgPoint, Block};
|
||||
|
||||
impl<'a, F: Function> Env<'a, F> {
|
||||
pub fn dump_state(&self) {
|
||||
|
||||
@@ -272,9 +272,6 @@ impl<'a, F: Function> Env<'a, F> {
|
||||
|
||||
for pos in &[OperandPos::After, OperandPos::Before] {
|
||||
for op in self.func.inst_operands(inst) {
|
||||
if op.as_fixed().is_some() {
|
||||
continue;
|
||||
}
|
||||
if op.pos() == *pos {
|
||||
let was_live = live.get(op.vreg().vreg());
|
||||
log::debug!("op {:?} was_live = {}", op, was_live);
|
||||
@@ -871,15 +868,6 @@ impl<'a, F: Function> Env<'a, F> {
|
||||
operand
|
||||
);
|
||||
|
||||
// If this is a "fixed non-allocatable
|
||||
// register" operand, set the alloc
|
||||
// immediately and then ignore the operand
|
||||
// hereafter.
|
||||
if let Some(preg) = operand.as_fixed() {
|
||||
self.set_alloc(inst, i, Allocation::reg(preg));
|
||||
continue;
|
||||
}
|
||||
|
||||
match operand.kind() {
|
||||
OperandKind::Def | OperandKind::Mod => {
|
||||
log::debug!("Def of {} at {:?}", operand.vreg(), pos);
|
||||
|
||||
Reference in New Issue
Block a user