PPC.h revision f8b02949e3d13e9b7cd38e029fcbf3e799366aa7
1//===-- PowerPC.h - Top-level interface for PowerPC representation -*- C++ -*-// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file was developed by the LLVM research group and is distributed under 6// the University of Illinois Open Source 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 TARGET_POWERPC_H 16#define TARGET_POWERPC_H 17 18#include <iosfwd> 19 20namespace llvm { 21 22class FunctionPass; 23class TargetMachine; 24 25FunctionPass *createPPCBranchSelectionPass(); 26FunctionPass *createPPC32ISelSimple(TargetMachine &TM); 27FunctionPass *createPPC32ISelPattern(TargetMachine &TM); 28FunctionPass *createPPC64ISelPattern(TargetMachine &TM); 29FunctionPass *createDarwinAsmPrinter(std::ostream &OS, TargetMachine &TM); 30FunctionPass *createAIXAsmPrinter(std::ostream &OS, TargetMachine &TM); 31 32extern bool PPCCRopts; 33} // end namespace llvm; 34 35// GCC #defines PPC on Linux but we use it as our namespace name 36#undef PPC 37 38// Defines symbolic names for PowerPC registers. This defines a mapping from 39// register name to register number. 40// 41#include "PowerPCGenRegisterNames.inc" 42 43// Defines symbolic names for the PowerPC instructions. 44// 45#include "PowerPCGenInstrNames.inc" 46 47#endif 48