Thumb2 storeFrom/LoadToStackSlot() need to handle tGPR regs directly, not pass

through to the generic version. The generic functions use STR/LDR, but T2
needs the t2STR/t2LDR instead so we get the addressing mode correct.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99678 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jim Grosbach 2010-03-27 00:09:12 +00:00
parent 67eadb397a
commit 9ab0427015

View File

@ -69,7 +69,7 @@ storeRegToStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
DebugLoc DL = DebugLoc::getUnknownLoc(); DebugLoc DL = DebugLoc::getUnknownLoc();
if (I != MBB.end()) DL = I->getDebugLoc(); if (I != MBB.end()) DL = I->getDebugLoc();
if (RC == ARM::GPRRegisterClass) { if (RC == ARM::GPRRegisterClass || RC == ARM::tGPRRegisterClass) {
MachineFunction &MF = *MBB.getParent(); MachineFunction &MF = *MBB.getParent();
MachineFrameInfo &MFI = *MF.getFrameInfo(); MachineFrameInfo &MFI = *MF.getFrameInfo();
MachineMemOperand *MMO = MachineMemOperand *MMO =
@ -93,7 +93,7 @@ loadRegFromStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
DebugLoc DL = DebugLoc::getUnknownLoc(); DebugLoc DL = DebugLoc::getUnknownLoc();
if (I != MBB.end()) DL = I->getDebugLoc(); if (I != MBB.end()) DL = I->getDebugLoc();
if (RC == ARM::GPRRegisterClass) { if (RC == ARM::GPRRegisterClass || RC == ARM::tGPRRegisterClass) {
MachineFunction &MF = *MBB.getParent(); MachineFunction &MF = *MBB.getParent();
MachineFrameInfo &MFI = *MF.getFrameInfo(); MachineFrameInfo &MFI = *MF.getFrameInfo();
MachineMemOperand *MMO = MachineMemOperand *MMO =