LLVM  3.7.0
AMDGPUMCTargetDesc.h
Go to the documentation of this file.
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 /// \file
11 /// \brief Provides AMDGPU specific target descriptions.
12 //
13 //===----------------------------------------------------------------------===//
14 //
15 
16 #ifndef LLVM_LIB_TARGET_R600_MCTARGETDESC_AMDGPUMCTARGETDESC_H
17 #define LLVM_LIB_TARGET_R600_MCTARGETDESC_AMDGPUMCTARGETDESC_H
18 
19 #include "llvm/Support/DataTypes.h"
20 #include "llvm/ADT/StringRef.h"
21 
22 namespace llvm {
23 class MCAsmBackend;
24 class MCCodeEmitter;
25 class MCContext;
26 class MCInstrInfo;
27 class MCObjectWriter;
28 class MCRegisterInfo;
29 class MCSubtargetInfo;
30 class Target;
31 class Triple;
32 class raw_pwrite_stream;
34 
35 extern Target TheAMDGPUTarget;
37 
39  const MCRegisterInfo &MRI,
40  MCContext &Ctx);
41 
43  const MCRegisterInfo &MRI,
44  MCContext &Ctx);
45 
47  const Triple &TT, StringRef CPU);
48 
50  raw_pwrite_stream &OS);
51 } // End llvm namespace
52 
53 #define GET_REGINFO_ENUM
54 #include "AMDGPUGenRegisterInfo.inc"
55 
56 #define GET_INSTRINFO_ENUM
57 #include "AMDGPUGenInstrInfo.inc"
58 
59 #define GET_SUBTARGETINFO_ENUM
60 #include "AMDGPUGenSubtargetInfo.inc"
61 
62 #endif
MCCodeEmitter * createSIMCCodeEmitter(const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx)
Target TheGCNTarget
The target for GCN GPUs.
Defines the object file and target independent interfaces used by the assembler backend to write nati...
Target TheAMDGPUTarget
The target which suports all AMD GPUs.
MCCodeEmitter * createR600MCCodeEmitter(const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx)
Context object for machine code objects.
Definition: MCContext.h:48
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
MCAsmBackend * createAMDGPUAsmBackend(const Target &T, const MCRegisterInfo &MRI, const Triple &TT, StringRef CPU)
MCCodeEmitter - Generic instruction encoding interface.
Definition: MCCodeEmitter.h:23
Interface to description of machine instruction set.
Definition: MCInstrInfo.h:24
Triple - Helper class for working with autoconf configuration names.
Definition: Triple.h:44
Target - Wrapper for Target specific information.
An abstract base class for streams implementations that also support a pwrite operation.
Definition: raw_ostream.h:321
MCObjectWriter * createAMDGPUELFObjectWriter(bool Is64Bit, raw_pwrite_stream &OS)
Generic interface to target specific assembler backends.
Definition: MCAsmBackend.h:34
This class implements an extremely fast bulk output stream that can only output to a stream...
Definition: raw_ostream.h:38
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:40