LLVM API Documentation

SparcMCTargetDesc.h
Go to the documentation of this file.
00001 //===-- SparcMCTargetDesc.h - Sparc 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 Sparc specific target descriptions.
00011 //
00012 //===----------------------------------------------------------------------===//
00013 
00014 #ifndef LLVM_LIB_TARGET_SPARC_MCTARGETDESC_SPARCMCTARGETDESC_H
00015 #define LLVM_LIB_TARGET_SPARC_MCTARGETDESC_SPARCMCTARGETDESC_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 Target;
00028 class StringRef;
00029 class raw_ostream;
00030 
00031 extern Target TheSparcTarget;
00032 extern Target TheSparcV9Target;
00033 
00034 MCCodeEmitter *createSparcMCCodeEmitter(const MCInstrInfo &MCII,
00035                                         const MCRegisterInfo &MRI,
00036                                         const MCSubtargetInfo &STI,
00037                                         MCContext &Ctx);
00038 MCAsmBackend *createSparcAsmBackend(const Target &T,
00039                                     const MCRegisterInfo &MRI,
00040                                     StringRef TT,
00041                                     StringRef CPU);
00042 MCObjectWriter *createSparcELFObjectWriter(raw_ostream &OS,
00043                                            bool Is64Bit,
00044                                            uint8_t OSABI);
00045 } // End llvm namespace
00046 
00047 // Defines symbolic names for Sparc registers.  This defines a mapping from
00048 // register name to register number.
00049 //
00050 #define GET_REGINFO_ENUM
00051 #include "SparcGenRegisterInfo.inc"
00052 
00053 // Defines symbolic names for the Sparc instructions.
00054 //
00055 #define GET_INSTRINFO_ENUM
00056 #include "SparcGenInstrInfo.inc"
00057 
00058 #define GET_SUBTARGETINFO_ENUM
00059 #include "SparcGenSubtargetInfo.inc"
00060 
00061 #endif