LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

InstrScheduling.h

Go to the documentation of this file.
00001 //===-- InstrScheduling.h - Interface To Instruction Scheduling -*- C++ -*-===//
00002 // 
00003 //                     The LLVM Compiler Infrastructure
00004 //
00005 // This file was developed by the LLVM research group and is distributed under
00006 // the University of Illinois Open Source License. See LICENSE.TXT for details.
00007 // 
00008 //===----------------------------------------------------------------------===//
00009 //
00010 // This file defines a minimal, but complete, interface to instruction
00011 // scheduling.
00012 //
00013 //===----------------------------------------------------------------------===//
00014 
00015 #ifndef LLVM_CODEGEN_INSTR_SCHEDULING_H
00016 #define LLVM_CODEGEN_INSTR_SCHEDULING_H
00017 
00018 namespace llvm {
00019 
00020 class FunctionPass;
00021 class TargetMachine;
00022 
00023 //---------------------------------------------------------------------------
00024 // Function: createScheduleInstructionsWithSSAPass(..)
00025 // 
00026 // Purpose:
00027 //   Entry point for instruction scheduling on SSA form.
00028 //   Schedules the machine instructions generated by instruction selection.
00029 //   Assumes that register allocation has not been done, i.e., operands
00030 //   are still in SSA form.
00031 //---------------------------------------------------------------------------
00032 
00033 FunctionPass *createInstructionSchedulingWithSSAPass(const TargetMachine &TM);
00034 
00035 } // End llvm namespace
00036 
00037 #endif