Removed trailing whitespace from Makefiles.
[oota-llvm.git] / lib / Target / IA64 / IA64.h
1 //===-- IA64.h - Top-level interface for IA64 representation ------*- C++ -*-===//
2 //                     The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file contains the entry points for global functions defined in the IA64
10 // target library, as used by the LLVM JIT.
11 //
12 //===----------------------------------------------------------------------===//
13
14 #ifndef TARGET_IA64_H
15 #define TARGET_IA64_H
16
17 namespace llvm {
18
19 class IA64TargetMachine;
20 class FunctionPass;
21 class raw_ostream;
22
23 /// createIA64DAGToDAGInstructionSelector - This pass converts an LLVM
24 /// function into IA64 machine code in a sane, DAG->DAG transform.
25 ///
26 FunctionPass *createIA64DAGToDAGInstructionSelector(IA64TargetMachine &TM);
27
28 /// createIA64BundlingPass - This pass adds stop bits and bundles
29 /// instructions.
30 ///
31 FunctionPass *createIA64BundlingPass(IA64TargetMachine &TM);
32
33 /// createIA64CodePrinterPass - Returns a pass that prints the IA64
34 /// assembly code for a MachineFunction to the given output stream,
35 /// using the given target machine description.  This should work
36 /// regardless of whether the function is in SSA form.
37 ///
38 FunctionPass *createIA64CodePrinterPass(raw_ostream &o, IA64TargetMachine &tm);
39
40 } // End llvm namespace
41
42 // Defines symbolic names for IA64 registers.  This defines a mapping from
43 // register name to register number.
44 //
45 #include "IA64GenRegisterNames.inc"
46
47 // Defines symbolic names for the IA64 instructions.
48 //
49 #include "IA64GenInstrNames.inc"
50
51 #endif
52
53