Remove the MachineMove class.

It was just a less powerful and more confusing version of
MCCFIInstruction. A side effect is that, since MCCFIInstruction uses
dwarf register numbers, calls to getDwarfRegNum are pushed out, which
should allow further simplifications.

I left the MachineModuleInfo::addFrameMove interface unchanged since
this patch was already fairly big.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181680 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola
2013-05-13 01:16:13 +00:00
parent aa4f36407f
commit 4a971705bc
38 changed files with 169 additions and 177 deletions

View File

@@ -51,13 +51,13 @@ static MCSubtargetInfo *createXCoreMCSubtargetInfo(StringRef TT, StringRef CPU,
return X;
}
static MCAsmInfo *createXCoreMCAsmInfo(StringRef TT) {
static MCAsmInfo *createXCoreMCAsmInfo(const MCRegisterInfo &MRI,
StringRef TT) {
MCAsmInfo *MAI = new XCoreMCAsmInfo(TT);
// Initial state of the frame pointer is SP.
MachineLocation Dst(MachineLocation::VirtualFP);
MachineLocation Src(XCore::SP, 0);
MAI->addInitialFrameState(0, Dst, Src);
MCCFIInstruction Inst = MCCFIInstruction::createDefCfa(0, XCore::SP, 0);
MAI->addInitialFrameState(Inst);
return MAI;
}

View File

@@ -33,6 +33,7 @@ XCoreTargetMachine::XCoreTargetMachine(const Target &T, StringRef TT,
FrameLowering(Subtarget),
TLInfo(*this),
TSInfo(*this) {
initAsmInfo();
}
namespace {