Instruction scheduling is a real pass now.
[oota-llvm.git] / include / llvm / CodeGen / InstrScheduling.h
1 //===-- InstrScheduling.h - Interface To Instruction Scheduling --*- C++ -*-==//
2 //
3 // This file defines a minimal, but complete, interface to instruction
4 // scheduling.
5 //
6 //===----------------------------------------------------------------------===//
7
8 #ifndef LLVM_CODEGEN_INSTR_SCHEDULING_H
9 #define LLVM_CODEGEN_INSTR_SCHEDULING_H
10
11 class MethodPass;
12 class TargetMachine;
13
14 //---------------------------------------------------------------------------
15 // Function: createScheduleInstructionsWithSSAPass(..)
16 // 
17 // Purpose:
18 //   Entry point for instruction scheduling on SSA form.
19 //   Schedules the machine instructions generated by instruction selection.
20 //   Assumes that register allocation has not been done, i.e., operands
21 //   are still in SSA form.
22 //---------------------------------------------------------------------------
23
24 MethodPass *createInstructionSchedulingWithSSAPass(const TargetMachine &Target);
25
26
27 //---------------------------------------------------------------------------
28 // Function: ScheduleInstructions
29 // 
30 // Purpose:
31 //   Entry point for instruction scheduling on machine code.
32 //   Schedules the machine instructions generated by instruction selection.
33 //   Assumes that register allocation has been done.
34 //---------------------------------------------------------------------------
35
36 // Not implemented yet.
37 //bool ScheduleInstructions(Method *M, const TargetMachine &Target);
38
39 #endif