Path: blob/main/contrib/llvm-project/llvm/lib/Target/VE/VERegisterInfo.h
96353 views
//===-- VERegisterInfo.h - VE 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 VE implementation of the TargetRegisterInfo class.9//10//===----------------------------------------------------------------------===//1112#ifndef LLVM_LIB_TARGET_VE_VEREGISTERINFO_H13#define LLVM_LIB_TARGET_VE_VEREGISTERINFO_H1415#include "llvm/CodeGen/TargetRegisterInfo.h"1617#define GET_REGINFO_HEADER18#include "VEGenRegisterInfo.inc"1920namespace llvm {21struct VERegisterInfo : public VEGenRegisterInfo {22public:23VERegisterInfo();2425/// Code Generation virtual methods...26const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const override;27const uint32_t *getCallPreservedMask(const MachineFunction &MF,28CallingConv::ID CC) const override;29const uint32_t *getNoPreservedMask() const override;3031BitVector getReservedRegs(const MachineFunction &MF) const override;3233const TargetRegisterClass *getPointerRegClass(const MachineFunction &MF,34unsigned Kind) const override;3536bool eliminateFrameIndex(MachineBasicBlock::iterator II, int SPAdj,37unsigned FIOperandNum,38RegScavenger *RS = nullptr) const override;3940Register getFrameRegister(const MachineFunction &MF) const override;41};4243} // namespace llvm4445#endif464748