Path: blob/main/contrib/llvm-project/llvm/lib/Target/Lanai/LanaiRegisterInfo.h
96353 views
//===- LanaiRegisterInfo.h - Lanai 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 Lanai implementation of the TargetRegisterInfo class.9//10//===----------------------------------------------------------------------===//1112#ifndef LLVM_LIB_TARGET_LANAI_LANAIREGISTERINFO_H13#define LLVM_LIB_TARGET_LANAI_LANAIREGISTERINFO_H1415#include "llvm/CodeGen/TargetRegisterInfo.h"1617#define GET_REGINFO_HEADER18#include "LanaiGenRegisterInfo.inc"1920namespace llvm {2122struct LanaiRegisterInfo : public LanaiGenRegisterInfo {23LanaiRegisterInfo();2425const uint32_t *getCallPreservedMask(const MachineFunction &MF,26CallingConv::ID) const override;2728// Code Generation virtual methods.29const uint16_t *30getCalleeSavedRegs(const MachineFunction *MF = nullptr) const override;3132BitVector getReservedRegs(const MachineFunction &MF) const override;3334bool requiresRegisterScavenging(const MachineFunction &MF) const override;3536bool eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj,37unsigned FIOperandNum,38RegScavenger *RS = nullptr) const override;3940// Debug information queries.41unsigned getRARegister() const;42Register getFrameRegister(const MachineFunction &MF) const override;43Register getBaseRegister() const;44bool hasBasePointer(const MachineFunction &MF) const;4546int getDwarfRegNum(unsigned RegNum, bool IsEH) const;47};4849} // end namespace llvm5051#endif // LLVM_LIB_TARGET_LANAI_LANAIREGISTERINFO_H525354