1 //===-- ModuloScheduling.cpp - Software Pipeling Approach - SMS --*- C++ -*--=//
3 // The is a software pipelining pass based on the Swing Modulo Scheduling
6 //===----------------------------------------------------------------------===//
8 #include "ModuloSchedGraph.h"
10 #include "llvm/Pass.h"
11 #include "llvm/Function.h"
15 class ModuloScheduling : public FunctionPass {
18 virtual bool runOnFunction(Function &F);
21 RegisterOpt<ModuloScheduling> X("modulo-sched", "Modulo Scheduling/Software Pipelining");
24 //Create Modulo Scheduling Pass
25 Pass *createModuloSchedPass() {
26 return new ModuloScheduling();
29 //ModuloScheduling::runOnFunction - Main transformation entry point.
30 bool ModuloScheduling::runOnFunction(Function &F) {