Added llvmgcc version to allow tests to be xfailed by frontend version.
[llvm-complete.git] / lib / Target / IA64 / IA64.h
blobf8cfbf1826743640413efba1efafc7fd58c1b4ac
1 //===-- IA64.h - Top-level interface for IA64 representation ------*- C++ -*-===//
2 // The LLVM Compiler Infrastructure
3 //
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.
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.
12 //===----------------------------------------------------------------------===//
14 #ifndef TARGET_IA64_H
15 #define TARGET_IA64_H
17 #include <iosfwd>
19 namespace llvm {
21 class IA64TargetMachine;
22 class FunctionPass;
23 class IntrinsicLowering;
25 /// createIA64DAGToDAGInstructionSelector - This pass converts an LLVM
26 /// function into IA64 machine code in a sane, DAG->DAG transform.
27 ///
28 FunctionPass *createIA64DAGToDAGInstructionSelector(IA64TargetMachine &TM);
30 /// createIA64BundlingPass - This pass adds stop bits and bundles
31 /// instructions.
32 ///
33 FunctionPass *createIA64BundlingPass(IA64TargetMachine &TM);
35 /// createIA64CodePrinterPass - Returns a pass that prints the IA64
36 /// assembly code for a MachineFunction to the given output stream,
37 /// using the given target machine description. This should work
38 /// regardless of whether the function is in SSA form.
39 ///
40 FunctionPass *createIA64CodePrinterPass(std::ostream &o, IA64TargetMachine &tm);
42 } // End llvm namespace
44 // Defines symbolic names for IA64 registers. This defines a mapping from
45 // register name to register number.
47 #include "IA64GenRegisterNames.inc"
49 // Defines symbolic names for the IA64 instructions.
51 #include "IA64GenInstrNames.inc"
53 #endif