CIRCT 21.0.0git
|
Public Member Functions | |
Impl (Operation *module, mlir::AnalysisManager &am, const LongestPathAnalysisOption &option) | |
LogicalResult | initializeAndRun (mlir::ModuleOp module) |
LogicalResult | initializeAndRun (hw::HWModuleOp module) |
bool | isAnalysisAvailable (StringAttr moduleName) const |
int64_t | getAverageMaxDelay (Value value) const |
int64_t | getMaxDelay (Value value) const |
LogicalResult | getResults (Value value, size_t bitPos, SmallVectorImpl< DataflowPath > &results, circt::igraph::InstancePathCache *instancePathCache=nullptr, llvm::ImmutableListFactory< DebugPoint > *debugPointFactory=nullptr) const |
template<bool elaborate> | |
LogicalResult | getClosedPaths (StringAttr moduleName, SmallVectorImpl< DataflowPath > &results) const |
LogicalResult | getOpenPathsFromInputPortsToInternal (StringAttr moduleName, SmallVectorImpl< DataflowPath > &results) const |
LogicalResult | getOpenPathsFromInternalToOutputPorts (StringAttr moduleName, SmallVectorImpl< DataflowPath > &results) const |
llvm::ArrayRef< hw::HWModuleOp > | getTopModules () const |
Private Member Functions | |
LogicalResult | getResultsImpl (const Object &originalObject, Value value, size_t bitPos, SmallVectorImpl< DataflowPath > &results, circt::igraph::InstancePathCache *instancePathCache, llvm::ImmutableListFactory< DebugPoint > *debugPointFactory) const |
Private Attributes | |
Context | ctx |
SmallVector< hw::HWModuleOp > | topModules |
Definition at line 1114 of file LongestPathAnalysis.cpp.
LongestPathAnalysis::Impl::Impl | ( | Operation * | module, |
mlir::AnalysisManager & | am, | ||
const LongestPathAnalysisOption & | option | ||
) |
Definition at line 1294 of file LongestPathAnalysis.cpp.
References initializeAndRun().
int64_t LongestPathAnalysis::Impl::getAverageMaxDelay | ( | Value | value | ) | const |
Definition at line 1399 of file LongestPathAnalysis.cpp.
References getAverageMaxDelay(), and circt::hw::getBitWidth().
Referenced by getAverageMaxDelay().
LogicalResult LongestPathAnalysis::Impl::getClosedPaths | ( | StringAttr | moduleName, |
SmallVectorImpl< DataflowPath > & | results | ||
) | const |
Definition at line 1215 of file LongestPathAnalysis.cpp.
References getClosedPaths(), LocalVisitor::getInstancePathCache(), Context::getLocalVisitor(), circt::igraph::InstancePathCache::getRelativePaths(), Context::instanceGraph, and circt::igraph::InstanceGraph::lookup().
Referenced by getClosedPaths().
int64_t LongestPathAnalysis::Impl::getMaxDelay | ( | Value | value | ) | const |
Definition at line 1420 of file LongestPathAnalysis.cpp.
References circt::hw::getBitWidth(), and getMaxDelay().
Referenced by getMaxDelay().
LogicalResult LongestPathAnalysis::Impl::getOpenPathsFromInputPortsToInternal | ( | StringAttr | moduleName, |
SmallVectorImpl< DataflowPath > & | results | ||
) | const |
Definition at line 1254 of file LongestPathAnalysis.cpp.
References Context::getLocalVisitor(), and getOpenPathsFromInputPortsToInternal().
Referenced by getOpenPathsFromInputPortsToInternal().
LogicalResult LongestPathAnalysis::Impl::getOpenPathsFromInternalToOutputPorts | ( | StringAttr | moduleName, |
SmallVectorImpl< DataflowPath > & | results | ||
) | const |
Definition at line 1274 of file LongestPathAnalysis.cpp.
References Context::getLocalVisitor(), and getOpenPathsFromInternalToOutputPorts().
Referenced by getOpenPathsFromInternalToOutputPorts().
LogicalResult LongestPathAnalysis::Impl::getResults | ( | Value | value, |
size_t | bitPos, | ||
SmallVectorImpl< DataflowPath > & | results, | ||
circt::igraph::InstancePathCache * | instancePathCache = nullptr , |
||
llvm::ImmutableListFactory< DebugPoint > * | debugPointFactory = nullptr |
||
) | const |
Definition at line 1151 of file LongestPathAnalysis.cpp.
References getResults(), and getResultsImpl().
Referenced by getResults().
|
private |
Definition at line 1159 of file LongestPathAnalysis.cpp.
References circt::igraph::InstancePathCache::appendInstance(), assert(), deduplicatePaths(), Context::getLocalVisitor(), getResultsImpl(), Context::instanceGraph, and circt::igraph::InstanceGraph::lookup().
Referenced by getResults(), and getResultsImpl().
|
inline |
Definition at line 1138 of file LongestPathAnalysis.cpp.
References topModules.
LogicalResult LongestPathAnalysis::Impl::initializeAndRun | ( | hw::HWModuleOp | module | ) |
Definition at line 1311 of file LongestPathAnalysis.cpp.
References assert(), initializeAndRun(), and Context::localVisitors.
LogicalResult LongestPathAnalysis::Impl::initializeAndRun | ( | mlir::ModuleOp | module | ) |
Definition at line 1321 of file LongestPathAnalysis.cpp.
References assert(), initializeAndRun(), Context::instanceGraph, Context::localVisitors, and circt::igraph::InstanceGraph::lookup().
Referenced by Impl(), initializeAndRun(), and initializeAndRun().
bool LongestPathAnalysis::Impl::isAnalysisAvailable | ( | StringAttr | moduleName | ) | const |
Definition at line 1390 of file LongestPathAnalysis.cpp.
References isAnalysisAvailable(), and Context::localVisitors.
Referenced by isAnalysisAvailable().
|
private |
Definition at line 1147 of file LongestPathAnalysis.cpp.
|
private |
Definition at line 1148 of file LongestPathAnalysis.cpp.
Referenced by getTopModules().