1228a6641ccddaf24a993f827af1e97379785985aTom Stellard//===-- AMDGPUMCTargetDesc.h - AMDGPU Target Descriptions -----*- C++ -*-===//
2a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//
3a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//                     The LLVM Compiler Infrastructure
4a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//
5a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard// This file is distributed under the University of Illinois Open Source
6a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard// License. See LICENSE.TXT for details.
7a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//
8a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//===----------------------------------------------------------------------===//
9a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//
10228a6641ccddaf24a993f827af1e97379785985aTom Stellard// This file provides AMDGPU specific target descriptions.
11a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//
12a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//===----------------------------------------------------------------------===//
13a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard//
14a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
15228a6641ccddaf24a993f827af1e97379785985aTom Stellard#ifndef AMDGPUMCTARGETDESC_H
16228a6641ccddaf24a993f827af1e97379785985aTom Stellard#define AMDGPUMCTARGETDESC_H
17a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
18235318a578b3d7772a60590c7e76791ed6d1a78eTom Stellard#include "llvm/ADT/StringRef.h"
19235318a578b3d7772a60590c7e76791ed6d1a78eTom Stellard
20a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardnamespace llvm {
21235318a578b3d7772a60590c7e76791ed6d1a78eTom Stellardclass MCAsmBackend;
22235318a578b3d7772a60590c7e76791ed6d1a78eTom Stellardclass MCCodeEmitter;
23235318a578b3d7772a60590c7e76791ed6d1a78eTom Stellardclass MCContext;
24235318a578b3d7772a60590c7e76791ed6d1a78eTom Stellardclass MCInstrInfo;
25235318a578b3d7772a60590c7e76791ed6d1a78eTom Stellardclass MCRegisterInfo;
26a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardclass MCSubtargetInfo;
27a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardclass Target;
28a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
29a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardextern Target TheAMDGPUTarget;
30a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
3190bd1d52bbf95947955a66ec67f5f6c7dc87119aTom StellardMCCodeEmitter *createR600MCCodeEmitter(const MCInstrInfo &MCII,
3290bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard                                       const MCSubtargetInfo &STI,
3390bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard                                       MCContext &Ctx);
3490bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard
3590bd1d52bbf95947955a66ec67f5f6c7dc87119aTom StellardMCCodeEmitter *createSIMCCodeEmitter(const MCInstrInfo &MCII,
3690bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard                                     const MCSubtargetInfo &STI,
3790bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard                                     MCContext &Ctx);
38235318a578b3d7772a60590c7e76791ed6d1a78eTom Stellard
39235318a578b3d7772a60590c7e76791ed6d1a78eTom StellardMCAsmBackend *createAMDGPUAsmBackend(const Target &T, StringRef TT);
40a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard} // End llvm namespace
41a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
42a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard#define GET_REGINFO_ENUM
4365917004d99ccb79f709e621f8f6cf66715ffdcaTom Stellard#include "AMDGPUGenRegisterInfo.inc"
44a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
45a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard#define GET_INSTRINFO_ENUM
4665917004d99ccb79f709e621f8f6cf66715ffdcaTom Stellard#include "AMDGPUGenInstrInfo.inc"
47a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
48a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard#define GET_SUBTARGETINFO_ENUM
4965917004d99ccb79f709e621f8f6cf66715ffdcaTom Stellard#include "AMDGPUGenSubtargetInfo.inc"
50a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
51228a6641ccddaf24a993f827af1e97379785985aTom Stellard#endif // AMDGPUMCTARGETDESC_H
52