diff options
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPC.h')
-rw-r--r-- | llvm/lib/Target/PowerPC/PPC.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPC.h b/llvm/lib/Target/PowerPC/PPC.h new file mode 100644 index 00000000000..d58d2a6127a --- /dev/null +++ b/llvm/lib/Target/PowerPC/PPC.h @@ -0,0 +1,51 @@ +//===-- PowerPC.h - Top-level interface for PowerPC representation -*- 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 contains the entry points for global functions defined in the LLVM +// PowerPC back-end. +// +//===----------------------------------------------------------------------===// + +#ifndef TARGET_POWERPC_H +#define TARGET_POWERPC_H + +#include <iosfwd> + +namespace llvm { + +class FunctionPass; +class TargetMachine; + +enum PPCTargetEnum { + TargetDefault, TargetAIX, TargetDarwin +}; + +FunctionPass *createPPCBranchSelectionPass(); +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 "PPCGenRegisterNames.inc" + +// Defines symbolic names for the PowerPC instructions. +// +#include "PPCGenInstrNames.inc" + +#endif |