summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/MipsSERegisterInfo.cpp
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2012-08-23 00:21:05 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2012-08-23 00:21:05 +0000
commitbf493942b05b4c15aa93aab69c682ff7bdb44b45 (patch)
tree1625326366a9656789a10ae0df01748e406feb12 /llvm/lib/Target/Mips/MipsSERegisterInfo.cpp
parent0cf0615571fbc864ecb9d675d9d42a0772004fc4 (diff)
downloadbcm5719-llvm-bf493942b05b4c15aa93aab69c682ff7bdb44b45.tar.gz
bcm5719-llvm-bf493942b05b4c15aa93aab69c682ff7bdb44b45.zip
Make function loadImmediate a member of MipsSEInstrInfo and change it to return
the temporary register that was used to load the immediate. Currently, it always returns register $at, but this will change if, in the future, we decide to use another register. No changes in functionality. llvm-svn: 162417
Diffstat (limited to 'llvm/lib/Target/Mips/MipsSERegisterInfo.cpp')
-rw-r--r--llvm/lib/Target/Mips/MipsSERegisterInfo.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/Target/Mips/MipsSERegisterInfo.cpp b/llvm/lib/Target/Mips/MipsSERegisterInfo.cpp
index a01b23d3e1e..d868f737581 100644
--- a/llvm/lib/Target/Mips/MipsSERegisterInfo.cpp
+++ b/llvm/lib/Target/Mips/MipsSERegisterInfo.cpp
@@ -122,15 +122,14 @@ void MipsSERegisterInfo::eliminateFI(MachineBasicBlock::iterator II,
DebugLoc DL = II->getDebugLoc();
unsigned ADDu = Subtarget.isABI_N64() ? Mips::DADDu : Mips::ADDu;
unsigned ATReg = Subtarget.isABI_N64() ? Mips::AT_64 : Mips::AT;
- MipsAnalyzeImmediate::Inst LastInst(0, 0);
+ unsigned NewImm;
MipsFI->setEmitNOAT();
- Mips::loadImmediate(Offset, Subtarget.isABI_N64(), TII, MBB, II, DL, true,
- &LastInst);
- BuildMI(MBB, II, DL, TII.get(ADDu), ATReg).addReg(FrameReg).addReg(ATReg);
+ unsigned Reg = TII.loadImmediate(Offset, MBB, II, DL, &NewImm);
+ BuildMI(MBB, II, DL, TII.get(ADDu), ATReg).addReg(FrameReg).addReg(Reg);
FrameReg = ATReg;
- Offset = SignExtend64<16>(LastInst.ImmOpnd);
+ Offset = SignExtend64<16>(NewImm);
}
MI.getOperand(OpNo).ChangeToRegister(FrameReg, false);
OpenPOWER on IntegriCloud