mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-15 05:24:01 +00:00
Have MachineFunction cache a pointer to the subtarget to make lookups
shorter/easier and have the DAG use that to do the same lookup. This can be used in the future for TargetMachine based caching lookups from the MachineFunction easily. Update the MIPS subtarget switching machinery to update this pointer at the same time it runs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214838 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -54,8 +54,9 @@ void ilist_traits<MachineBasicBlock>::deleteNode(MachineBasicBlock *MBB) {
|
||||
|
||||
MachineFunction::MachineFunction(const Function *F, const TargetMachine &TM,
|
||||
unsigned FunctionNum, MachineModuleInfo &mmi,
|
||||
GCModuleInfo* gmi)
|
||||
: Fn(F), Target(TM), Ctx(mmi.getContext()), MMI(mmi), GMI(gmi) {
|
||||
GCModuleInfo *gmi)
|
||||
: Fn(F), Target(TM), STI(TM.getSubtargetImpl()), Ctx(mmi.getContext()),
|
||||
MMI(mmi), GMI(gmi) {
|
||||
if (TM.getSubtargetImpl()->getRegisterInfo())
|
||||
RegInfo = new (Allocator) MachineRegisterInfo(TM);
|
||||
else
|
||||
@ -353,8 +354,7 @@ void MachineFunction::print(raw_ostream &OS, SlotIndexes *Indexes) const {
|
||||
// Print Constant Pool
|
||||
ConstantPool->print(OS);
|
||||
|
||||
const TargetRegisterInfo *TRI =
|
||||
getTarget().getSubtargetImpl()->getRegisterInfo();
|
||||
const TargetRegisterInfo *TRI = getSubtarget().getRegisterInfo();
|
||||
|
||||
if (RegInfo && !RegInfo->livein_empty()) {
|
||||
OS << "Function Live Ins: ";
|
||||
@ -463,7 +463,7 @@ unsigned MachineFunction::addLiveIn(unsigned PReg,
|
||||
/// normal 'L' label is returned.
|
||||
MCSymbol *MachineFunction::getJTISymbol(unsigned JTI, MCContext &Ctx,
|
||||
bool isLinkerPrivate) const {
|
||||
const DataLayout *DL = getTarget().getSubtargetImpl()->getDataLayout();
|
||||
const DataLayout *DL = getSubtarget().getDataLayout();
|
||||
assert(JumpTableInfo && "No jump tables");
|
||||
assert(JTI < JumpTableInfo->getJumpTables().size() && "Invalid JTI!");
|
||||
|
||||
@ -478,7 +478,7 @@ MCSymbol *MachineFunction::getJTISymbol(unsigned JTI, MCContext &Ctx,
|
||||
/// getPICBaseSymbol - Return a function-local symbol to represent the PIC
|
||||
/// base.
|
||||
MCSymbol *MachineFunction::getPICBaseSymbol() const {
|
||||
const DataLayout *DL = getTarget().getSubtargetImpl()->getDataLayout();
|
||||
const DataLayout *DL = getSubtarget().getDataLayout();
|
||||
return Ctx.GetOrCreateSymbol(Twine(DL->getPrivateGlobalPrefix())+
|
||||
Twine(getFunctionNumber())+"$pb");
|
||||
}
|
||||
@ -629,10 +629,8 @@ MachineFrameInfo::getPristineRegs(const MachineBasicBlock *MBB) const {
|
||||
}
|
||||
|
||||
unsigned MachineFrameInfo::estimateStackSize(const MachineFunction &MF) const {
|
||||
const TargetFrameLowering *TFI =
|
||||
MF.getTarget().getSubtargetImpl()->getFrameLowering();
|
||||
const TargetRegisterInfo *RegInfo =
|
||||
MF.getTarget().getSubtargetImpl()->getRegisterInfo();
|
||||
const TargetFrameLowering *TFI = MF.getSubtarget().getFrameLowering();
|
||||
const TargetRegisterInfo *RegInfo = MF.getSubtarget().getRegisterInfo();
|
||||
unsigned MaxAlign = getMaxAlignment();
|
||||
int Offset = 0;
|
||||
|
||||
@ -682,8 +680,7 @@ unsigned MachineFrameInfo::estimateStackSize(const MachineFunction &MF) const {
|
||||
void MachineFrameInfo::print(const MachineFunction &MF, raw_ostream &OS) const{
|
||||
if (Objects.empty()) return;
|
||||
|
||||
const TargetFrameLowering *FI =
|
||||
MF.getTarget().getSubtargetImpl()->getFrameLowering();
|
||||
const TargetFrameLowering *FI = MF.getSubtarget().getFrameLowering();
|
||||
int ValOffset = (FI ? FI->getOffsetOfLocalArea() : 0);
|
||||
|
||||
OS << "Frame Objects:\n";
|
||||
|
Reference in New Issue
Block a user