MipsMCTargetDesc.h revision 239462
1226633Sdim//===-- MipsMCTargetDesc.h - Mips Target Descriptions -----------*- C++ -*-===// 2224133Sdim// 3224133Sdim// The LLVM Compiler Infrastructure 4224133Sdim// 5224133Sdim// This file is distributed under the University of Illinois Open Source 6224133Sdim// License. See LICENSE.TXT for details. 7224133Sdim// 8224133Sdim//===----------------------------------------------------------------------===// 9224133Sdim// 10226633Sdim// This file provides Mips specific target descriptions. 11224133Sdim// 12224133Sdim//===----------------------------------------------------------------------===// 13224133Sdim 14226633Sdim#ifndef MIPSMCTARGETDESC_H 15226633Sdim#define MIPSMCTARGETDESC_H 16224133Sdim 17234353Sdim#include "llvm/Support/DataTypes.h" 18234353Sdim 19224133Sdimnamespace llvm { 20226633Sdimclass MCAsmBackend; 21226633Sdimclass MCCodeEmitter; 22226633Sdimclass MCContext; 23234353Sdimclass MCInstrInfo; 24234353Sdimclass MCObjectWriter; 25239462Sdimclass MCRegisterInfo; 26224133Sdimclass MCSubtargetInfo; 27226633Sdimclass StringRef; 28224133Sdimclass Target; 29234353Sdimclass raw_ostream; 30224133Sdim 31224133Sdimextern Target TheMipsTarget; 32224133Sdimextern Target TheMipselTarget; 33226633Sdimextern Target TheMips64Target; 34226633Sdimextern Target TheMips64elTarget; 35224133Sdim 36234353SdimMCCodeEmitter *createMipsMCCodeEmitterEB(const MCInstrInfo &MCII, 37239462Sdim const MCRegisterInfo &MRI, 38234353Sdim const MCSubtargetInfo &STI, 39234353Sdim MCContext &Ctx); 40234353SdimMCCodeEmitter *createMipsMCCodeEmitterEL(const MCInstrInfo &MCII, 41239462Sdim const MCRegisterInfo &MRI, 42234353Sdim const MCSubtargetInfo &STI, 43234353Sdim MCContext &Ctx); 44226633Sdim 45234353SdimMCAsmBackend *createMipsAsmBackendEB32(const Target &T, StringRef TT); 46234353SdimMCAsmBackend *createMipsAsmBackendEL32(const Target &T, StringRef TT); 47234353SdimMCAsmBackend *createMipsAsmBackendEB64(const Target &T, StringRef TT); 48234353SdimMCAsmBackend *createMipsAsmBackendEL64(const Target &T, StringRef TT); 49234353Sdim 50234353SdimMCObjectWriter *createMipsELFObjectWriter(raw_ostream &OS, 51234353Sdim uint8_t OSABI, 52234353Sdim bool IsLittleEndian, 53234353Sdim bool Is64Bit); 54224133Sdim} // End llvm namespace 55224133Sdim 56224133Sdim// Defines symbolic names for Mips registers. This defines a mapping from 57224133Sdim// register name to register number. 58224133Sdim#define GET_REGINFO_ENUM 59224133Sdim#include "MipsGenRegisterInfo.inc" 60224133Sdim 61224133Sdim// Defines symbolic names for the Mips instructions. 62224133Sdim#define GET_INSTRINFO_ENUM 63224133Sdim#include "MipsGenInstrInfo.inc" 64224133Sdim 65224133Sdim#define GET_SUBTARGETINFO_ENUM 66224133Sdim#include "MipsGenSubtargetInfo.inc" 67224133Sdim 68224133Sdim#endif 69