1283625Sdim//===-- BPFRegisterInfo.h - BPF Register Information Impl -------*- C++ -*-===// 2283625Sdim// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6283625Sdim// 7283625Sdim//===----------------------------------------------------------------------===// 8283625Sdim// 9283625Sdim// This file contains the BPF implementation of the TargetRegisterInfo class. 10283625Sdim// 11283625Sdim//===----------------------------------------------------------------------===// 12283625Sdim 13283625Sdim#ifndef LLVM_LIB_TARGET_BPF_BPFREGISTERINFO_H 14283625Sdim#define LLVM_LIB_TARGET_BPF_BPFREGISTERINFO_H 15283625Sdim 16327952Sdim#include "llvm/CodeGen/TargetRegisterInfo.h" 17283625Sdim 18283625Sdim#define GET_REGINFO_HEADER 19283625Sdim#include "BPFGenRegisterInfo.inc" 20283625Sdim 21283625Sdimnamespace llvm { 22283625Sdim 23283625Sdimstruct BPFRegisterInfo : public BPFGenRegisterInfo { 24283625Sdim 25283625Sdim BPFRegisterInfo(); 26283625Sdim 27283625Sdim const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const override; 28283625Sdim 29283625Sdim BitVector getReservedRegs(const MachineFunction &MF) const override; 30283625Sdim 31283625Sdim void eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj, 32283625Sdim unsigned FIOperandNum, 33283625Sdim RegScavenger *RS = nullptr) const override; 34283625Sdim 35353358Sdim Register getFrameRegister(const MachineFunction &MF) const override; 36283625Sdim}; 37285181Sdim} 38283625Sdim 39283625Sdim#endif 40