Put all LLVM code into the llvm namespace, as per bug 109.
[oota-llvm.git] / lib / Target / SparcV9 / 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 llvm {
20
21 namespace {
22   
23   class ModuloScheduling : public FunctionPass {
24     
25   public:
26     virtual bool runOnFunction(Function &F);
27   };
28
29   RegisterOpt<ModuloScheduling> X("modulo-sched",
30                                   "Modulo Scheduling/Software Pipelining");
31 }
32
33 /// Create Modulo Scheduling Pass
34 /// 
35 Pass *createModuloSchedPass() {
36   return new ModuloScheduling(); 
37 }
38
39 /// ModuloScheduling::runOnFunction - main transformation entry point
40 ///
41 bool ModuloScheduling::runOnFunction(Function &F) {
42   bool Changed = false;
43   return Changed;
44 }
45
46 } // End llvm namespace