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 23 namespace llvm { 24 class PPCTargetMachine; 25 class FunctionPass; 26 class MachineCodeEmitter; 27 class raw_ostream; 28 29 FunctionPass *createPPCBranchSelectionPass(); 30 FunctionPass *createPPCISelDag(PPCTargetMachine &TM); 31 FunctionPass *createPPCAsmPrinterPass(raw_ostream &OS, PPCTargetMachine &TM, 32 bool Verbose); 33 FunctionPass *createPPCCodeEmitterPass(PPCTargetMachine &TM, 34 MachineCodeEmitter &MCE); 35 FunctionPass *createPPCJITCodeEmitterPass(PPCTargetMachine &TM, 36 JITCodeEmitter &MCE); 37 } // end namespace llvm; 38 39 // Defines symbolic names for PowerPC registers. This defines a mapping from 40 // register name to register number. 41 // 42 #include "PPCGenRegisterNames.inc" 43 44 // Defines symbolic names for the PowerPC instructions. 45 // 46 #include "PPCGenInstrNames.inc" 47 48 #endif 49