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// This file provides AMDGPU specific target descriptions.
11//
12//===----------------------------------------------------------------------===//
13//
14
15#ifndef AMDGPUMCTARGETDESC_H
16#define AMDGPUMCTARGETDESC_H
17
18#include "llvm/ADT/StringRef.h"
19
20namespace llvm {
21class MCAsmBackend;
22class MCCodeEmitter;
23class MCContext;
24class MCInstrInfo;
25class MCRegisterInfo;
26class MCSubtargetInfo;
27class Target;
28
29extern Target TheAMDGPUTarget;
30
31MCCodeEmitter *createR600MCCodeEmitter(const MCInstrInfo &MCII,
32                                       const MCSubtargetInfo &STI,
33                                       MCContext &Ctx);
34
35MCCodeEmitter *createSIMCCodeEmitter(const MCInstrInfo &MCII,
36                                     const MCSubtargetInfo &STI,
37                                     MCContext &Ctx);
38
39MCAsmBackend *createAMDGPUAsmBackend(const Target &T, StringRef TT);
40} // End llvm namespace
41
42#define GET_REGINFO_ENUM
43#include "AMDGPUGenRegisterInfo.inc"
44
45#define GET_INSTRINFO_ENUM
46#include "AMDGPUGenInstrInfo.inc"
47
48#define GET_SUBTARGETINFO_ENUM
49#include "AMDGPUGenSubtargetInfo.inc"
50
51#endif // AMDGPUMCTARGETDESC_H
52