Path: blob/main/contrib/llvm-project/llvm/lib/Target/Sparc/SparcRegisterInfo.h
96353 views
//===-- SparcRegisterInfo.h - Sparc Register Information Impl ---*- 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 Sparc implementation of the TargetRegisterInfo class.9//10//===----------------------------------------------------------------------===//1112#ifndef LLVM_LIB_TARGET_SPARC_SPARCREGISTERINFO_H13#define LLVM_LIB_TARGET_SPARC_SPARCREGISTERINFO_H1415#include "llvm/CodeGen/TargetRegisterInfo.h"1617#define GET_REGINFO_HEADER18#include "SparcGenRegisterInfo.inc"1920namespace llvm {21struct SparcRegisterInfo : public SparcGenRegisterInfo {22SparcRegisterInfo();2324/// Code Generation virtual methods...25const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const override;26const uint32_t *getCallPreservedMask(const MachineFunction &MF,27CallingConv::ID CC) const override;2829const uint32_t* getRTCallPreservedMask(CallingConv::ID CC) const;3031BitVector getReservedRegs(const MachineFunction &MF) const override;32bool isReservedReg(const MachineFunction &MF, MCRegister Reg) const;3334const TargetRegisterClass *getPointerRegClass(const MachineFunction &MF,35unsigned Kind) const override;3637bool eliminateFrameIndex(MachineBasicBlock::iterator II,38int SPAdj, unsigned FIOperandNum,39RegScavenger *RS = nullptr) const override;4041Register getFrameRegister(const MachineFunction &MF) const override;4243bool canRealignStack(const MachineFunction &MF) const override;4445};4647} // end namespace llvm4849#endif505152