mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
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:
@@ -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
|
||||
|
Reference in New Issue
Block a user