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