LLVM API Documentation
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