Remove addFrameMove.

Now that we have good testing, remove addFrameMove and create cfi
instructions directly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182052 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola
2013-05-16 21:02:15 +00:00
parent 529874cf0c
commit 6b67ffd68b
8 changed files with 88 additions and 130 deletions

View File

@ -268,39 +268,6 @@ MachineModuleInfo::MachineModuleInfo()
MachineModuleInfo::~MachineModuleInfo() {
}
static MCCFIInstruction convertMoveToCFI(const MCRegisterInfo &MRI,
MCSymbol *Label,
const MachineLocation &Dst,
const MachineLocation &Src) {
// If advancing cfa.
if (Dst.isReg() && Dst.getReg() == MachineLocation::VirtualFP) {
if (Src.getReg() == MachineLocation::VirtualFP)
return MCCFIInstruction::createDefCfaOffset(Label, Src.getOffset());
// Reg + Offset
return MCCFIInstruction::createDefCfa(
Label, MRI.getDwarfRegNum(Src.getReg(), true), -Src.getOffset());
}
if (Src.isReg() && Src.getReg() == MachineLocation::VirtualFP) {
assert(Dst.isReg() && "Machine move not supported yet.");
return MCCFIInstruction::createDefCfaRegister(
Label, MRI.getDwarfRegNum(Dst.getReg(), true));
}
assert(!Dst.isReg() && "Machine move not supported yet.");
return MCCFIInstruction::createOffset(
Label, MRI.getDwarfRegNum(Src.getReg(), true), Dst.getOffset());
}
void MachineModuleInfo::addFrameMove(MCSymbol *Label,
const MachineLocation &Dst,
const MachineLocation &Src) {
MCCFIInstruction I =
convertMoveToCFI(Context.getRegisterInfo(), Label, Dst, Src);
FrameInstructions.push_back(I);
}
bool MachineModuleInfo::doInitialization(Module &M) {
ObjFileMMI = 0;