Path: blob/main/contrib/llvm-project/llvm/lib/Target/Mips/Mips16RegisterInfo.h
96353 views
//===-- Mips16RegisterInfo.h - Mips16 Register Information ------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//7//8// This file contains the Mips16 implementation of the TargetRegisterInfo class.9//10//===----------------------------------------------------------------------===//1112#ifndef LLVM_LIB_TARGET_MIPS_MIPS16REGISTERINFO_H13#define LLVM_LIB_TARGET_MIPS_MIPS16REGISTERINFO_H1415#include "MipsRegisterInfo.h"1617namespace llvm {1819class Mips16RegisterInfo : public MipsRegisterInfo {20public:21Mips16RegisterInfo();2223bool requiresRegisterScavenging(const MachineFunction &MF) const override;2425bool requiresFrameIndexScavenging(const MachineFunction &MF) const override;2627bool useFPForScavengingIndex(const MachineFunction &MF) const override;2829bool saveScavengerRegister(MachineBasicBlock &MBB,30MachineBasicBlock::iterator I,31MachineBasicBlock::iterator &UseMI,32const TargetRegisterClass *RC,33Register Reg) const override;3435const TargetRegisterClass *intRegClass(unsigned Size) const override;3637private:38void eliminateFI(MachineBasicBlock::iterator II, unsigned OpNo,39int FrameIndex, uint64_t StackSize,40int64_t SPOffset) const override;41};4243} // end namespace llvm4445#endif464748