1//===-- AMDGPUMCTargetDesc.h - AMDGPU Target Descriptions -----*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10/// \file 11/// \brief Provides AMDGPU specific target descriptions. 12// 13//===----------------------------------------------------------------------===// 14// 15 16#ifndef AMDGPUMCTARGETDESC_H 17#define AMDGPUMCTARGETDESC_H 18 19#include "llvm/ADT/StringRef.h" 20 21namespace llvm { 22class MCAsmBackend; 23class MCCodeEmitter; 24class MCContext; 25class MCInstrInfo; 26class MCObjectWriter; 27class MCRegisterInfo; 28class MCSubtargetInfo; 29class Target; 30class raw_ostream; 31 32extern Target TheAMDGPUTarget; 33 34MCCodeEmitter *createR600MCCodeEmitter(const MCInstrInfo &MCII, 35 const MCRegisterInfo &MRI, 36 const MCSubtargetInfo &STI); 37 38MCCodeEmitter *createSIMCCodeEmitter(const MCInstrInfo &MCII, 39 const MCRegisterInfo &MRI, 40 const MCSubtargetInfo &STI, 41 MCContext &Ctx); 42 43MCAsmBackend *createAMDGPUAsmBackend(const Target &T, const MCRegisterInfo &MRI, 44 StringRef TT, StringRef CPU); 45 46MCObjectWriter *createAMDGPUELFObjectWriter(raw_ostream &OS); 47} // End llvm namespace 48 49#define GET_REGINFO_ENUM 50#include "AMDGPUGenRegisterInfo.inc" 51 52#define GET_INSTRINFO_ENUM 53#include "AMDGPUGenInstrInfo.inc" 54 55#define GET_SUBTARGETINFO_ENUM 56#include "AMDGPUGenSubtargetInfo.inc" 57 58#endif // AMDGPUMCTARGETDESC_H 59