mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-12 13:30:51 +00:00
FrameLowering depends only upon the Subtarget, so only take a subtarget
during initialization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213429 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d644d17dd4
commit
0ce4f580bc
@ -82,9 +82,8 @@ using namespace llvm;
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
const MipsFrameLowering *MipsFrameLowering::create(MipsTargetMachine &TM,
|
||||
const MipsSubtarget &ST) {
|
||||
if (TM.getSubtargetImpl()->inMips16Mode())
|
||||
const MipsFrameLowering *MipsFrameLowering::create(const MipsSubtarget &ST) {
|
||||
if (ST.inMips16Mode())
|
||||
return llvm::createMips16FrameLowering(ST);
|
||||
|
||||
return llvm::createMipsSEFrameLowering(ST);
|
||||
|
@ -28,8 +28,7 @@ public:
|
||||
explicit MipsFrameLowering(const MipsSubtarget &sti, unsigned Alignment)
|
||||
: TargetFrameLowering(StackGrowsDown, Alignment, 0, Alignment), STI(sti) {}
|
||||
|
||||
static const MipsFrameLowering *create(MipsTargetMachine &TM,
|
||||
const MipsSubtarget &ST);
|
||||
static const MipsFrameLowering *create(const MipsSubtarget &ST);
|
||||
|
||||
bool hasFP(const MachineFunction &MF) const override;
|
||||
|
||||
|
@ -116,7 +116,7 @@ MipsSubtarget::MipsSubtarget(const std::string &TT, const std::string &CPU,
|
||||
HasMSA(false), OverrideMode(NoOverride), TM(_TM), TargetTriple(TT),
|
||||
DL(computeDataLayout(initializeSubtargetDependencies(CPU, FS, TM))),
|
||||
TSInfo(DL), JITInfo(), InstrInfo(MipsInstrInfo::create(*this)),
|
||||
FrameLowering(MipsFrameLowering::create(*TM, *this)),
|
||||
FrameLowering(MipsFrameLowering::create(*this)),
|
||||
TLInfo(MipsTargetLowering::create(*TM, *this)) {
|
||||
|
||||
PreviousInMips16Mode = InMips16Mode;
|
||||
@ -255,7 +255,7 @@ void MipsSubtarget::setHelperClassesMips16() {
|
||||
TLInfoSE.swap(TLInfo);
|
||||
if (!InstrInfo16) {
|
||||
InstrInfo.reset(MipsInstrInfo::create(*this));
|
||||
FrameLowering.reset(MipsFrameLowering::create(*TM, *this));
|
||||
FrameLowering.reset(MipsFrameLowering::create(*this));
|
||||
TLInfo.reset(MipsTargetLowering::create(*TM, *this));
|
||||
} else {
|
||||
InstrInfo16.swap(InstrInfo);
|
||||
@ -273,7 +273,7 @@ void MipsSubtarget::setHelperClassesMipsSE() {
|
||||
TLInfo16.swap(TLInfo);
|
||||
if (!InstrInfoSE) {
|
||||
InstrInfo.reset(MipsInstrInfo::create(*this));
|
||||
FrameLowering.reset(MipsFrameLowering::create(*TM, *this));
|
||||
FrameLowering.reset(MipsFrameLowering::create(*this));
|
||||
TLInfo.reset(MipsTargetLowering::create(*TM, *this));
|
||||
} else {
|
||||
InstrInfoSE.swap(InstrInfo);
|
||||
|
Loading…
Reference in New Issue
Block a user