Remove references to INSERT_SUBREG after de-SSA

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107732 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jakob Stoklund Olesen
2010-07-06 23:40:35 +00:00
parent d491d6ecd2
commit d3b376b448
7 changed files with 9 additions and 136 deletions

View File

@@ -1359,25 +1359,11 @@ TwoAddressInstructionPass::CoalesceExtSubRegs(SmallVector<unsigned,4> &Srcs,
// Insert a copy or an extract to replace the original extracts.
MachineBasicBlock::iterator InsertLoc = SomeMI;
if (NewSrcSubIdx) {
// Insert an extract subreg.
BuildMI(*SomeMI->getParent(), InsertLoc, SomeMI->getDebugLoc(),
TII->get(TargetOpcode::EXTRACT_SUBREG), DstReg)
.addReg(SrcReg).addImm(NewSrcSubIdx);
} else if (NewDstSubIdx) {
// Do a subreg insertion.
BuildMI(*SomeMI->getParent(), InsertLoc, SomeMI->getDebugLoc(),
TII->get(TargetOpcode::INSERT_SUBREG), DstReg)
.addReg(DstReg).addReg(SrcReg).addImm(NewDstSubIdx);
} else {
// Insert a copy.
bool Emitted =
TII->copyRegToReg(*SomeMI->getParent(), InsertLoc, DstReg, SrcReg,
MRI->getRegClass(DstReg), MRI->getRegClass(SrcReg),
SomeMI->getDebugLoc());
(void)Emitted;
}
MachineBasicBlock::iterator CopyMI = prior(InsertLoc);
MachineInstr *CopyMI = BuildMI(*SomeMI->getParent(), SomeMI,
SomeMI->getDebugLoc(),
TII->get(TargetOpcode::COPY))
.addReg(DstReg, RegState::Define, NewDstSubIdx)
.addReg(SrcReg, 0, NewSrcSubIdx);
// Remove all the old extract instructions.
for (MachineRegisterInfo::use_nodbg_iterator