mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-03-01 08:47:42 +00:00
[AArch64] Hoist commonly failing check. NFC.
llvm-svn: 249011
This commit is contained in:
parent
9d0cd90088
commit
469748b81f
@ -904,6 +904,12 @@ MachineBasicBlock::iterator AArch64LoadStoreOpt::findMatchingUpdateInsnForward(
|
||||
unsigned BaseReg = getLdStBaseOp(MemMI).getReg();
|
||||
int MIUnscaledOffset = getLdStOffsetOp(MemMI).getImm() * getMemScale(MemMI);
|
||||
|
||||
// Scan forward looking for post-index opportunities. Updating instructions
|
||||
// can't be formed if the memory instruction doesn't have the offset we're
|
||||
// looking for.
|
||||
if (MIUnscaledOffset != UnscaledOffset)
|
||||
return E;
|
||||
|
||||
// If the base register overlaps a destination register, we can't
|
||||
// merge the update.
|
||||
bool IsPairedInsn = isPairedLdSt(MemMI);
|
||||
@ -913,12 +919,6 @@ MachineBasicBlock::iterator AArch64LoadStoreOpt::findMatchingUpdateInsnForward(
|
||||
return E;
|
||||
}
|
||||
|
||||
// Scan forward looking for post-index opportunities. Updating instructions
|
||||
// can't be formed if the memory instruction doesn't have the offset we're
|
||||
// looking for.
|
||||
if (MIUnscaledOffset != UnscaledOffset)
|
||||
return E;
|
||||
|
||||
// Track which registers have been modified and used between the first insn
|
||||
// (inclusive) and the second insn.
|
||||
BitVector ModifiedRegs, UsedRegs;
|
||||
|
Loading…
x
Reference in New Issue
Block a user