Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/llvm/lib/Target/SPIRV/SPIRVRegisterInfo.h
96353 views
1
//===-- SPIRVRegisterInfo.h - 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
#ifndef LLVM_LIB_TARGET_SPIRV_SPIRVREGISTERINFO_H
14
#define LLVM_LIB_TARGET_SPIRV_SPIRVREGISTERINFO_H
15
16
#include "llvm/CodeGen/TargetRegisterInfo.h"
17
18
#define GET_REGINFO_HEADER
19
#include "SPIRVGenRegisterInfo.inc"
20
21
namespace llvm {
22
23
struct SPIRVRegisterInfo : public SPIRVGenRegisterInfo {
24
SPIRVRegisterInfo();
25
const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const override;
26
BitVector getReservedRegs(const MachineFunction &MF) const override;
27
bool eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj,
28
unsigned FIOperandNum,
29
RegScavenger *RS = nullptr) const override {
30
return false;
31
}
32
Register getFrameRegister(const MachineFunction &MF) const override {
33
return 0;
34
}
35
};
36
} // namespace llvm
37
38
#endif // LLVM_LIB_TARGET_SPIRV_SPIRVREGISTERINFO_H
39
40