CIRCT 24.0.0git
Loading...
Searching...
No Matches
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:

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.
scheduling::CyclicProblem & getProblem (mlir::affine::AffineForOp forOp)

Private Member Functions

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

Private Attributes

DenseMap< Operation *, scheduling::CyclicProblem > problems

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.

References analyzeForOp().

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(), and problems.

Member Data Documentation

◆ problems

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

Definition at line 44 of file SchedulingAnalysis.h.

Referenced by analyzeForOp(), and getProblem().


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