start defining codes for instructions
[oota-llvm.git] / include / llvm / CodeGen / InstrScheduling.h
1 //===-- InstrScheduling.h - Interface To Instruction Scheduling -*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file was developed by the LLVM research group and is distributed under
6 // the University of Illinois Open Source License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file defines a minimal, but complete, interface to instruction
11 // scheduling.
12 //
13 //===----------------------------------------------------------------------===//
14
15 #ifndef LLVM_CODEGEN_INSTR_SCHEDULING_H
16 #define LLVM_CODEGEN_INSTR_SCHEDULING_H
17
18 namespace llvm {
19
20 class FunctionPass;
21 class TargetMachine;
22
23 //---------------------------------------------------------------------------
24 // Function: createScheduleInstructionsWithSSAPass(..)
25 //
26 // Purpose:
27 //   Entry point for instruction scheduling on SSA form.
28 //   Schedules the machine instructions generated by instruction selection.
29 //   Assumes that register allocation has not been done, i.e., operands
30 //   are still in SSA form.
31 //---------------------------------------------------------------------------
32
33 FunctionPass *createInstructionSchedulingWithSSAPass(const TargetMachine &TM);
34
35 } // End llvm namespace
36
37 #endif