PPC.h revision 55fed86353fb39924378dc0e5d29cb273f5e2138
1//===-- PPC.h - Top-level interface for PowerPC Target ----------*- 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 contains the entry points for global functions defined in the LLVM
11// PowerPC back-end.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_TARGET_POWERPC_H
16#define LLVM_TARGET_POWERPC_H
17
18// GCC #defines PPC on Linux but we use it as our namespace name
19#undef PPC
20
21#include "llvm/Target/TargetMachine.h"
22
23namespace llvm {
24  class PPCTargetMachine;
25  class FunctionPass;
26  class formatted_raw_ostream;
27
28FunctionPass *createPPCBranchSelectionPass();
29FunctionPass *createPPCISelDag(PPCTargetMachine &TM);
30FunctionPass *createPPCJITCodeEmitterPass(PPCTargetMachine &TM,
31                                          JITCodeEmitter &MCE);
32
33extern Target ThePPC32Target;
34extern Target ThePPC64Target;
35
36} // end namespace llvm;
37
38// Defines symbolic names for PowerPC registers.  This defines a mapping from
39// register name to register number.
40//
41#include "PPCGenRegisterNames.inc"
42
43// Defines symbolic names for the PowerPC instructions.
44//
45#include "PPCGenInstrNames.inc"
46
47#endif
48