PPCMCTargetDesc.h revision 226633
1283625Sdim//===-- PPCMCTargetDesc.h - PowerPC Target Descriptions ---------*- C++ -*-===//
2283625Sdim//
3283625Sdim//                     The LLVM Compiler Infrastructure
4283625Sdim//
5283625Sdim// This file is distributed under the University of Illinois Open Source
6283625Sdim// License. See LICENSE.TXT for details.
7283625Sdim//
8283625Sdim//===----------------------------------------------------------------------===//
9283625Sdim//
10283625Sdim// This file provides PowerPC specific target descriptions.
11283625Sdim//
12283625Sdim//===----------------------------------------------------------------------===//
13283625Sdim
14283625Sdim#ifndef PPCMCTARGETDESC_H
15283625Sdim#define PPCMCTARGETDESC_H
16283625Sdim
17283625Sdimnamespace llvm {
18283625Sdimclass MCAsmBackend;
19283625Sdimclass MCCodeEmitter;
20283625Sdimclass MCContext;
21283625Sdimclass MCInstrInfo;
22283625Sdimclass MCSubtargetInfo;
23283625Sdimclass Target;
24283625Sdimclass StringRef;
25283625Sdim
26283625Sdimextern Target ThePPC32Target;
27283625Sdimextern Target ThePPC64Target;
28283625Sdim
29283625SdimMCCodeEmitter *createPPCMCCodeEmitter(const MCInstrInfo &MCII,
30283625Sdim                                      const MCSubtargetInfo &STI,
31283625Sdim                                      MCContext &Ctx);
32283625Sdim
33283625SdimMCAsmBackend *createPPCAsmBackend(const Target &T, StringRef TT);
34283625Sdim
35283625Sdim} // End llvm namespace
36283625Sdim
37283625Sdim// Defines symbolic names for PowerPC registers.  This defines a mapping from
38// register name to register number.
39//
40#define GET_REGINFO_ENUM
41#include "PPCGenRegisterInfo.inc"
42
43// Defines symbolic names for the PowerPC instructions.
44//
45#define GET_INSTRINFO_ENUM
46#include "PPCGenInstrInfo.inc"
47
48#define GET_SUBTARGETINFO_ENUM
49#include "PPCGenSubtargetInfo.inc"
50
51#endif
52