11558Srgrimes//===-- RISCVRegisterBankInfo.h ---------------------------------*- C++ -*-===// 265921Sphk// 31558Srgrimes// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4185588Sluigi// See https://llvm.org/LICENSE.txt for license information. 5185588Sluigi// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 61558Srgrimes// 7204654Ssobomax//===----------------------------------------------------------------------===// 8204654Ssobomax/// \file 9185588Sluigi/// This file declares the targeting of the RegisterBankInfo class for RISCV. 10185588Sluigi/// \todo This should be generated by TableGen. 11202532Sed//===----------------------------------------------------------------------===// 1274815Sru 131558Srgrimes#ifndef LLVM_LIB_TARGET_RISCV_RISCVREGISTERBANKINFO_H 141558Srgrimes#define LLVM_LIB_TARGET_RISCV_RISCVREGISTERBANKINFO_H 1592722Sphk 1692722Sphk#include "llvm/CodeGen/GlobalISel/RegisterBankInfo.h" 1792722Sphk 1892722Sphk#define GET_REGBANK_DECLARATIONS 1992722Sphk#include "RISCVGenRegisterBank.inc" 2092722Sphk 21namespace llvm { 22 23class TargetRegisterInfo; 24 25class RISCVGenRegisterBankInfo : public RegisterBankInfo { 26protected: 27#define GET_TARGET_REGBANK_CLASS 28#include "RISCVGenRegisterBank.inc" 29}; 30 31/// This class provides the information for the target register banks. 32class RISCVRegisterBankInfo final : public RISCVGenRegisterBankInfo { 33public: 34 RISCVRegisterBankInfo(const TargetRegisterInfo &TRI); 35}; 36} // end namespace llvm 37#endif 38