181ad6265SDimitry Andric //===-- SPIRVRegisterInfo.h - SPIR-V Register Information -------*- C++ -*-===// 281ad6265SDimitry Andric // 381ad6265SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 481ad6265SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 581ad6265SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 681ad6265SDimitry Andric // 781ad6265SDimitry Andric //===----------------------------------------------------------------------===// 881ad6265SDimitry Andric // 981ad6265SDimitry Andric // This file contains the SPIR-V implementation of the TargetRegisterInfo class. 1081ad6265SDimitry Andric // 1181ad6265SDimitry Andric //===----------------------------------------------------------------------===// 1281ad6265SDimitry Andric 1381ad6265SDimitry Andric #ifndef LLVM_LIB_TARGET_SPIRV_SPIRVREGISTERINFO_H 1481ad6265SDimitry Andric #define LLVM_LIB_TARGET_SPIRV_SPIRVREGISTERINFO_H 1581ad6265SDimitry Andric 1681ad6265SDimitry Andric #include "llvm/CodeGen/TargetRegisterInfo.h" 1781ad6265SDimitry Andric 1881ad6265SDimitry Andric #define GET_REGINFO_HEADER 1981ad6265SDimitry Andric #include "SPIRVGenRegisterInfo.inc" 2081ad6265SDimitry Andric 2181ad6265SDimitry Andric namespace llvm { 2281ad6265SDimitry Andric 2381ad6265SDimitry Andric struct SPIRVRegisterInfo : public SPIRVGenRegisterInfo { 2481ad6265SDimitry Andric SPIRVRegisterInfo(); 2581ad6265SDimitry Andric const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const override; 2681ad6265SDimitry Andric BitVector getReservedRegs(const MachineFunction &MF) const override; 27*bdd1243dSDimitry Andric bool eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj, 2881ad6265SDimitry Andric unsigned FIOperandNum, 29*bdd1243dSDimitry Andric RegScavenger *RS = nullptr) const override { 30*bdd1243dSDimitry Andric return false; 31*bdd1243dSDimitry Andric } getFrameRegisterSPIRVRegisterInfo3281ad6265SDimitry Andric Register getFrameRegister(const MachineFunction &MF) const override { 3381ad6265SDimitry Andric return 0; 3481ad6265SDimitry Andric } 3581ad6265SDimitry Andric }; 3681ad6265SDimitry Andric } // namespace llvm 3781ad6265SDimitry Andric 3881ad6265SDimitry Andric #endif // LLVM_LIB_TARGET_SPIRV_SPIRVREGISTERINFO_H 39