AMDGPUMCTargetDesc.h revision 251662
155714Skris//===-- AMDGPUMCTargetDesc.h - AMDGPU Target Descriptions -----*- C++ -*-===//
255714Skris//
355714Skris//                     The LLVM Compiler Infrastructure
455714Skris//
555714Skris// This file is distributed under the University of Illinois Open Source
655714Skris// License. See LICENSE.TXT for details.
755714Skris//
8280304Sjkim//===----------------------------------------------------------------------===//
955714Skris//
1055714Skris/// \file
1155714Skris/// \brief Provides AMDGPU specific target descriptions.
1255714Skris//
1355714Skris//===----------------------------------------------------------------------===//
1455714Skris//
15280304Sjkim
1655714Skris#ifndef AMDGPUMCTARGETDESC_H
1755714Skris#define AMDGPUMCTARGETDESC_H
1855714Skris
1955714Skris#include "llvm/ADT/StringRef.h"
2055714Skris
2155714Skrisnamespace llvm {
22280304Sjkimclass MCAsmBackend;
2355714Skrisclass MCCodeEmitter;
2455714Skrisclass MCContext;
2555714Skrisclass MCInstrInfo;
2655714Skrisclass MCObjectWriter;
2755714Skrisclass MCRegisterInfo;
2855714Skrisclass MCSubtargetInfo;
2955714Skrisclass Target;
3055714Skrisclass raw_ostream;
3155714Skris
3255714Skrisextern Target TheAMDGPUTarget;
3355714Skris
3455714SkrisMCCodeEmitter *createR600MCCodeEmitter(const MCInstrInfo &MCII,
3555714Skris                                       const MCRegisterInfo &MRI,
3655714Skris                                       const MCSubtargetInfo &STI);
37280304Sjkim
3855714SkrisMCCodeEmitter *createSIMCCodeEmitter(const MCInstrInfo &MCII,
3955714Skris                                     const MCRegisterInfo &MRI,
40280304Sjkim                                     const MCSubtargetInfo &STI,
4155714Skris                                     MCContext &Ctx);
4255714Skris
4355714SkrisMCAsmBackend *createAMDGPUAsmBackend(const Target &T, StringRef TT,
4455714Skris                                     StringRef CPU);
4555714Skris
4655714SkrisMCObjectWriter *createAMDGPUELFObjectWriter(raw_ostream &OS);
4755714Skris} // End llvm namespace
4855714Skris
4955714Skris#define GET_REGINFO_ENUM
5055714Skris#include "AMDGPUGenRegisterInfo.inc"
5155714Skris
52280304Sjkim#define GET_INSTRINFO_ENUM
5355714Skris#include "AMDGPUGenInstrInfo.inc"
5455714Skris
5555714Skris#define GET_SUBTARGETINFO_ENUM
5655714Skris#include "AMDGPUGenSubtargetInfo.inc"
5755714Skris
5855714Skris#endif // AMDGPUMCTARGETDESC_H
5955714Skris