PPCMCTargetDesc.h revision 234353
1235723Sbapt//===-- PPCMCTargetDesc.h - PowerPC Target Descriptions ---------*- C++ -*-===// 2235723Sbapt// 3268811Sbapt// The LLVM Compiler Infrastructure 4268811Sbapt// 5268811Sbapt// This file is distributed under the University of Illinois Open Source 6268811Sbapt// License. See LICENSE.TXT for details. 7268811Sbapt// 8268811Sbapt//===----------------------------------------------------------------------===// 9263227Sjmmv// 10263227Sjmmv// This file provides PowerPC specific target descriptions. 11268811Sbapt// 12263227Sjmmv//===----------------------------------------------------------------------===// 13268811Sbapt 14268811Sbapt#ifndef PPCMCTARGETDESC_H 15263227Sjmmv#define PPCMCTARGETDESC_H 16268811Sbapt 17268811Sbapt#include "llvm/Support/DataTypes.h" 18268811Sbapt 19268811Sbaptnamespace llvm { 20268811Sbaptclass MCAsmBackend; 21268811Sbaptclass MCCodeEmitter; 22268811Sbaptclass MCContext; 23268811Sbaptclass MCInstrInfo; 24268811Sbaptclass MCObjectWriter; 25268811Sbaptclass MCSubtargetInfo; 26268811Sbaptclass Target; 27268811Sbaptclass StringRef; 28268811Sbaptclass raw_ostream; 29268811Sbapt 30268811Sbaptextern Target ThePPC32Target; 31268811Sbaptextern Target ThePPC64Target; 32268811Sbapt 33268811SbaptMCCodeEmitter *createPPCMCCodeEmitter(const MCInstrInfo &MCII, 34268811Sbapt const MCSubtargetInfo &STI, 35268811Sbapt MCContext &Ctx); 36268811Sbapt 37268811SbaptMCAsmBackend *createPPCAsmBackend(const Target &T, StringRef TT); 38268811Sbapt 39268811Sbapt/// createPPCELFObjectWriter - Construct an PPC ELF object writer. 40268811SbaptMCObjectWriter *createPPCELFObjectWriter(raw_ostream &OS, 41268811Sbapt bool Is64Bit, 42268811Sbapt uint8_t OSABI); 43268811Sbapt} // End llvm namespace 44268811Sbapt 45268811Sbapt// Defines symbolic names for PowerPC registers. This defines a mapping from 46268811Sbapt// register name to register number. 47268811Sbapt// 48268811Sbapt#define GET_REGINFO_ENUM 49268811Sbapt#include "PPCGenRegisterInfo.inc" 50268811Sbapt 51268811Sbapt// Defines symbolic names for the PowerPC instructions. 52268811Sbapt// 53268811Sbapt#define GET_INSTRINFO_ENUM 54268811Sbapt#include "PPCGenInstrInfo.inc" 55268811Sbapt 56268811Sbapt#define GET_SUBTARGETINFO_ENUM 57268811Sbapt#include "PPCGenSubtargetInfo.inc" 58268811Sbapt 59268811Sbapt#endif 60268811Sbapt