PPCMCTargetDesc.h revision 234353
1224133Sdim//===-- PPCMCTargetDesc.h - PowerPC 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// 10224133Sdim// This file provides PowerPC specific target descriptions. 11224133Sdim// 12224133Sdim//===----------------------------------------------------------------------===// 13224133Sdim 14224133Sdim#ifndef PPCMCTARGETDESC_H 15224133Sdim#define PPCMCTARGETDESC_H 16224133Sdim 17234353Sdim#include "llvm/Support/DataTypes.h" 18234353Sdim 19224133Sdimnamespace llvm { 20226633Sdimclass MCAsmBackend; 21226633Sdimclass MCCodeEmitter; 22226633Sdimclass MCContext; 23226633Sdimclass MCInstrInfo; 24234353Sdimclass MCObjectWriter; 25224133Sdimclass MCSubtargetInfo; 26224133Sdimclass Target; 27224133Sdimclass StringRef; 28234353Sdimclass raw_ostream; 29224133Sdim 30224133Sdimextern Target ThePPC32Target; 31224133Sdimextern Target ThePPC64Target; 32224133Sdim 33226633SdimMCCodeEmitter *createPPCMCCodeEmitter(const MCInstrInfo &MCII, 34226633Sdim const MCSubtargetInfo &STI, 35226633Sdim MCContext &Ctx); 36226633Sdim 37226633SdimMCAsmBackend *createPPCAsmBackend(const Target &T, StringRef TT); 38234353Sdim 39234353Sdim/// createPPCELFObjectWriter - Construct an PPC ELF object writer. 40234353SdimMCObjectWriter *createPPCELFObjectWriter(raw_ostream &OS, 41234353Sdim bool Is64Bit, 42234353Sdim uint8_t OSABI); 43224133Sdim} // End llvm namespace 44224133Sdim 45224133Sdim// Defines symbolic names for PowerPC registers. This defines a mapping from 46224133Sdim// register name to register number. 47224133Sdim// 48224133Sdim#define GET_REGINFO_ENUM 49224133Sdim#include "PPCGenRegisterInfo.inc" 50224133Sdim 51224133Sdim// Defines symbolic names for the PowerPC instructions. 52224133Sdim// 53224133Sdim#define GET_INSTRINFO_ENUM 54224133Sdim#include "PPCGenInstrInfo.inc" 55224133Sdim 56224133Sdim#define GET_SUBTARGETINFO_ENUM 57224133Sdim#include "PPCGenSubtargetInfo.inc" 58224133Sdim 59224133Sdim#endif 60