CIRCT  20.0.0git
Public Member Functions | Private Member Functions | Private Attributes | List of all members
circt::analysis::CyclicSchedulingAnalysis Struct Reference

CyclicSchedulingAnalysis constructs a CyclicProblem for each AffineForOp by performing a memory dependence analysis and inserting dependences into the problem. More...

#include <SchedulingAnalysis.h>

Collaboration diagram for circt::analysis::CyclicSchedulingAnalysis:
Collaboration graph
[legend]

Public Member Functions

 CyclicSchedulingAnalysis (Operation *funcOp, mlir::AnalysisManager &am)
 CyclicSchedulingAnalysis constructs a CyclicProblem for each AffineForOp by performing a memory dependence analysis and inserting dependences into the problem. More...
 
scheduling::CyclicProblemgetProblem (mlir::affine::AffineForOp forOp)
 

Private Member Functions

void analyzeForOp (mlir::affine::AffineForOp forOp, MemoryDependenceAnalysis memoryAnalysis)
 

Private Attributes

DenseMap< Operation *, scheduling::CyclicProblemproblems
 

Detailed Description

CyclicSchedulingAnalysis constructs a CyclicProblem for each AffineForOp by performing a memory dependence analysis and inserting dependences into the problem.

The client should retrieve the partially complete problem to add and associate operator types.

Definition at line 35 of file SchedulingAnalysis.h.

Constructor & Destructor Documentation

◆ CyclicSchedulingAnalysis()

circt::analysis::CyclicSchedulingAnalysis::CyclicSchedulingAnalysis ( Operation *  funcOp,
mlir::AnalysisManager &  am 
)

CyclicSchedulingAnalysis constructs a CyclicProblem for each AffineForOp by performing a memory dependence analysis and inserting dependences into the problem.

The client should retrieve the partially complete problem to add and associate operator types.

Definition at line 33 of file SchedulingAnalysis.cpp.

Member Function Documentation

◆ analyzeForOp()

void circt::analysis::CyclicSchedulingAnalysis::analyzeForOp ( mlir::affine::AffineForOp  forOp,
MemoryDependenceAnalysis  memoryAnalysis 
)
private

◆ getProblem()

CyclicProblem & circt::analysis::CyclicSchedulingAnalysis::getProblem ( mlir::affine::AffineForOp  forOp)

Definition at line 158 of file SchedulingAnalysis.cpp.

References assert().

Member Data Documentation

◆ problems

DenseMap<Operation *, scheduling::CyclicProblem> circt::analysis::CyclicSchedulingAnalysis::problems
private

Definition at line 44 of file SchedulingAnalysis.h.


The documentation for this struct was generated from the following files: