BPFMCTargetDesc.h revision 283625
1283625Sdim//===-- BPFMCTargetDesc.h - BPF Target Descriptions -------------*- C++ -*-===// 2283625Sdim// 3283625Sdim// The LLVM Compiler Infrastructure 4283625Sdim// 5283625Sdim// This file is distributed under the University of Illinois Open Source 6283625Sdim// License. See LICENSE.TXT for details. 7283625Sdim// 8283625Sdim//===----------------------------------------------------------------------===// 9283625Sdim// 10283625Sdim// This file provides BPF specific target descriptions. 11283625Sdim// 12283625Sdim//===----------------------------------------------------------------------===// 13283625Sdim 14283625Sdim#ifndef LLVM_LIB_TARGET_BPF_MCTARGETDESC_BPFMCTARGETDESC_H 15283625Sdim#define LLVM_LIB_TARGET_BPF_MCTARGETDESC_BPFMCTARGETDESC_H 16283625Sdim 17283625Sdim#include "llvm/Support/DataTypes.h" 18283625Sdim#include "llvm/Config/config.h" 19283625Sdim 20283625Sdimnamespace llvm { 21283625Sdimclass MCAsmBackend; 22283625Sdimclass MCCodeEmitter; 23283625Sdimclass MCContext; 24283625Sdimclass MCInstrInfo; 25283625Sdimclass MCObjectWriter; 26283625Sdimclass MCRegisterInfo; 27283625Sdimclass MCSubtargetInfo; 28283625Sdimclass Target; 29283625Sdimclass StringRef; 30283625Sdimclass raw_ostream; 31283625Sdimclass raw_pwrite_stream; 32283625Sdim 33283625Sdimextern Target TheBPFTarget; 34283625Sdim 35283625SdimMCCodeEmitter *createBPFMCCodeEmitter(const MCInstrInfo &MCII, 36283625Sdim const MCRegisterInfo &MRI, 37283625Sdim MCContext &Ctx); 38283625Sdim 39283625SdimMCAsmBackend *createBPFAsmBackend(const Target &T, const MCRegisterInfo &MRI, 40283625Sdim StringRef TT, StringRef CPU); 41283625Sdim 42283625SdimMCObjectWriter *createBPFELFObjectWriter(raw_pwrite_stream &OS, uint8_t OSABI); 43283625Sdim} 44283625Sdim 45283625Sdim// Defines symbolic names for BPF registers. This defines a mapping from 46283625Sdim// register name to register number. 47283625Sdim// 48283625Sdim#define GET_REGINFO_ENUM 49283625Sdim#include "BPFGenRegisterInfo.inc" 50283625Sdim 51283625Sdim// Defines symbolic names for the BPF instructions. 52283625Sdim// 53283625Sdim#define GET_INSTRINFO_ENUM 54283625Sdim#include "BPFGenInstrInfo.inc" 55283625Sdim 56283625Sdim#define GET_SUBTARGETINFO_ENUM 57283625Sdim#include "BPFGenSubtargetInfo.inc" 58283625Sdim 59283625Sdim#endif 60