-//===-- PowerPC.h - Top-level interface for PowerPC representation -*- C++ -*-//
+//===-- PPC.h - Top-level interface for PowerPC Target ----------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
-// This file was developed by the LLVM research group and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
//
//===----------------------------------------------------------------------===//
-#ifndef TARGET_POWERPC_H
-#define TARGET_POWERPC_H
+#ifndef LLVM_TARGET_POWERPC_H
+#define LLVM_TARGET_POWERPC_H
-#include <iosfwd>
+// GCC #defines PPC on Linux but we use it as our namespace name
+#undef PPC
-namespace llvm {
+#include "llvm/Target/TargetMachine.h"
-class FunctionPass;
-class TargetMachine;
+namespace llvm {
+ class PPCTargetMachine;
+ class FunctionPass;
+ class MachineCodeEmitter;
+ class ObjectCodeEmitter;
+ class formatted_raw_ostream;
+
+FunctionPass *createPPCBranchSelectionPass();
+FunctionPass *createPPCISelDag(PPCTargetMachine &TM);
+FunctionPass *createPPCCodeEmitterPass(PPCTargetMachine &TM,
+ MachineCodeEmitter &MCE);
+FunctionPass *createPPCJITCodeEmitterPass(PPCTargetMachine &TM,
+ JITCodeEmitter &MCE);
+FunctionPass *createPPCObjectCodeEmitterPass(PPCTargetMachine &TM,
+ ObjectCodeEmitter &OCE);
-enum PPCTargetEnum {
- TargetDefault, TargetAIX, TargetDarwin
-};
+extern Target ThePPC32Target;
+extern Target ThePPC64Target;
-FunctionPass *createPPCBranchSelectionPass();
-FunctionPass *createPPC32ISelSimple(TargetMachine &TM);
-FunctionPass *createPPC32ISelPattern(TargetMachine &TM);
-FunctionPass *createPPC32ISelDag(TargetMachine &TM);
-FunctionPass *createDarwinAsmPrinter(std::ostream &OS, TargetMachine &TM);
-FunctionPass *createAIXAsmPrinter(std::ostream &OS, TargetMachine &TM);
-
-extern bool PICEnabled;
-extern PPCTargetEnum PPCTarget;
} // end namespace llvm;
-// GCC #defines PPC on Linux but we use it as our namespace name
-#undef PPC
-
// Defines symbolic names for PowerPC registers. This defines a mapping from
// register name to register number.
//
-#include "PowerPCGenRegisterNames.inc"
+#include "PPCGenRegisterNames.inc"
// Defines symbolic names for the PowerPC instructions.
//
-#include "PowerPCGenInstrNames.inc"
+#include "PPCGenInstrNames.inc"
#endif