LLVM API Documentation

IA64.h

Go to the documentation of this file.
00001 //===-- IA64.h - Top-level interface for IA64 representation ------*- C++ -*-===//
00002 //                     The LLVM Compiler Infrastructure
00003 //
00004 // This file was developed by Duraid Madina and is distributed under the
00005 // University of Illinois Open Source License. See LICENSE.TXT for details.
00006 //
00007 //===----------------------------------------------------------------------===//
00008 //
00009 // This file contains the entry points for global functions defined in the IA64
00010 // target library, as used by the LLVM JIT.
00011 //
00012 //===----------------------------------------------------------------------===//
00013 
00014 #ifndef TARGET_IA64_H
00015 #define TARGET_IA64_H
00016 
00017 #include <iosfwd>
00018 
00019 namespace llvm {
00020 
00021 class IA64TargetMachine;
00022 class FunctionPass;
00023 class IntrinsicLowering;
00024 
00025 /// createIA64DAGToDAGInstructionSelector - This pass converts an LLVM
00026 /// function into IA64 machine code in a sane, DAG->DAG transform.
00027 ///
00028 FunctionPass *createIA64DAGToDAGInstructionSelector(IA64TargetMachine &TM);
00029 
00030 /// createIA64BundlingPass - This pass adds stop bits and bundles
00031 /// instructions.
00032 ///
00033 FunctionPass *createIA64BundlingPass(IA64TargetMachine &TM);
00034 
00035 /// createIA64CodePrinterPass - Returns a pass that prints the IA64
00036 /// assembly code for a MachineFunction to the given output stream,
00037 /// using the given target machine description.  This should work
00038 /// regardless of whether the function is in SSA form.
00039 ///
00040 FunctionPass *createIA64CodePrinterPass(std::ostream &o, IA64TargetMachine &tm);
00041 
00042 } // End llvm namespace
00043 
00044 // Defines symbolic names for IA64 registers.  This defines a mapping from
00045 // register name to register number.
00046 //
00047 #include "IA64GenRegisterNames.inc"
00048 
00049 // Defines symbolic names for the IA64 instructions.
00050 //
00051 #include "IA64GenInstrNames.inc"
00052 
00053 #endif
00054 
00055