diff --git a/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp b/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp index 178390e7a317..b744dc2f5e07 100644 --- a/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp +++ b/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp @@ -888,9 +888,8 @@ AArch64LoadStoreOpt::mergePairedInsns(MachineBasicBlock::iterator I, .addOperand(getLdStRegOp(RtMI)) .addOperand(getLdStRegOp(Rt2MI)) .addOperand(BaseRegOp) - .addImm(OffsetImm); - // FIXME: Copy the mem operands from the source instructions. The MI scheduler - // needs these to reason about loads/stores. + .addImm(OffsetImm) + .setMemRefs(I->mergeMemRefsWith(*Paired)); (void)MIB;