xref: /freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/SPIRVRegisterInfo.cpp (revision 81ad626541db97eb356e2c1d4a20eb2a26a766ab)
1 //===-- SPIRVRegisterInfo.cpp - SPIR-V Register Information -----*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file contains the SPIR-V implementation of the TargetRegisterInfo class.
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #include "SPIRVRegisterInfo.h"
14 #include "SPIRV.h"
15 #include "SPIRVSubtarget.h"
16 #include "llvm/CodeGen/MachineFunction.h"
17 
18 #define GET_REGINFO_TARGET_DESC
19 #include "SPIRVGenRegisterInfo.inc"
20 using namespace llvm;
21 
SPIRVRegisterInfo()22 SPIRVRegisterInfo::SPIRVRegisterInfo() : SPIRVGenRegisterInfo(SPIRV::ID0) {}
23 
getReservedRegs(const MachineFunction & MF) const24 BitVector SPIRVRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
25   return BitVector(getNumRegs());
26 }
27 
28 const MCPhysReg *
getCalleeSavedRegs(const MachineFunction * MF) const29 SPIRVRegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const {
30   static const MCPhysReg CalleeSavedReg = {0};
31   return &CalleeSavedReg;
32 }
33