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
M68kRegisterInfo(const M68kSubtarget &Subtarget)
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
MachineInstrBundleIterator< MachineInstr > iterator
Wrapper class representing virtual and physical registers.
unsigned ID
LLVM IR allows to use arbitrary numbers as calling convention identifiers.
This is an optimization pass for GlobalISel generic memory operations.
uint16_t MCPhysReg
An unsigned integer type large enough to represent all physical registers, but not necessarily virtua...