Loading [MathJax]/extensions/tex2jax.js
CIRCT 21.0.0git
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
LongestPathAnalysis::Impl Struct Reference
Collaboration diagram for LongestPathAnalysis::Impl:
Collaboration graph
[legend]

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::HWModuleOpgetTopModules () 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::HWModuleOptopModules
 

Detailed Description

Definition at line 1114 of file LongestPathAnalysis.cpp.

Constructor & Destructor Documentation

◆ Impl()

LongestPathAnalysis::Impl::Impl ( Operation *  module,
mlir::AnalysisManager &  am,
const LongestPathAnalysisOption &  option 
)

Definition at line 1294 of file LongestPathAnalysis.cpp.

References initializeAndRun().

Member Function Documentation

◆ getAverageMaxDelay()

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().

◆ getClosedPaths()

template<bool elaborate>
LogicalResult LongestPathAnalysis::Impl::getClosedPaths ( StringAttr  moduleName,
SmallVectorImpl< DataflowPath > &  results 
) const

◆ getMaxDelay()

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().

◆ getOpenPathsFromInputPortsToInternal()

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

◆ getOpenPathsFromInternalToOutputPorts()

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

◆ getResults()

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().

◆ getResultsImpl()

LogicalResult LongestPathAnalysis::Impl::getResultsImpl ( const Object &  originalObject,
Value  value,
size_t  bitPos,
SmallVectorImpl< DataflowPath > &  results,
circt::igraph::InstancePathCache instancePathCache,
llvm::ImmutableListFactory< DebugPoint > *  debugPointFactory 
) const
private

◆ getTopModules()

llvm::ArrayRef< hw::HWModuleOp > LongestPathAnalysis::Impl::getTopModules ( ) const
inline

Definition at line 1138 of file LongestPathAnalysis.cpp.

References topModules.

◆ initializeAndRun() [1/2]

LogicalResult LongestPathAnalysis::Impl::initializeAndRun ( hw::HWModuleOp  module)

Definition at line 1311 of file LongestPathAnalysis.cpp.

References assert(), initializeAndRun(), and Context::localVisitors.

◆ initializeAndRun() [2/2]

LogicalResult LongestPathAnalysis::Impl::initializeAndRun ( mlir::ModuleOp  module)

◆ isAnalysisAvailable()

bool LongestPathAnalysis::Impl::isAnalysisAvailable ( StringAttr  moduleName) const

Definition at line 1390 of file LongestPathAnalysis.cpp.

References isAnalysisAvailable(), and Context::localVisitors.

Referenced by isAnalysisAvailable().

Member Data Documentation

◆ ctx

Context LongestPathAnalysis::Impl::ctx
private

Definition at line 1147 of file LongestPathAnalysis.cpp.

◆ topModules

SmallVector<hw::HWModuleOp> LongestPathAnalysis::Impl::topModules
private

Definition at line 1148 of file LongestPathAnalysis.cpp.

Referenced by getTopModules().


The documentation for this struct was generated from the following file: