int Offset = getLdStOffsetOp(FirstMI).getImm();
bool IsNarrowStore = isNarrowStore(Opc);
- // For narrow stores, find only the case where the stored value is WZR.
- if (IsNarrowStore && Reg != AArch64::WZR)
- return E;
-
// Early exit if the offset is not possible to match. (6 bits of positive
// range, plus allow an extra one in case we find a later insn that matches
// with Offset-1)
if (!isCandidateToMergeOrPair(MI))
return false;
+ // For narrow stores, find only the case where the stored value is WZR.
+ if (isNarrowStore(MI) && getLdStRegOp(MI).getReg() != AArch64::WZR)
+ return false;
+
// Look ahead up to LdStLimit instructions for a mergable instruction.
LdStPairFlags Flags;
MachineBasicBlock::iterator MergeMI = findMatchingInsn(MBBI, Flags, LdStLimit);