CIRCT 22.0.0git
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Private Attributes | Friends | List of all members
circt::synth::LongestPathAnalysis Class Reference

#include <LongestPathAnalysis.h>

Inheritance diagram for circt::synth::LongestPathAnalysis:
Inheritance graph
[legend]
Collaboration diagram for circt::synth::LongestPathAnalysis:
Collaboration graph
[legend]

Public Member Functions

 LongestPathAnalysis (Operation *moduleOp, mlir::AnalysisManager &am, const LongestPathAnalysisOptions &option={})
 
 ~LongestPathAnalysis ()
 
LogicalResult computeGlobalPaths (Value value, size_t bitPos, SmallVectorImpl< DataflowPath > &results)
 
FailureOr< ArrayRef< OpenPath > > computeLocalPaths (Value value, size_t bitPos)
 
FailureOr< int64_t > getMaxDelay (Value value, int64_t bitPos=-1)
 
FailureOr< int64_t > getAverageMaxDelay (Value value)
 
LogicalResult getClosedPaths (StringAttr moduleName, SmallVectorImpl< DataflowPath > &results, bool elaboratePaths=false) const
 
LogicalResult getOpenPathsFromInputPortsToInternal (StringAttr moduleName, SmallVectorImpl< DataflowPath > &results) const
 
LogicalResult getOpenPathsFromInternalToOutputPorts (StringAttr moduleName, SmallVectorImpl< DataflowPath > &results) const
 
LogicalResult getAllPaths (StringAttr moduleName, SmallVectorImpl< DataflowPath > &results, bool elaboratePaths=false) const
 
bool isAnalysisAvailable (StringAttr moduleName) const
 
llvm::ArrayRef< hw::HWModuleOpgetTopModules () const
 
MLIRContext * getContext () const
 

Protected Attributes

Implimpl
 

Private Attributes

mlir::MLIRContext * ctx
 
bool isAnalysisValid = true
 

Friends

class IncrementalLongestPathAnalysis
 

Detailed Description

Definition at line 229 of file LongestPathAnalysis.h.

Constructor & Destructor Documentation

◆ LongestPathAnalysis()

LongestPathAnalysis::LongestPathAnalysis ( Operation *  moduleOp,
mlir::AnalysisManager &  am,
const LongestPathAnalysisOptions option = {} 
)

◆ ~LongestPathAnalysis()

LongestPathAnalysis::~LongestPathAnalysis ( )

Definition at line 1898 of file LongestPathAnalysis.cpp.

Member Function Documentation

◆ computeGlobalPaths()

LogicalResult LongestPathAnalysis::computeGlobalPaths ( Value  value,
size_t  bitPos,
SmallVectorImpl< DataflowPath > &  results 
)

Definition at line 1980 of file LongestPathAnalysis.cpp.

References impl, and isAnalysisValid.

◆ computeLocalPaths()

FailureOr< ArrayRef< OpenPath > > LongestPathAnalysis::computeLocalPaths ( Value  value,
size_t  bitPos 
)

Definition at line 1973 of file LongestPathAnalysis.cpp.

References impl, and isAnalysisValid.

◆ getAllPaths()

LogicalResult LongestPathAnalysis::getAllPaths ( StringAttr  moduleName,
SmallVectorImpl< DataflowPath > &  results,
bool  elaboratePaths = false 
) const

◆ getAverageMaxDelay()

FailureOr< int64_t > LongestPathAnalysis::getAverageMaxDelay ( Value  value)

Definition at line 1919 of file LongestPathAnalysis.cpp.

References impl.

◆ getClosedPaths()

LogicalResult LongestPathAnalysis::getClosedPaths ( StringAttr  moduleName,
SmallVectorImpl< DataflowPath > &  results,
bool  elaboratePaths = false 
) const

Definition at line 1929 of file LongestPathAnalysis.cpp.

References impl, and isAnalysisValid.

Referenced by getAllPaths().

◆ getContext()

MLIRContext * circt::synth::LongestPathAnalysis::getContext ( ) const
inline

Definition at line 291 of file LongestPathAnalysis.h.

References ctx.

◆ getMaxDelay()

FailureOr< int64_t > LongestPathAnalysis::getMaxDelay ( Value  value,
int64_t  bitPos = -1 
)

Definition at line 1923 of file LongestPathAnalysis.cpp.

References impl.

◆ getOpenPathsFromInputPortsToInternal()

LogicalResult LongestPathAnalysis::getOpenPathsFromInputPortsToInternal ( StringAttr  moduleName,
SmallVectorImpl< DataflowPath > &  results 
) const

Definition at line 1939 of file LongestPathAnalysis.cpp.

References impl, and isAnalysisValid.

Referenced by getAllPaths().

◆ getOpenPathsFromInternalToOutputPorts()

LogicalResult LongestPathAnalysis::getOpenPathsFromInternalToOutputPorts ( StringAttr  moduleName,
SmallVectorImpl< DataflowPath > &  results 
) const

Definition at line 1947 of file LongestPathAnalysis.cpp.

References impl, and isAnalysisValid.

Referenced by getAllPaths().

◆ getTopModules()

ArrayRef< hw::HWModuleOp > LongestPathAnalysis::getTopModules ( ) const

Definition at line 1968 of file LongestPathAnalysis.cpp.

References impl.

◆ isAnalysisAvailable()

bool LongestPathAnalysis::isAnalysisAvailable ( StringAttr  moduleName) const

Definition at line 1915 of file LongestPathAnalysis.cpp.

References impl.

Friends And Related Symbol Documentation

◆ IncrementalLongestPathAnalysis

friend class IncrementalLongestPathAnalysis
friend

Definition at line 294 of file LongestPathAnalysis.h.

Member Data Documentation

◆ ctx

mlir::MLIRContext* circt::synth::LongestPathAnalysis::ctx
private

Definition at line 299 of file LongestPathAnalysis.h.

Referenced by getContext().

◆ impl

Impl* circt::synth::LongestPathAnalysis::impl
protected

◆ isAnalysisValid

bool circt::synth::LongestPathAnalysis::isAnalysisValid = true
private

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