LLVM API Documentation

MipsMCTargetDesc.h
Go to the documentation of this file.
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