1//===-- PPCMCTargetDesc.h - PowerPC Target Descriptions ---------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file provides PowerPC specific target descriptions.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef PPCMCTARGETDESC_H
15#define PPCMCTARGETDESC_H
16
17namespace llvm {
18class MCAsmBackend;
19class MCCodeEmitter;
20class MCContext;
21class MCInstrInfo;
22class MCSubtargetInfo;
23class Target;
24class StringRef;
25
26extern Target ThePPC32Target;
27extern Target ThePPC64Target;
28
29MCCodeEmitter *createPPCMCCodeEmitter(const MCInstrInfo &MCII,
30                                      const MCSubtargetInfo &STI,
31                                      MCContext &Ctx);
32
33MCAsmBackend *createPPCAsmBackend(const Target &T, StringRef TT);
34
35} // End llvm namespace
36
37// 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