//===-- IA64.h - Top-level interface for IA64 representation ------*- C++ -*-===// // The LLVM Compiler Infrastructure // // This file 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 IA64 // target library, as used by the LLVM JIT. // //===----------------------------------------------------------------------===// #ifndef TARGET_IA64_H #define TARGET_IA64_H #include "llvm/Target/TargetMachine.h" namespace llvm { class IA64TargetMachine; class FunctionPass; class formatted_raw_ostream; /// createIA64DAGToDAGInstructionSelector - This pass converts an LLVM /// function into IA64 machine code in a sane, DAG->DAG transform. /// FunctionPass *createIA64DAGToDAGInstructionSelector(IA64TargetMachine &TM); /// createIA64BundlingPass - This pass adds stop bits and bundles /// instructions. /// FunctionPass *createIA64BundlingPass(IA64TargetMachine &TM); /// createIA64CodePrinterPass - Returns a pass that prints the IA64 /// assembly code for a MachineFunction to the given output stream, /// using the given target machine description. This should work /// regardless of whether the function is in SSA form. /// FunctionPass *createIA64CodePrinterPass(formatted_raw_ostream &o, TargetMachine &tm, bool verbose); } // End llvm namespace // Defines symbolic names for IA64 registers. This defines a mapping from // register name to register number. // #include "IA64GenRegisterNames.inc" // Defines symbolic names for the IA64 instructions. // #include "IA64GenInstrNames.inc" #endif