1 //===-- IA64.h - Top-level interface for IA64 representation ------*- C++ -*-===//
2 // The LLVM Compiler Infrastructure
4 // This file was developed by Duraid Madina and is distributed under the
5 // University of Illinois Open Source License. See LICENSE.TXT for details.
7 //===----------------------------------------------------------------------===//
9 // This file contains the entry points for global functions defined in the IA64
10 // target library, as used by the LLVM JIT.
12 //===----------------------------------------------------------------------===//
21 class IA64TargetMachine
;
24 /// createIA64DAGToDAGInstructionSelector - This pass converts an LLVM
25 /// function into IA64 machine code in a sane, DAG->DAG transform.
27 FunctionPass
*createIA64DAGToDAGInstructionSelector(IA64TargetMachine
&TM
);
29 /// createIA64BundlingPass - This pass adds stop bits and bundles
32 FunctionPass
*createIA64BundlingPass(IA64TargetMachine
&TM
);
34 /// createIA64CodePrinterPass - Returns a pass that prints the IA64
35 /// assembly code for a MachineFunction to the given output stream,
36 /// using the given target machine description. This should work
37 /// regardless of whether the function is in SSA form.
39 FunctionPass
*createIA64CodePrinterPass(std::ostream
&o
, IA64TargetMachine
&tm
);
41 } // End llvm namespace
43 // Defines symbolic names for IA64 registers. This defines a mapping from
44 // register name to register number.
46 #include "IA64GenRegisterNames.inc"
48 // Defines symbolic names for the IA64 instructions.
50 #include "IA64GenInstrNames.inc"