MBlazeMCTargetDesc.h revision 78c10eeaa57d1c6c4b7781d3c0bcb0cfbbc43b5c
1c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng//===-- MBlazeMCTargetDesc.h - MBlaze Target Descriptions -------*- C++ -*-===//
2c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng//
3c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng//                     The LLVM Compiler Infrastructure
4c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng//
5c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng// This file is distributed under the University of Illinois Open Source
6c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng// License. See LICENSE.TXT for details.
7c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng//
8c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng//===----------------------------------------------------------------------===//
9c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng//
10c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng// This file provides MBlaze specific target descriptions.
11c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng//
12c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng//===----------------------------------------------------------------------===//
13c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng
14c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#ifndef MBLAZEMCTARGETDESC_H
15c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#define MBLAZEMCTARGETDESC_H
16c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng
17c60f9b752381baa6c4b80c0739034660f1748c84Evan Chengnamespace llvm {
1878c10eeaa57d1c6c4b7781d3c0bcb0cfbbc43b5cEvan Chengclass MCAsmBackend;
198cb2d61bce5950df8e3b8dec481b88fb2eaa66d0Evan Chengclass MCContext;
208cb2d61bce5950df8e3b8dec481b88fb2eaa66d0Evan Chengclass MCCodeEmitter;
218cb2d61bce5950df8e3b8dec481b88fb2eaa66d0Evan Chengclass MCInstrInfo;
22c60f9b752381baa6c4b80c0739034660f1748c84Evan Chengclass MCSubtargetInfo;
23c60f9b752381baa6c4b80c0739034660f1748c84Evan Chengclass Target;
24c60f9b752381baa6c4b80c0739034660f1748c84Evan Chengclass StringRef;
258cb2d61bce5950df8e3b8dec481b88fb2eaa66d0Evan Chengclass formatted_raw_ostream;
26c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng
27c60f9b752381baa6c4b80c0739034660f1748c84Evan Chengextern Target TheMBlazeTarget;
28c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng
298cb2d61bce5950df8e3b8dec481b88fb2eaa66d0Evan ChengMCCodeEmitter *createMBlazeMCCodeEmitter(const MCInstrInfo &MCII,
308cb2d61bce5950df8e3b8dec481b88fb2eaa66d0Evan Cheng                                         const MCSubtargetInfo &STI,
318cb2d61bce5950df8e3b8dec481b88fb2eaa66d0Evan Cheng                                         MCContext &Ctx);
328cb2d61bce5950df8e3b8dec481b88fb2eaa66d0Evan Cheng
3378c10eeaa57d1c6c4b7781d3c0bcb0cfbbc43b5cEvan ChengMCAsmBackend *createMBlazeAsmBackend(const Target &T, StringRef TT);
348cb2d61bce5950df8e3b8dec481b88fb2eaa66d0Evan Cheng
35c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng} // End llvm namespace
36c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng
37c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng// Defines symbolic names for MBlaze registers.  This defines a mapping from
38c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng// register name to register number.
39c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#define GET_REGINFO_ENUM
40c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#include "MBlazeGenRegisterInfo.inc"
41c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng
42c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng// Defines symbolic names for the MBlaze instructions.
43c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#define GET_INSTRINFO_ENUM
44c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#include "MBlazeGenInstrInfo.inc"
45c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng
46c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#define GET_SUBTARGETINFO_ENUM
47c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#include "MBlazeGenSubtargetInfo.inc"
48c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng
49c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#endif
50