mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-12 18:33:22 +00:00
Remove unnecessary caching of variables by MSP430TargetLowering and
make the constructor more general since it only needs a target machine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211827 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9fe7eae086
commit
4da3ba8c2e
@ -57,11 +57,8 @@ HWMultMode("msp430-hwmult-mode", cl::Hidden,
|
||||
"Assume hardware multiplier cannot be used inside interrupts"),
|
||||
clEnumValEnd));
|
||||
|
||||
MSP430TargetLowering::MSP430TargetLowering(MSP430TargetMachine &tm) :
|
||||
TargetLowering(tm, new TargetLoweringObjectFileELF()),
|
||||
Subtarget(*tm.getSubtargetImpl()) {
|
||||
|
||||
TD = getDataLayout();
|
||||
MSP430TargetLowering::MSP430TargetLowering(const TargetMachine &TM)
|
||||
: TargetLowering(TM, new TargetLoweringObjectFileELF()) {
|
||||
|
||||
// Set up the register classes.
|
||||
addRegisterClass(MVT::i8, &MSP430::GR8RegClass);
|
||||
@ -1032,7 +1029,7 @@ MSP430TargetLowering::getReturnAddressFrameIndex(SelectionDAG &DAG) const {
|
||||
|
||||
if (ReturnAddrIndex == 0) {
|
||||
// Set up a frame object for the return address.
|
||||
uint64_t SlotSize = TD->getPointerSize();
|
||||
uint64_t SlotSize = getDataLayout()->getPointerSize();
|
||||
ReturnAddrIndex = MF.getFrameInfo()->CreateFixedObject(SlotSize, -SlotSize,
|
||||
true);
|
||||
FuncInfo->setRAIndex(ReturnAddrIndex);
|
||||
@ -1055,7 +1052,7 @@ SDValue MSP430TargetLowering::LowerRETURNADDR(SDValue Op,
|
||||
if (Depth > 0) {
|
||||
SDValue FrameAddr = LowerFRAMEADDR(Op, DAG);
|
||||
SDValue Offset =
|
||||
DAG.getConstant(TD->getPointerSize(), MVT::i16);
|
||||
DAG.getConstant(getDataLayout()->getPointerSize(), MVT::i16);
|
||||
return DAG.getLoad(getPointerTy(), dl, DAG.getEntryNode(),
|
||||
DAG.getNode(ISD::ADD, dl, getPointerTy(),
|
||||
FrameAddr, Offset),
|
||||
|
@ -66,12 +66,9 @@ namespace llvm {
|
||||
};
|
||||
}
|
||||
|
||||
class MSP430Subtarget;
|
||||
class MSP430TargetMachine;
|
||||
|
||||
class MSP430TargetLowering : public TargetLowering {
|
||||
public:
|
||||
explicit MSP430TargetLowering(MSP430TargetMachine &TM);
|
||||
explicit MSP430TargetLowering(const TargetMachine &TM);
|
||||
|
||||
MVT getScalarShiftAmountTy(EVT LHSTy) const override { return MVT::i8; }
|
||||
|
||||
@ -170,9 +167,6 @@ namespace llvm {
|
||||
SDValue &Offset,
|
||||
ISD::MemIndexedMode &AM,
|
||||
SelectionDAG &DAG) const override;
|
||||
|
||||
const MSP430Subtarget &Subtarget;
|
||||
const DataLayout *TD;
|
||||
};
|
||||
} // namespace llvm
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user