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, 32 PPCTargetMachine &TM, 33 CodeGenOpt::Level OptLevel, bool Verbose); 34 FunctionPass *createPPCCodeEmitterPass(PPCTargetMachine &TM, 35 MachineCodeEmitter &MCE); 36 FunctionPass *createPPCJITCodeEmitterPass(PPCTargetMachine &TM, 37 JITCodeEmitter &MCE); 38 } // end namespace llvm; 39 40 // Defines symbolic names for PowerPC registers. This defines a mapping from 41 // register name to register number. 42 // 43 #include "PPCGenRegisterNames.inc" 44 45 // Defines symbolic names for the PowerPC instructions. 46 // 47 #include "PPCGenInstrNames.inc" 48 49 #endif 50