WIP.
This commit is contained in:
@@ -1548,21 +1548,19 @@ impl<'a, F: Function> Env<'a, F> {
|
|||||||
// after, it is known as the preg
|
// after, it is known as the preg
|
||||||
// again. This is used by the
|
// again. This is used by the
|
||||||
// checker.
|
// checker.
|
||||||
self.add_edit(
|
self.insert_move(
|
||||||
ProgPoint::before(inst),
|
ProgPoint::before(inst),
|
||||||
InsertMovePrio::MultiFixedReg,
|
InsertMovePrio::MultiFixedReg,
|
||||||
Edit::DefAlloc {
|
Allocation::reg(preg),
|
||||||
alloc: Allocation::reg(preg),
|
Allocation::reg(preg),
|
||||||
vreg: dst.vreg(),
|
Some(dst.vreg()),
|
||||||
},
|
|
||||||
);
|
);
|
||||||
self.add_edit(
|
self.insert_move(
|
||||||
ProgPoint::after(inst),
|
ProgPoint::after(inst),
|
||||||
InsertMovePrio::Regular,
|
InsertMovePrio::Regular,
|
||||||
Edit::DefAlloc {
|
Allocation::reg(preg),
|
||||||
alloc: Allocation::reg(preg),
|
Allocation::reg(preg),
|
||||||
vreg: src.vreg(),
|
Some(src.vreg()),
|
||||||
},
|
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
if inst > self.cfginfo.block_entry[block.index()].inst() {
|
if inst > self.cfginfo.block_entry[block.index()].inst() {
|
||||||
@@ -1586,13 +1584,12 @@ impl<'a, F: Function> Env<'a, F> {
|
|||||||
// preg is now known as that vreg,
|
// preg is now known as that vreg,
|
||||||
// not the preg. This is used by
|
// not the preg. This is used by
|
||||||
// the checker.
|
// the checker.
|
||||||
self.add_edit(
|
self.insert_move(
|
||||||
ProgPoint::after(inst),
|
ProgPoint::after(inst),
|
||||||
InsertMovePrio::Regular,
|
InsertMovePrio::Regular,
|
||||||
Edit::DefAlloc {
|
Allocation::reg(preg),
|
||||||
alloc: Allocation::reg(preg),
|
Allocation::reg(preg),
|
||||||
vreg: dst.vreg(),
|
Some(dst.vreg()),
|
||||||
},
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -1616,13 +1613,12 @@ impl<'a, F: Function> Env<'a, F> {
|
|||||||
// given preg is now known as that
|
// given preg is now known as that
|
||||||
// preg, not the vreg. This is
|
// preg, not the vreg. This is
|
||||||
// used by the checker.
|
// used by the checker.
|
||||||
self.add_edit(
|
self.insert_move(
|
||||||
ProgPoint::after(inst),
|
ProgPoint::after(inst),
|
||||||
InsertMovePrio::Regular,
|
InsertMovePrio::Regular,
|
||||||
Edit::DefAlloc {
|
Allocation::reg(preg),
|
||||||
alloc: Allocation::reg(preg),
|
Allocation::reg(preg),
|
||||||
vreg: dst.vreg(),
|
Some(dst.vreg()),
|
||||||
},
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
// Otherwise, if dead, no need to create
|
// Otherwise, if dead, no need to create
|
||||||
|
|||||||
Reference in New Issue
Block a user