diff options
author | Jim Grosbach <grosbach@apple.com> | 2010-03-27 00:09:12 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2010-03-27 00:09:12 +0000 |
commit | 44313db5579b72d5b956c1f49b1bb77c3e6f081b (patch) | |
tree | daab9d1dc877f119a71ccf7392a3631d68cd7b19 | |
parent | 35a069b3a527313752e79b513f495f7676a686c1 (diff) | |
download | bcm5719-llvm-44313db5579b72d5b956c1f49b1bb77c3e6f081b.tar.gz bcm5719-llvm-44313db5579b72d5b956c1f49b1bb77c3e6f081b.zip |
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.
llvm-svn: 99678
-rw-r--r-- | llvm/lib/Target/ARM/Thumb2InstrInfo.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp b/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp index e4abcdb2def..55163f9b820 100644 --- a/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp +++ b/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp @@ -69,7 +69,7 @@ storeRegToStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I, DebugLoc DL = DebugLoc::getUnknownLoc(); if (I != MBB.end()) DL = I->getDebugLoc(); - if (RC == ARM::GPRRegisterClass) { + if (RC == ARM::GPRRegisterClass || RC == ARM::tGPRRegisterClass) { MachineFunction &MF = *MBB.getParent(); MachineFrameInfo &MFI = *MF.getFrameInfo(); MachineMemOperand *MMO = @@ -93,7 +93,7 @@ loadRegFromStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I, DebugLoc DL = DebugLoc::getUnknownLoc(); if (I != MBB.end()) DL = I->getDebugLoc(); - if (RC == ARM::GPRRegisterClass) { + if (RC == ARM::GPRRegisterClass || RC == ARM::tGPRRegisterClass) { MachineFunction &MF = *MBB.getParent(); MachineFrameInfo &MFI = *MF.getFrameInfo(); MachineMemOperand *MMO = |