CIRCT 24.0.0git
Loading...
Searching...
No Matches
circt::synth::LongestPathAnalysis Class Reference

#include <LongestPathAnalysis.h>

Inheritance diagram for circt::synth::LongestPathAnalysis:
Collaboration diagram for circt::synth::LongestPathAnalysis:

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 getInternalPaths (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::HWModuleOp > getTopModules () const
MLIRContext * getContext () const

Protected Attributes

Impl * impl

Private Attributes

mlir::MLIRContext * ctx
bool isAnalysisValid = true

Friends

class IncrementalLongestPathAnalysis

Detailed Description

Definition at line 232 of file LongestPathAnalysis.h.

Constructor & Destructor Documentation

◆ LongestPathAnalysis()

◆ ~LongestPathAnalysis()

LongestPathAnalysis::~LongestPathAnalysis ( )

Definition at line 1904 of file LongestPathAnalysis.cpp.

References impl, and ~LongestPathAnalysis().

Referenced by ~LongestPathAnalysis().

Member Function Documentation

◆ computeGlobalPaths()

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

Definition at line 1986 of file LongestPathAnalysis.cpp.

References impl, and isAnalysisValid.

◆ computeLocalPaths()

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

Definition at line 1979 of file LongestPathAnalysis.cpp.

References failure(), 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 1925 of file LongestPathAnalysis.cpp.

References impl.

◆ getContext()

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

Definition at line 294 of file LongestPathAnalysis.h.

References ctx.

Referenced by LongestPathAnalysis().

◆ getInternalPaths()

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

Definition at line 1935 of file LongestPathAnalysis.cpp.

References failure(), impl, and isAnalysisValid.

Referenced by getAllPaths().

◆ getMaxDelay()

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

Definition at line 1929 of file LongestPathAnalysis.cpp.

References impl.

◆ getOpenPathsFromInputPortsToInternal()

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

Definition at line 1945 of file LongestPathAnalysis.cpp.

References failure(), impl, and isAnalysisValid.

Referenced by getAllPaths().

◆ getOpenPathsFromInternalToOutputPorts()

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

Definition at line 1953 of file LongestPathAnalysis.cpp.

References failure(), impl, and isAnalysisValid.

Referenced by getAllPaths().

◆ getTopModules()

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

Definition at line 1974 of file LongestPathAnalysis.cpp.

References impl.

◆ isAnalysisAvailable()

bool LongestPathAnalysis::isAnalysisAvailable ( StringAttr moduleName) const

Definition at line 1921 of file LongestPathAnalysis.cpp.

References impl.

◆ IncrementalLongestPathAnalysis

friend class IncrementalLongestPathAnalysis
friend

Definition at line 297 of file LongestPathAnalysis.h.

References IncrementalLongestPathAnalysis.

Referenced by IncrementalLongestPathAnalysis.

Member Data Documentation

◆ ctx

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

Definition at line 302 of file LongestPathAnalysis.h.

Referenced by getContext(), and LongestPathAnalysis().

◆ impl

◆ isAnalysisValid


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