llvm.org GIT mirror llvm / 1488326
Re-apply 72756 with fixes. One of those was introduced by we changed MachineInstrBuilder::addReg() interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72826 91177308-0d34-0410-b5e6-96231b3b80d8 Evan Cheng 10 years ago
2 changed file(s) with 8 addition(s) and 2 deletion(s). Raw diff Collapse all Expand all
529529 if (isAM2)
530530 // STR_PRE, STR_POST;
531531 BuildMI(MBB, MBBI, dl, TII->get(NewOpc), Base)
532 .addReg(MO.getReg(), getKillRegState(BaseKill))
532 .addReg(MO.getReg(), getKillRegState(MO.isKill()))
533533 .addReg(Base).addReg(0).addImm(Offset).addImm(Pred).addReg(PredReg);
534534 else
535535 // FSTMS, FSTMD
708708
709709 // RS may be pointing to an instruction that's deleted.
710710 RS->skipTo(prior(MBBI));
711 } else if (NumMemOps == 1) {
712 // Try folding preceeding/trailing base inc/dec into the single
713 // load/store.
714 if (mergeBaseUpdateLoadStore(MBB, MemOps[0].MBBI, TII, Advance, MBBI)) {
715 ++NumMerges;
716 RS->forward(prior(MBBI));
717 }
711718 }
712719
713720 CurrBase = 0;
0 ; RUN: llvm-as < %s | llc -mtriple=arm-linux-gnu | grep {str.*\\!}
11 ; RUN: llvm-as < %s | llc -mtriple=arm-linux-gnu | grep {ldr.*\\\[.*\], #+4}
2 ; XFAIL: *
32
43 @b = external global i64*
54