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 
20 namespace llvm {
21 class MCAsmBackend;
22 class MCCodeEmitter;
23 class MCContext;
24 class MCInstrInfo;
25 class MCRegisterInfo;
26 class MCSubtargetInfo;
27 class Target;
28 
29 extern Target TheAMDGPUTarget;
30 
31 MCCodeEmitter *createR600MCCodeEmitter(const MCInstrInfo &MCII,
32                                        const MCSubtargetInfo &STI,
33                                        MCContext &Ctx);
34 
35 MCCodeEmitter *createSIMCCodeEmitter(const MCInstrInfo &MCII,
36                                      const MCSubtargetInfo &STI,
37                                      MCContext &Ctx);
38 
39 MCAsmBackend *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