Loading [MathJax]/extensions/tex2jax.js
CIRCT 22.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
aig.LongestPathAnalysis::Impl Struct Reference
Collaboration diagram for aig.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 1124 of file LongestPathAnalysis.cpp.

Constructor & Destructor Documentation

◆ Impl()

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

Member Function Documentation

◆ getAverageMaxDelay()

int64_t aig.LongestPathAnalysis::Impl::getAverageMaxDelay ( Value  value) const

◆ getClosedPaths()

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

◆ getMaxDelay()

int64_t aig.LongestPathAnalysis::Impl::getMaxDelay ( Value  value) const

◆ getOpenPathsFromInputPortsToInternal()

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

◆ getOpenPathsFromInternalToOutputPorts()

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

◆ getResults()

LogicalResult aig.LongestPathAnalysis::Impl::getResults ( Value  value,
size_t  bitPos,
SmallVectorImpl< DataflowPath > &  results,
circt::igraph::InstancePathCache instancePathCache = nullptr,
llvm::ImmutableListFactory< DebugPoint > *  debugPointFactory = nullptr 
) const

◆ getResultsImpl()

LogicalResult aig.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 > aig.LongestPathAnalysis::Impl::getTopModules ( ) const
inline

◆ initializeAndRun() [1/2]

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

◆ initializeAndRun() [2/2]

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

◆ isAnalysisAvailable()

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

Member Data Documentation

◆ ctx

Context aig.LongestPathAnalysis::Impl::ctx
private

Definition at line 1157 of file LongestPathAnalysis.cpp.

◆ topModules

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

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