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
174982159b885f1db4cc29b1695841121db85a64a1Rafael Espindola#include "llvm/Support/DataTypes.h"
184982159b885f1db4cc29b1695841121db85a64a1Rafael Espindola
19c60f9b752381baa6c4b80c0739034660f1748c84Evan Chengnamespace llvm {
2078c10eeaa57d1c6c4b7781d3c0bcb0cfbbc43b5cEvan Chengclass MCAsmBackend;
218cb2d61bce5950df8e3b8dec481b88fb2eaa66d0Evan Chengclass MCContext;
228cb2d61bce5950df8e3b8dec481b88fb2eaa66d0Evan Chengclass MCCodeEmitter;
238cb2d61bce5950df8e3b8dec481b88fb2eaa66d0Evan Chengclass MCInstrInfo;
244982159b885f1db4cc29b1695841121db85a64a1Rafael Espindolaclass MCObjectWriter;
25c60f9b752381baa6c4b80c0739034660f1748c84Evan Chengclass MCSubtargetInfo;
26c60f9b752381baa6c4b80c0739034660f1748c84Evan Chengclass Target;
27c60f9b752381baa6c4b80c0739034660f1748c84Evan Chengclass StringRef;
284982159b885f1db4cc29b1695841121db85a64a1Rafael Espindolaclass raw_ostream;
29c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng
30c60f9b752381baa6c4b80c0739034660f1748c84Evan Chengextern Target TheMBlazeTarget;
31c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng
328cb2d61bce5950df8e3b8dec481b88fb2eaa66d0Evan ChengMCCodeEmitter *createMBlazeMCCodeEmitter(const MCInstrInfo &MCII,
338cb2d61bce5950df8e3b8dec481b88fb2eaa66d0Evan Cheng                                         const MCSubtargetInfo &STI,
348cb2d61bce5950df8e3b8dec481b88fb2eaa66d0Evan Cheng                                         MCContext &Ctx);
354982159b885f1db4cc29b1695841121db85a64a1Rafael Espindola
3678c10eeaa57d1c6c4b7781d3c0bcb0cfbbc43b5cEvan ChengMCAsmBackend *createMBlazeAsmBackend(const Target &T, StringRef TT);
378cb2d61bce5950df8e3b8dec481b88fb2eaa66d0Evan Cheng
384982159b885f1db4cc29b1695841121db85a64a1Rafael EspindolaMCObjectWriter *createMBlazeELFObjectWriter(raw_ostream &OS, uint8_t OSABI);
39c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng} // End llvm namespace
40c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng
41c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng// Defines symbolic names for MBlaze registers.  This defines a mapping from
42c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng// register name to register number.
43c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#define GET_REGINFO_ENUM
44c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#include "MBlazeGenRegisterInfo.inc"
45c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng
46c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng// Defines symbolic names for the MBlaze instructions.
47c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#define GET_INSTRINFO_ENUM
48c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#include "MBlazeGenInstrInfo.inc"
49c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng
50c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#define GET_SUBTARGETINFO_ENUM
51c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#include "MBlazeGenSubtargetInfo.inc"
52c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng
53c60f9b752381baa6c4b80c0739034660f1748c84Evan Cheng#endif
54