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.