diff options
author | David Goodwin <david_goodwin@apple.com> | 2009-07-24 00:16:18 +0000 |
---|---|---|
committer | David Goodwin <david_goodwin@apple.com> | 2009-07-24 00:16:18 +0000 |
commit | 5ff58b5c3ab6df332600678798ea5c69c5e943d3 (patch) | |
tree | 587c9b878c6b0b74b4c23ae18c86c6a0cc7e9595 /lib/Target/ARM/Thumb2RegisterInfo.h | |
parent | 74e52108090f29a92ebb78d33451104bc445ac55 (diff) |
Correctly handle the Thumb-2 imm8 addrmode. Specialize frame index elimination more exactly for Thumb-2 to get better code gen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76919 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/Thumb2RegisterInfo.h')
-rw-r--r-- | lib/Target/ARM/Thumb2RegisterInfo.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/Target/ARM/Thumb2RegisterInfo.h b/lib/Target/ARM/Thumb2RegisterInfo.h index 0a9a15aa1e..57c0663277 100644 --- a/lib/Target/ARM/Thumb2RegisterInfo.h +++ b/lib/Target/ARM/Thumb2RegisterInfo.h @@ -27,14 +27,19 @@ struct Thumb2RegisterInfo : public ARMBaseRegisterInfo { public: Thumb2RegisterInfo(const ARMBaseInstrInfo &tii, const ARMSubtarget &STI); + // rewrite MI to access 'Offset' bytes from the FP. Return the offset that + // could not be handled directly in MI. + int rewriteFrameIndex(MachineInstr &MI, unsigned FrameRegIdx, + unsigned FrameReg, int Offset) const; + /// emitLoadConstPool - Emits a load from constpool to materialize the /// specified immediate. - void emitLoadConstPool(MachineBasicBlock &MBB, - MachineBasicBlock::iterator &MBBI, - DebugLoc dl, - unsigned DestReg, unsigned SubIdx, int Val, - ARMCC::CondCodes Pred = ARMCC::AL, - unsigned PredReg = 0) const; + void emitLoadConstPool(MachineBasicBlock &MBB, + MachineBasicBlock::iterator &MBBI, + DebugLoc dl, + unsigned DestReg, unsigned SubIdx, int Val, + ARMCC::CondCodes Pred = ARMCC::AL, + unsigned PredReg = 0) const; bool requiresRegisterScavenging(const MachineFunction &MF) const; }; |