49562f49f55211de5d7153aa650b42528211ca57
[oota-llvm.git] / lib / CodeGen / ModuloScheduling / ModuloScheduling.cpp
1 //===-- ModuloScheduling.cpp - Software Pipeling Approach - SMS -----------===//
2 //
3 // The is a software pipelining pass based on the Swing Modulo Scheduling
4 // algorithm (SMS).
5 //
6 //===----------------------------------------------------------------------===//
7
8 #include "ModuloSchedGraph.h"
9 #include "llvm/Function.h"
10 #include "llvm/Pass.h"
11
12 namespace {
13   
14   class ModuloScheduling : public FunctionPass {
15     
16   public:
17     virtual bool runOnFunction(Function &F);
18   };
19
20   RegisterOpt<ModuloScheduling> X("modulo-sched",
21                                   "Modulo Scheduling/Software Pipelining");
22 }
23
24 /// Create Modulo Scheduling Pass
25 /// 
26 Pass *createModuloSchedPass() {
27   return new ModuloScheduling(); 
28 }
29
30 /// ModuloScheduling::runOnFunction - main transformation entry point
31 ///
32 bool ModuloScheduling::runOnFunction(Function &F) {
33   bool Changed = false;
34   return Changed;
35 }