LLVM API Documentation

ModuloSchedulingSuperBlock.cpp File Reference

#include "DependenceAnalyzer.h"
#include "ModuloSchedulingSuperBlock.h"
#include "llvm/Constants.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/Support/CFG.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/GraphWriter.h"
#include "llvm/Support/Timer.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/SCCIterator.h"
#include "llvm/Instructions.h"
#include "../MachineCodeForInstruction.h"
#include "../SparcV9RegisterInfo.h"
#include "../SparcV9Internals.h"
#include "../SparcV9TmpInstr.h"
#include <fstream>
#include <sstream>
#include <cmath>
#include <utility>

Include dependency graph for ModuloSchedulingSuperBlock.cpp:

Go to the source code of this file.

Namespaces

namespace  llvm

Classes

struct  llvm::DOTGraphTraits< MSchedGraphSB * >

Defines

#define DEBUG_TYPE   "ModuloSchedSB"
#define TIME_REGION(VARNAME, DESC)   NamedRegionTimer VARNAME(DESC)

Functions

FunctionPassllvm::createModuloSchedulingSBPass (TargetMachine &targ)
template<typename GraphType>
static void WriteGraphToFileSB (std::ostream &O, const std::string &GraphName, const GraphType &GT)
void dumpIntersection (std::set< MSchedGraphSBNode * > &IntersectCurrent)

Variables

Statistic llvm::NumLoops ("moduloschedSB-numLoops","Total Number of Loops")
Statistic llvm::NumSB ("moduloschedSB-numSuperBlocks","Total Number of SuperBlocks")
Statistic llvm::BBWithCalls ("modulosched-BBCalls","Basic Blocks rejected due to calls")
Statistic llvm::BBWithCondMov ("modulosched-loopCondMov","Basic Blocks rejected due to conditional moves")
Statistic llvm::SBResourceConstraint ("modulosched-resourceConstraint","Loops constrained by resources")
Statistic llvm::SBRecurrenceConstraint ("modulosched-recurrenceConstraint","Loops constrained by recurrences")
Statistic llvm::SBFinalIISum ("modulosched-finalIISum","Sum of all final II")
Statistic llvm::SBIISum ("modulosched-IISum","Sum of all theoretical II")
Statistic llvm::SBMSLoops ("modulosched-schedLoops","Number of loops successfully modulo-scheduled")
Statistic llvm::SBNoSched ("modulosched-noSched","No schedule")
Statistic llvm::SBSameStage ("modulosched-sameStage","Max stage is 0")
Statistic llvm::SBBLoops ("modulosched-SBBLoops","Number single basic block loops")
Statistic llvm::SBInvalid ("modulosched-SBInvalid","Number invalid superblock loops")
Statistic llvm::SBValid ("modulosched-SBValid","Number valid superblock loops")
Statistic llvm::SBSize ("modulosched-SBSize","Total size of all valid superblocks")
int CircCountSB


Define Documentation

#define DEBUG_TYPE   "ModuloSchedSB"

Definition at line 16 of file ModuloSchedulingSuperBlock.cpp.

#define TIME_REGION ( VARNAME,
DESC   )     NamedRegionTimer VARNAME(DESC)

Definition at line 50 of file ModuloSchedulingSuperBlock.cpp.


Function Documentation

void dumpIntersection ( std::set< MSchedGraphSBNode * > &  IntersectCurrent  ) 

Definition at line 1402 of file ModuloSchedulingSuperBlock.cpp.

References E.

template<typename GraphType>
static void WriteGraphToFileSB ( std::ostream &  O,
const std::string &  GraphName,
const GraphType &  GT 
) [static]

Definition at line 59 of file ModuloSchedulingSuperBlock.cpp.

References F, Filename, and llvm::WriteGraph().

Referenced by llvm::ModuloSchedulingSBPass::runOnFunction().


Variable Documentation

int CircCountSB

Definition at line 692 of file ModuloSchedulingSuperBlock.cpp.