mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-29 07:53:33 +00:00
Handle undef operands properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92054 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6528966eae
commit
158a2263bd
@ -316,13 +316,17 @@ ARMLoadStoreOpt::MergeLDR_STR(MachineBasicBlock &MBB, unsigned SIndex,
|
||||
unsigned insertAfter = SIndex;
|
||||
MachineBasicBlock::iterator Loc = MemOps[SIndex].MBBI;
|
||||
DebugLoc dl = Loc->getDebugLoc();
|
||||
unsigned PReg = Loc->getOperand(0).getReg();
|
||||
unsigned PRegNum = ARMRegisterInfo::getRegisterNumbering(PReg);
|
||||
const MachineOperand &PMO = Loc->getOperand(0);
|
||||
unsigned PReg = PMO.getReg();
|
||||
unsigned PRegNum = PMO.isUndef() ? UINT_MAX
|
||||
: ARMRegisterInfo::getRegisterNumbering(PReg);
|
||||
|
||||
for (unsigned i = SIndex+1, e = MemOps.size(); i != e; ++i) {
|
||||
int NewOffset = MemOps[i].Offset;
|
||||
unsigned Reg = MemOps[i].MBBI->getOperand(0).getReg();
|
||||
unsigned RegNum = ARMRegisterInfo::getRegisterNumbering(Reg);
|
||||
const MachineOperand &MO = MemOps[i].MBBI->getOperand(0);
|
||||
unsigned Reg = MO.getReg();
|
||||
unsigned RegNum = MO.isUndef() ? UINT_MAX
|
||||
: ARMRegisterInfo::getRegisterNumbering(Reg);
|
||||
// AM4 - register numbers in ascending order.
|
||||
// AM5 - consecutive register numbers in ascending order.
|
||||
if (NewOffset == Offset + (int)Size &&
|
||||
|
Loading…
Reference in New Issue
Block a user