Loading [MathJax]/extensions/tex2jax.js
CIRCT 21.0.0git
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
circt::aig::LongestPathAnalysis Class Reference

#include <LongestPathAnalysis.h>

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

Public Member Functions

 LongestPathAnalysis (Operation *moduleOp, mlir::AnalysisManager &am, const LongestPathAnalysisOption &option={})
 
 ~LongestPathAnalysis ()
 
LogicalResult getResults (Value value, size_t bitPos, SmallVectorImpl< DataflowPath > &results) const
 
int64_t getMaxDelay (Value value) const
 
int64_t getAverageMaxDelay (Value value) const
 
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
 

Static Public Member Functions

static StringRef getTopModuleNameAttrName ()
 

Private Attributes

Implimpl
 
mlir::MLIRContext * ctx
 

Detailed Description

Definition at line 180 of file LongestPathAnalysis.h.

Constructor & Destructor Documentation

◆ LongestPathAnalysis()

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

Definition at line 1445 of file LongestPathAnalysis.cpp.

◆ ~LongestPathAnalysis()

LongestPathAnalysis::~LongestPathAnalysis ( )

Definition at line 1443 of file LongestPathAnalysis.cpp.

Member Function Documentation

◆ getAllPaths()

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

◆ getAverageMaxDelay()

int64_t LongestPathAnalysis::getAverageMaxDelay ( Value  value) const

Definition at line 1454 of file LongestPathAnalysis.cpp.

References impl.

◆ getClosedPaths()

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

Definition at line 1463 of file LongestPathAnalysis.cpp.

References impl.

Referenced by getAllPaths().

◆ getContext()

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

Definition at line 247 of file LongestPathAnalysis.h.

References ctx.

◆ getMaxDelay()

int64_t LongestPathAnalysis::getMaxDelay ( Value  value) const

Definition at line 1458 of file LongestPathAnalysis.cpp.

References impl.

◆ getOpenPathsFromInputPortsToInternal()

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

Definition at line 1471 of file LongestPathAnalysis.cpp.

References impl.

Referenced by getAllPaths().

◆ getOpenPathsFromInternalToOutputPorts()

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

Definition at line 1476 of file LongestPathAnalysis.cpp.

References impl.

Referenced by getAllPaths().

◆ getResults()

LogicalResult circt::aig::LongestPathAnalysis::getResults ( Value  value,
size_t  bitPos,
SmallVectorImpl< DataflowPath > &  results 
) const

◆ getTopModuleNameAttrName()

static StringRef circt::aig::LongestPathAnalysis::getTopModuleNameAttrName ( )
inlinestatic

Definition at line 243 of file LongestPathAnalysis.h.

◆ getTopModules()

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

Definition at line 1494 of file LongestPathAnalysis.cpp.

References impl.

◆ isAnalysisAvailable()

bool LongestPathAnalysis::isAnalysisAvailable ( StringAttr  moduleName) const

Definition at line 1450 of file LongestPathAnalysis.cpp.

References impl.

Member Data Documentation

◆ ctx

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

Definition at line 253 of file LongestPathAnalysis.h.

Referenced by getContext().

◆ impl

Impl* circt::aig::LongestPathAnalysis::impl
private

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