LLVM API Documentation
00001 //===-- MipsMCTargetDesc.h - Mips Target Descriptions -----------*- C++ -*-===// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 // 00010 // This file provides Mips specific target descriptions. 00011 // 00012 //===----------------------------------------------------------------------===// 00013 00014 #ifndef LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSMCTARGETDESC_H 00015 #define LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSMCTARGETDESC_H 00016 00017 #include "llvm/Support/DataTypes.h" 00018 00019 namespace llvm { 00020 class MCAsmBackend; 00021 class MCCodeEmitter; 00022 class MCContext; 00023 class MCInstrInfo; 00024 class MCObjectWriter; 00025 class MCRegisterInfo; 00026 class MCSubtargetInfo; 00027 class StringRef; 00028 class Target; 00029 class raw_ostream; 00030 00031 extern Target TheMipsTarget; 00032 extern Target TheMipselTarget; 00033 extern Target TheMips64Target; 00034 extern Target TheMips64elTarget; 00035 00036 MCCodeEmitter *createMipsMCCodeEmitterEB(const MCInstrInfo &MCII, 00037 const MCRegisterInfo &MRI, 00038 const MCSubtargetInfo &STI, 00039 MCContext &Ctx); 00040 MCCodeEmitter *createMipsMCCodeEmitterEL(const MCInstrInfo &MCII, 00041 const MCRegisterInfo &MRI, 00042 const MCSubtargetInfo &STI, 00043 MCContext &Ctx); 00044 00045 MCAsmBackend *createMipsAsmBackendEB32(const Target &T, 00046 const MCRegisterInfo &MRI, StringRef TT, 00047 StringRef CPU); 00048 MCAsmBackend *createMipsAsmBackendEL32(const Target &T, 00049 const MCRegisterInfo &MRI, StringRef TT, 00050 StringRef CPU); 00051 MCAsmBackend *createMipsAsmBackendEB64(const Target &T, 00052 const MCRegisterInfo &MRI, StringRef TT, 00053 StringRef CPU); 00054 MCAsmBackend *createMipsAsmBackendEL64(const Target &T, 00055 const MCRegisterInfo &MRI, StringRef TT, 00056 StringRef CPU); 00057 00058 MCObjectWriter *createMipsELFObjectWriter(raw_ostream &OS, 00059 uint8_t OSABI, 00060 bool IsLittleEndian, 00061 bool Is64Bit); 00062 } // End llvm namespace 00063 00064 // Defines symbolic names for Mips registers. This defines a mapping from 00065 // register name to register number. 00066 #define GET_REGINFO_ENUM 00067 #include "MipsGenRegisterInfo.inc" 00068 00069 // Defines symbolic names for the Mips instructions. 00070 #define GET_INSTRINFO_ENUM 00071 #include "MipsGenInstrInfo.inc" 00072 00073 #define GET_SUBTARGETINFO_ENUM 00074 #include "MipsGenSubtargetInfo.inc" 00075 00076 #endif