CIRCT  18.0.0git
Classes | Namespaces | Macros
Problems.h File Reference
#include "circt/Scheduling/DependenceIterator.h"
#include "circt/Support/LLVM.h"
#include "mlir/IR/BuiltinAttributes.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SetVector.h"
#include <optional>
Include dependency graph for Problems.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  circt::scheduling::Problem
 This class models the most basic scheduling problem. More...
 
class  circt::scheduling::CyclicProblem
 This class models a cyclic scheduling problem. More...
 
class  circt::scheduling::ChainingProblem
 This class models the accumulation of physical propagation delays on combinational paths along SSA dependences. More...
 
class  circt::scheduling::SharedOperatorsProblem
 This class models a resource-constrained scheduling problem. More...
 
class  circt::scheduling::ModuloProblem
 This class models the modulo scheduling problem as the composition of the cyclic problem and the resource-constrained problem with fully-pipelined shared operators. More...
 

Namespaces

 circt
 This file defines an intermediate representation for circuits acting as an abstraction for constraints defined over an SMT's solver context.
 
 circt::scheduling
 

Macros

#define DEFINE_COMMON_MEMBERS(ProblemClass)
 

Macro Definition Documentation

◆ DEFINE_COMMON_MEMBERS

#define DEFINE_COMMON_MEMBERS (   ProblemClass)
Value:
protected: \
ProblemClass() {} \
\
public: \
static constexpr auto PROBLEM_NAME = #ProblemClass; \
static ProblemClass get(Operation *containingOp) { \
ProblemClass prob; \
prob.setContainingOp(containingOp); \
return prob; \
}

Definition at line 29 of file Problems.h.