1249259Sdim//===-- AMDGPUMCTargetDesc.h - AMDGPU Target Descriptions -----*- C++ -*-===//
2249259Sdim//
3249259Sdim//                     The LLVM Compiler Infrastructure
4249259Sdim//
5249259Sdim// This file is distributed under the University of Illinois Open Source
6249259Sdim// License. See LICENSE.TXT for details.
7249259Sdim//
8249259Sdim//===----------------------------------------------------------------------===//
9249259Sdim//
10249259Sdim/// \file
11249259Sdim/// \brief Provides AMDGPU specific target descriptions.
12249259Sdim//
13249259Sdim//===----------------------------------------------------------------------===//
14249259Sdim//
15249259Sdim
16249259Sdim#ifndef AMDGPUMCTARGETDESC_H
17249259Sdim#define AMDGPUMCTARGETDESC_H
18249259Sdim
19249259Sdim#include "llvm/ADT/StringRef.h"
20249259Sdim
21249259Sdimnamespace llvm {
22249259Sdimclass MCAsmBackend;
23249259Sdimclass MCCodeEmitter;
24249259Sdimclass MCContext;
25249259Sdimclass MCInstrInfo;
26251662Sdimclass MCObjectWriter;
27249259Sdimclass MCRegisterInfo;
28249259Sdimclass MCSubtargetInfo;
29249259Sdimclass Target;
30251662Sdimclass raw_ostream;
31249259Sdim
32249259Sdimextern Target TheAMDGPUTarget;
33249259Sdim
34249259SdimMCCodeEmitter *createR600MCCodeEmitter(const MCInstrInfo &MCII,
35249259Sdim                                       const MCRegisterInfo &MRI,
36251662Sdim                                       const MCSubtargetInfo &STI);
37249259Sdim
38249259SdimMCCodeEmitter *createSIMCCodeEmitter(const MCInstrInfo &MCII,
39249259Sdim                                     const MCRegisterInfo &MRI,
40249259Sdim                                     const MCSubtargetInfo &STI,
41249259Sdim                                     MCContext &Ctx);
42249259Sdim
43263508SdimMCAsmBackend *createAMDGPUAsmBackend(const Target &T, const MCRegisterInfo &MRI,
44263508Sdim                                     StringRef TT, StringRef CPU);
45251662Sdim
46251662SdimMCObjectWriter *createAMDGPUELFObjectWriter(raw_ostream &OS);
47249259Sdim} // End llvm namespace
48249259Sdim
49249259Sdim#define GET_REGINFO_ENUM
50249259Sdim#include "AMDGPUGenRegisterInfo.inc"
51249259Sdim
52249259Sdim#define GET_INSTRINFO_ENUM
53249259Sdim#include "AMDGPUGenInstrInfo.inc"
54249259Sdim
55249259Sdim#define GET_SUBTARGETINFO_ENUM
56249259Sdim#include "AMDGPUGenSubtargetInfo.inc"
57249259Sdim
58249259Sdim#endif // AMDGPUMCTARGETDESC_H
59