BPFRegisterInfo.h revision 287506
1234285Sdim//===-- BPFRegisterInfo.h - BPF Register Information Impl -------*- C++ -*-===// 2234285Sdim// 3234285Sdim// The LLVM Compiler Infrastructure 4234285Sdim// 5234285Sdim// This file is distributed under the University of Illinois Open Source 6234285Sdim// License. See LICENSE.TXT for details. 7234285Sdim// 8234285Sdim//===----------------------------------------------------------------------===// 9234285Sdim// 10234285Sdim// This file contains the BPF implementation of the TargetRegisterInfo class. 11234285Sdim// 12234285Sdim//===----------------------------------------------------------------------===// 13234285Sdim 14239462Sdim#ifndef LLVM_LIB_TARGET_BPF_BPFREGISTERINFO_H 15234285Sdim#define LLVM_LIB_TARGET_BPF_BPFREGISTERINFO_H 16234285Sdim 17234285Sdim#include "llvm/Target/TargetRegisterInfo.h" 18234285Sdim 19234285Sdim#define GET_REGINFO_HEADER 20234285Sdim#include "BPFGenRegisterInfo.inc" 21234285Sdim 22234285Sdimnamespace llvm { 23234285Sdim 24234285Sdimstruct BPFRegisterInfo : public BPFGenRegisterInfo { 25234285Sdim 26234285Sdim BPFRegisterInfo(); 27234285Sdim 28234285Sdim const MCPhysReg *getCalleeSavedRegs(const MachineFunction *MF) const override; 29249423Sdim 30249423Sdim BitVector getReservedRegs(const MachineFunction &MF) const override; 31249423Sdim 32249423Sdim void eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj, 33249423Sdim unsigned FIOperandNum, 34234285Sdim RegScavenger *RS = nullptr) const override; 35234285Sdim 36234285Sdim unsigned getFrameRegister(const MachineFunction &MF) const override; 37234285Sdim}; 38234285Sdim} 39234285Sdim 40234285Sdim#endif 41234285Sdim