| //===-- InstrScheduling.h - Interface To Instruction Scheduling -*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file was developed by the LLVM research group and is distributed under |
| // the University of Illinois Open Source License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file defines a minimal, but complete, interface to instruction |
| // scheduling. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef LLVM_CODEGEN_INSTR_SCHEDULING_H |
| #define LLVM_CODEGEN_INSTR_SCHEDULING_H |
| |
| namespace llvm { |
| |
| class FunctionPass; |
| class TargetMachine; |
| |
| //--------------------------------------------------------------------------- |
| // Function: createScheduleInstructionsWithSSAPass(..) |
| // |
| // Purpose: |
| // Entry point for instruction scheduling on SSA form. |
| // Schedules the machine instructions generated by instruction selection. |
| // Assumes that register allocation has not been done, i.e., operands |
| // are still in SSA form. |
| //--------------------------------------------------------------------------- |
| |
| FunctionPass *createInstructionSchedulingWithSSAPass(const TargetMachine &TM); |
| |
| } // End llvm namespace |
| |
| #endif |