Added LLVM project notice to the top of every C++ source file.
[oota-llvm.git] / lib / CodeGen / ModuloScheduling / ModuloScheduling.cpp
1 //===-- ModuloScheduling.cpp - Software Pipeling Approach - SMS -----------===//
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 // The is a software pipelining pass based on the Swing Modulo Scheduling
11 // algorithm (SMS).
12 //
13 //===----------------------------------------------------------------------===//
14
15 #include "ModuloSchedGraph.h"
16 #include "llvm/Function.h"
17 #include "llvm/Pass.h"
18
19 namespace {
20   
21   class ModuloScheduling : public FunctionPass {
22     
23   public:
24     virtual bool runOnFunction(Function &F);
25   };
26
27   RegisterOpt<ModuloScheduling> X("modulo-sched",
28                                   "Modulo Scheduling/Software Pipelining");
29 }
30
31 /// Create Modulo Scheduling Pass
32 /// 
33 Pass *createModuloSchedPass() {
34   return new ModuloScheduling(); 
35 }
36
37 /// ModuloScheduling::runOnFunction - main transformation entry point
38 ///
39 bool ModuloScheduling::runOnFunction(Function &F) {
40   bool Changed = false;
41   return Changed;
42 }