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"
9 #include "llvm/Function.h"
10 #include "llvm/Pass.h"
14 class ModuloScheduling : public FunctionPass {
17 virtual bool runOnFunction(Function &F);
20 RegisterOpt<ModuloScheduling> X("modulo-sched",
21 "Modulo Scheduling/Software Pipelining");
24 /// Create Modulo Scheduling Pass
26 Pass *createModuloSchedPass() {
27 return new ModuloScheduling();
30 /// ModuloScheduling::runOnFunction - main transformation entry point
32 bool ModuloScheduling::runOnFunction(Function &F) {