LLVM API Documentation
#include "ModuloScheduling.h"#include "llvm/Constants.h"#include "llvm/Instructions.h"#include "llvm/Function.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/Passes.h"#include "llvm/Support/CFG.h"#include "llvm/Target/TargetSchedInfo.h"#include "llvm/Support/Debug.h"#include "llvm/Support/GraphWriter.h"#include "llvm/ADT/SCCIterator.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/Statistic.h"#include "llvm/Support/Timer.h"#include <cmath>#include <algorithm>#include <fstream>#include <sstream>#include <utility>#include <vector>#include "../MachineCodeForInstruction.h"#include "../SparcV9TmpInstr.h"#include "../SparcV9Internals.h"#include "../SparcV9RegisterInfo.h"#include <unistd.h>Include dependency graph for ModuloScheduling.cpp:

Go to the source code of this file.
Namespaces | |
| namespace | llvm |
Classes | |
| struct | llvm::DOTGraphTraits< MSchedGraph * > |
Defines | |
| #define | DEBUG_TYPE "ModuloSched" |
| #define | TIME_REGION(VARNAME, DESC) NamedRegionTimer VARNAME(DESC) |
Functions | |
| FunctionPass * | llvm::createModuloSchedulingPass (TargetMachine &targ) |
| template<typename GraphType> | |
| static void | WriteGraphToFile (std::ostream &O, const std::string &GraphName, const GraphType >) |
| void | dumpIntersection (std::set< MSchedGraphNode * > &IntersectCurrent) |
Variables | |
| Statistic | llvm::ValidLoops ("modulosched-validLoops","Number of candidate loops modulo-scheduled") |
| Statistic | llvm::JumboBB ("modulosched-jumboBB","Basic Blocks with more then 100 instructions") |
| Statistic | llvm::LoopsWithCalls ("modulosched-loopCalls","Loops with calls") |
| Statistic | llvm::LoopsWithCondMov ("modulosched-loopCondMov","Loops with conditional moves") |
| Statistic | llvm::InvalidLoops ("modulosched-invalidLoops","Loops with unknown trip counts or loop invariant trip counts") |
| Statistic | llvm::SingleBBLoops ("modulosched-singeBBLoops","Number of single basic block loops") |
| Statistic | llvm::MSLoops ("modulosched-schedLoops","Number of loops successfully modulo-scheduled") |
| Statistic | llvm::NoSched ("modulosched-noSched","No schedule") |
| Statistic | llvm::SameStage ("modulosched-sameStage","Max stage is 0") |
| Statistic | llvm::ResourceConstraint ("modulosched-resourceConstraint","Loops constrained by resources") |
| Statistic | llvm::RecurrenceConstraint ("modulosched-recurrenceConstraint","Loops constrained by recurrences") |
| Statistic | llvm::FinalIISum ("modulosched-finalIISum","Sum of all final II") |
| Statistic | llvm::IISum ("modulosched-IISum","Sum of all theoretical II") |
| int | CircCount |
| #define DEBUG_TYPE "ModuloSched" |
Definition at line 15 of file ModuloScheduling.cpp.
| #define TIME_REGION | ( | VARNAME, | |||
| DESC | ) | NamedRegionTimer VARNAME(DESC) |
Definition at line 68 of file ModuloScheduling.cpp.
| void dumpIntersection | ( | std::set< MSchedGraphNode * > & | IntersectCurrent | ) |
| static void WriteGraphToFile | ( | std::ostream & | O, | |
| const std::string & | GraphName, | |||
| const GraphType & | GT | |||
| ) | [static] |
Definition at line 53 of file ModuloScheduling.cpp.
References F, Filename, and llvm::WriteGraph().
Referenced by llvm::ModuloSchedulingPass::runOnFunction().
| int CircCount |
Definition at line 907 of file ModuloScheduling.cpp.