15#ifndef LLVM_LIB_TARGET_M68K_M68KREGISTERINFO_H
16#define LLVM_LIB_TARGET_M68K_M68KREGISTERINFO_H
22#define GET_REGINFO_HEADER
23#include "M68kGenRegisterInfo.inc"
31 virtual void anchor();
45 unsigned GlobalBasePtr;
91 unsigned FIOperandNum,
103 if (RC == &M68k::CCRCRegClass)
104 return &M68k::DR16RegClass;
This file contains the entry points for global functions defined in the M68k target library,...
uint64_t IntrinsicInst * II
unsigned getMatchingMegaReg(unsigned Reg, const TargetRegisterClass *RC) const
Return a mega-register of the specified register Reg so its sub-register of index SubIdx is Reg,...
const uint32_t * getCallPreservedMask(const MachineFunction &MF, CallingConv::ID) const override
const TargetRegisterClass * intRegClass(unsigned Size) const
Register getFrameRegister(const MachineFunction &MF) const override
unsigned getBaseRegister() const
const TargetRegisterClass * getCrossCopyRegClass(const TargetRegisterClass *RC) const override
bool trackLivenessAfterRegAlloc(const MachineFunction &MF) const override
int getSpillRegisterOrder(unsigned Reg) const
Return spill order index of a register, if there is none then trap.
bool requiresRegisterScavenging(const MachineFunction &MF) const override
const TargetRegisterClass * getRegsForTailCall(const MachineFunction &MF) const
Returns a register class with registers that can be used in forming tail calls.
unsigned getGlobalBaseRegister() const
const M68kSubtarget & Subtarget
const TargetRegisterClass * getMaximalPhysRegClass(unsigned reg, MVT VT) const
Returns the Register Class of a physical register of the given type, picking the biggest register cla...
int getRegisterOrder(unsigned Reg, const TargetRegisterClass &TRC) const
Return index of a register within a register class, otherwise return -1.
bool hasBasePointer(const MachineFunction &MF) const
bool eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=nullptr) const override
FrameIndex represent objects inside a abstract stack.
bool canRealignStack(const MachineFunction &MF) const override
True if the stack can be realigned for the target.
const MCPhysReg * getCalleeSavedRegs(const MachineFunction *MF) const override
unsigned getStackRegister() const
BitVector getReservedRegs(const MachineFunction &MF) const override
Wrapper class representing virtual and physical registers.
This is an optimization pass for GlobalISel generic memory operations.