Path: blob/main/contrib/llvm-project/llvm/lib/Target/SPIRV/SPIRVRegisterBankInfo.h
96353 views
//===- SPIRVRegisterBankInfo.h -----------------------------------*- 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 declares the targeting of the RegisterBankInfo class for SPIR-V.9//10//===----------------------------------------------------------------------===//1112#ifndef LLVM_LIB_TARGET_SPIRV_SPIRVREGISTERBANKINFO_H13#define LLVM_LIB_TARGET_SPIRV_SPIRVREGISTERBANKINFO_H1415#include "llvm/CodeGen/RegisterBankInfo.h"1617#define GET_REGBANK_DECLARATIONS18#include "SPIRVGenRegisterBank.inc"1920namespace llvm {2122class TargetRegisterInfo;2324class SPIRVGenRegisterBankInfo : public RegisterBankInfo {25protected:26#define GET_TARGET_REGBANK_CLASS27#include "SPIRVGenRegisterBank.inc"28};2930// This class provides the information for the target register banks.31class SPIRVRegisterBankInfo final : public SPIRVGenRegisterBankInfo {32public:33const RegisterBank &getRegBankFromRegClass(const TargetRegisterClass &RC,34LLT Ty) const override;35};36} // namespace llvm37#endif // LLVM_LIB_TARGET_SPIRV_SPIRVREGISTERBANKINFO_H383940