Remove uses and caches of the target machine and subtarget from

both MSP430InstrInfo and MSP430RegisterInfo. Remove unused member
variable StackAlign from MSP430RegisterInfo. Update constructors
accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211835 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Christopher 2014-06-27 01:14:50 +00:00
parent 4b45f30be3
commit c3c52ee642
5 changed files with 8 additions and 19 deletions

View File

@ -30,9 +30,9 @@ using namespace llvm;
// Pin the vtable to this file.
void MSP430InstrInfo::anchor() {}
MSP430InstrInfo::MSP430InstrInfo(MSP430TargetMachine &tm)
MSP430InstrInfo::MSP430InstrInfo(MSP430Subtarget &STI)
: MSP430GenInstrInfo(MSP430::ADJCALLSTACKDOWN, MSP430::ADJCALLSTACKUP),
RI(tm) {}
RI() {}
void MSP430InstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
MachineBasicBlock::iterator MI,

View File

@ -22,7 +22,7 @@
namespace llvm {
class MSP430TargetMachine;
class MSP430Subtarget;
/// MSP430II - This namespace holds all of the target specific flags that
/// instruction info tracks.
@ -44,7 +44,7 @@ class MSP430InstrInfo : public MSP430GenInstrInfo {
const MSP430RegisterInfo RI;
virtual void anchor();
public:
explicit MSP430InstrInfo(MSP430TargetMachine &TM);
explicit MSP430InstrInfo(MSP430Subtarget &STI);
/// getRegisterInfo - TargetInstrInfo is a superset of MRegister info. As
/// such, whenever a client has an instance of instruction info, it should

View File

@ -32,10 +32,8 @@ using namespace llvm;
#include "MSP430GenRegisterInfo.inc"
// FIXME: Provide proper call frame setup / destroy opcodes.
MSP430RegisterInfo::MSP430RegisterInfo(MSP430TargetMachine &tm)
: MSP430GenRegisterInfo(MSP430::PCW), TM(tm) {
StackAlign = TM.getFrameLowering()->getStackAlignment();
}
MSP430RegisterInfo::MSP430RegisterInfo()
: MSP430GenRegisterInfo(MSP430::PCW) {}
const MCPhysReg*
MSP430RegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const {

View File

@ -21,18 +21,9 @@
namespace llvm {
class TargetInstrInfo;
class MSP430TargetMachine;
struct MSP430RegisterInfo : public MSP430GenRegisterInfo {
private:
MSP430TargetMachine &TM;
/// StackAlign - Default stack alignment.
///
unsigned StackAlign;
public:
MSP430RegisterInfo(MSP430TargetMachine &tm);
MSP430RegisterInfo();
/// Code Generation virtual methods...
const MCPhysReg *

View File

@ -35,7 +35,7 @@ MSP430TargetMachine::MSP430TargetMachine(const Target &T,
Subtarget(TT, CPU, FS),
// FIXME: Check DataLayout string.
DL("e-m:e-p:16:16-i32:16:32-n8:16"),
InstrInfo(*this), TLInfo(*this), TSInfo(DL),
InstrInfo(Subtarget), TLInfo(*this), TSInfo(DL),
FrameLowering() {
initAsmInfo();
}