CIRCT  20.0.0git
Namespaces | Macros | Functions
Schedule.cpp File Reference
#include "circt/Dialect/HW/HWOps.h"
#include "circt/Dialect/SSP/SSPAttributes.h"
#include "circt/Dialect/SSP/SSPOps.h"
#include "circt/Dialect/SSP/SSPPasses.h"
#include "circt/Dialect/SSP/Utilities.h"
#include "circt/Scheduling/Problems.h"
#include "mlir/Pass/Pass.h"
#include "circt/Scheduling/Algorithms.h"
#include "llvm/ADT/StringExtras.h"
#include "circt/Dialect/SSP/SSPPasses.h.inc"
Include dependency graph for Schedule.cpp:

Go to the source code of this file.

Namespaces

 circt
 The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
 
 circt::ssp
 

Macros

#define GEN_PASS_DEF_SCHEDULE
 

Functions

static OperationOp getLastOp (InstanceOp instOp, StringRef options)
 
static std::optional< float > getCycleTime (StringRef options)
 
static InstanceOp scheduleWithASAP (InstanceOp instOp, OpBuilder &builder)
 
template<typename ProblemT >
static InstanceOp scheduleProblemTWithSimplex (InstanceOp instOp, Operation *lastOp, OpBuilder &builder)
 
static InstanceOp scheduleChainingProblemWithSimplex (InstanceOp instOp, Operation *lastOp, float cycleTime, OpBuilder &builder)
 
static InstanceOp scheduleChainingCyclicProblemWithSimplex (InstanceOp instOp, Operation *lastOp, float cycleTime, OpBuilder &builder)
 
static InstanceOp scheduleWithSimplex (InstanceOp instOp, StringRef options, OpBuilder &builder)
 
static InstanceOp scheduleWith (InstanceOp instOp, StringRef scheduler, StringRef options, OpBuilder &builder)
 

Macro Definition Documentation

◆ GEN_PASS_DEF_SCHEDULE

#define GEN_PASS_DEF_SCHEDULE

Definition at line 27 of file Schedule.cpp.

Function Documentation

◆ getCycleTime()

static std::optional<float> getCycleTime ( StringRef  options)
static

Definition at line 58 of file Schedule.cpp.

Referenced by scheduleWithSimplex().

◆ getLastOp()

static OperationOp getLastOp ( InstanceOp  instOp,
StringRef  options 
)
static

Definition at line 42 of file Schedule.cpp.

Referenced by scheduleWithSimplex().

◆ scheduleChainingCyclicProblemWithSimplex()

static InstanceOp scheduleChainingCyclicProblemWithSimplex ( InstanceOp  instOp,
Operation *  lastOp,
float  cycleTime,
OpBuilder &  builder 
)
static

Definition at line 113 of file Schedule.cpp.

References circt::ssp::saveProblem(), and circt::scheduling::scheduleSimplex().

Referenced by scheduleWithSimplex().

◆ scheduleChainingProblemWithSimplex()

static InstanceOp scheduleChainingProblemWithSimplex ( InstanceOp  instOp,
Operation *  lastOp,
float  cycleTime,
OpBuilder &  builder 
)
static

Definition at line 101 of file Schedule.cpp.

References circt::ssp::saveProblem(), and circt::scheduling::scheduleSimplex().

Referenced by scheduleWithSimplex().

◆ scheduleProblemTWithSimplex()

template<typename ProblemT >
static InstanceOp scheduleProblemTWithSimplex ( InstanceOp  instOp,
Operation *  lastOp,
OpBuilder &  builder 
)
static

Definition at line 90 of file Schedule.cpp.

References circt::ssp::saveProblem(), and circt::scheduling::scheduleSimplex().

◆ scheduleWith()

static InstanceOp scheduleWith ( InstanceOp  instOp,
StringRef  scheduler,
StringRef  options,
OpBuilder &  builder 
)
static

Definition at line 241 of file Schedule.cpp.

References scheduleWithASAP(), and scheduleWithSimplex().

◆ scheduleWithASAP()

static InstanceOp scheduleWithASAP ( InstanceOp  instOp,
OpBuilder &  builder 
)
static

Definition at line 70 of file Schedule.cpp.

References circt::ssp::saveProblem(), and circt::scheduling::scheduleASAP().

Referenced by scheduleWith().

◆ scheduleWithSimplex()

static InstanceOp scheduleWithSimplex ( InstanceOp  instOp,
StringRef  options,
OpBuilder &  builder 
)
static