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