diff options
Diffstat (limited to 'lib/Target/AArch64/AArch64RegisterInfo.h')
-rw-r--r-- | lib/Target/AArch64/AArch64RegisterInfo.h | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/lib/Target/AArch64/AArch64RegisterInfo.h b/lib/Target/AArch64/AArch64RegisterInfo.h deleted file mode 100644 index 5b501f9cc1..0000000000 --- a/lib/Target/AArch64/AArch64RegisterInfo.h +++ /dev/null @@ -1,79 +0,0 @@ -//==- AArch64RegisterInfo.h - AArch64 Register Information Impl -*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file contains the AArch64 implementation of the MCRegisterInfo class. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_TARGET_AARCH64REGISTERINFO_H -#define LLVM_TARGET_AARCH64REGISTERINFO_H - -#include "llvm/Target/TargetRegisterInfo.h" - -#define GET_REGINFO_HEADER -#include "AArch64GenRegisterInfo.inc" - -namespace llvm { - -class AArch64InstrInfo; -class AArch64Subtarget; - -struct AArch64RegisterInfo : public AArch64GenRegisterInfo { - AArch64RegisterInfo(); - - const MCPhysReg * - getCalleeSavedRegs(const MachineFunction *MF =nullptr) const override; - const uint32_t *getCallPreservedMask(CallingConv::ID) const override; - - unsigned getCSRFirstUseCost() const override { - // The cost will be compared against BlockFrequency where entry has the - // value of 1 << 14. A value of 5 will choose to spill or split really - // cold path instead of using a callee-saved register. - return 5; - } - - const uint32_t *getTLSDescCallPreservedMask() const; - - BitVector getReservedRegs(const MachineFunction &MF) const override; - unsigned getFrameRegister(const MachineFunction &MF) const override; - - void eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj, - unsigned FIOperandNum, - RegScavenger *Rs = nullptr) const override; - - /// getCrossCopyRegClass - Returns a legal register class to copy a register - /// in the specified class to or from. Returns original class if it is - /// possible to copy between a two registers of the specified class. - const TargetRegisterClass * - getCrossCopyRegClass(const TargetRegisterClass *RC) const override; - - /// getLargestLegalSuperClass - Returns the largest super class of RC that is - /// legal to use in the current sub-target and has the same spill size. - const TargetRegisterClass* - getLargestLegalSuperClass(const TargetRegisterClass *RC) const override { - if (RC == &AArch64::tcGPR64RegClass) - return &AArch64::GPR64RegClass; - - return RC; - } - - bool requiresRegisterScavenging(const MachineFunction &MF) const override { - return true; - } - - bool requiresFrameIndexScavenging(const MachineFunction &MF) const override { - return true; - } - - bool useFPForScavengingIndex(const MachineFunction &MF) const override; -}; - -} // end namespace llvm - -#endif // LLVM_TARGET_AARCH64REGISTERINFO_H |