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