CIRCT 22.0.0git
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
circt::aig::IncrementalLongestPathAnalysis Class Reference

#include <LongestPathAnalysis.h>

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

Public Member Functions

 IncrementalLongestPathAnalysis (Operation *moduleOp, mlir::AnalysisManager &am)
 
FailureOr< int64_t > getOrComputeMaxDelay (Value value, size_t bitPos)
 
FailureOr< ArrayRef< OpenPath > > getOrComputePaths (Value value, size_t bitPos)
 
bool isOperationValidToMutate (Operation *op) const
 
void notifyOperationModified (Operation *op) override
 
void notifyOperationReplaced (Operation *op, ValueRange replacement) override
 
void notifyOperationErased (Operation *op) override
 

Private Attributes

bool isAnalysisValid = true
 
- Private Attributes inherited from circt::aig::LongestPathAnalysis
Implimpl
 

Additional Inherited Members

- Private Member Functions inherited from circt::aig::LongestPathAnalysis
 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 Private Member Functions inherited from circt::aig::LongestPathAnalysis
static StringRef getTopModuleNameAttrName ()
 

Detailed Description

Definition at line 271 of file LongestPathAnalysis.h.

Constructor & Destructor Documentation

◆ IncrementalLongestPathAnalysis()

circt::aig::IncrementalLongestPathAnalysis::IncrementalLongestPathAnalysis ( Operation *  moduleOp,
mlir::AnalysisManager &  am 
)
inline

Definition at line 274 of file LongestPathAnalysis.h.

Member Function Documentation

◆ getOrComputeMaxDelay()

FailureOr< int64_t > IncrementalLongestPathAnalysis::getOrComputeMaxDelay ( Value  value,
size_t  bitPos 
)

◆ getOrComputePaths()

FailureOr< ArrayRef< OpenPath > > IncrementalLongestPathAnalysis::getOrComputePaths ( Value  value,
size_t  bitPos 
)

◆ isOperationValidToMutate()

bool IncrementalLongestPathAnalysis::isOperationValidToMutate ( Operation *  op) const

◆ notifyOperationErased()

void IncrementalLongestPathAnalysis::notifyOperationErased ( Operation *  op)
override

Definition at line 1919 of file LongestPathAnalysis.cpp.

References notifyOperationModified().

◆ notifyOperationModified()

void IncrementalLongestPathAnalysis::notifyOperationModified ( Operation *  op)
override

◆ notifyOperationReplaced()

void IncrementalLongestPathAnalysis::notifyOperationReplaced ( Operation *  op,
ValueRange  replacement 
)
override

Definition at line 1914 of file LongestPathAnalysis.cpp.

References notifyOperationModified().

Member Data Documentation

◆ isAnalysisValid

bool circt::aig::IncrementalLongestPathAnalysis::isAnalysisValid = true
private

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