CIRCT 24.0.0git
Loading...
Searching...
No Matches
Context Class Reference

This class provides a thread-safe interface to access the analysis results. More...

Collaboration diagram for Context:

Public Member Functions

 Context (igraph::InstanceGraph *instanceGraph, const LongestPathAnalysisOptions &option)
void notifyStart (StringAttr name)
void notifyEnd (StringAttr name)
const LocalVisitor * getLocalVisitor (StringAttr name) const
LocalVisitor * getLocalVisitorMutable (StringAttr name) const
bool doTraceDebugPoints () const
bool doLazyComputation () const
bool doKeepOnlyMaxDelayPaths () const
bool isLocalScope () const
StringAttr getTopModuleName () const

Public Attributes

llvm::MapVector< StringAttr, std::unique_ptr< LocalVisitor > > localVisitors
circt::igraph::InstanceGraph * instanceGraph = nullptr

Private Member Functions

bool isRunningParallel () const

Private Attributes

llvm::sys::SmartMutex< true > mutex
llvm::SetVector< StringAttr > running
LongestPathAnalysisOptions option

Detailed Description

This class provides a thread-safe interface to access the analysis results.

Definition at line 448 of file LongestPathAnalysis.cpp.

Constructor & Destructor Documentation

◆ Context()

Context::Context ( igraph::InstanceGraph * instanceGraph,
const LongestPathAnalysisOptions & option )
inline

Definition at line 450 of file LongestPathAnalysis.cpp.

References instanceGraph, and option.

Member Function Documentation

◆ doKeepOnlyMaxDelayPaths()

bool Context::doKeepOnlyMaxDelayPaths ( ) const
inline

Definition at line 486 of file LongestPathAnalysis.cpp.

References option.

◆ doLazyComputation()

bool Context::doLazyComputation ( ) const
inline

Definition at line 485 of file LongestPathAnalysis.cpp.

References option.

Referenced by isRunningParallel().

◆ doTraceDebugPoints()

bool Context::doTraceDebugPoints ( ) const
inline

Definition at line 484 of file LongestPathAnalysis.cpp.

References option.

◆ getLocalVisitor()

const LocalVisitor * Context::getLocalVisitor ( StringAttr name) const

Definition at line 1333 of file LongestPathAnalysis.cpp.

References getLocalVisitorMutable().

◆ getLocalVisitorMutable()

LocalVisitor * Context::getLocalVisitorMutable ( StringAttr name) const

Definition at line 1337 of file LongestPathAnalysis.cpp.

References isRunningParallel(), and localVisitors.

Referenced by getLocalVisitor().

◆ getTopModuleName()

StringAttr Context::getTopModuleName ( ) const
inline

Definition at line 488 of file LongestPathAnalysis.cpp.

References option.

◆ isLocalScope()

bool Context::isLocalScope ( ) const
inline

Definition at line 487 of file LongestPathAnalysis.cpp.

References instanceGraph.

◆ isRunningParallel()

bool Context::isRunningParallel ( ) const
inlineprivate

Definition at line 491 of file LongestPathAnalysis.cpp.

References doLazyComputation().

Referenced by getLocalVisitorMutable().

◆ notifyEnd()

void Context::notifyEnd ( StringAttr name)
inline

Definition at line 462 of file LongestPathAnalysis.cpp.

References mutex, and running.

◆ notifyStart()

void Context::notifyStart ( StringAttr name)
inline

Definition at line 453 of file LongestPathAnalysis.cpp.

References mutex, and running.

Member Data Documentation

◆ instanceGraph

circt::igraph::InstanceGraph* Context::instanceGraph = nullptr

Definition at line 482 of file LongestPathAnalysis.cpp.

Referenced by Context(), and isLocalScope().

◆ localVisitors

llvm::MapVector<StringAttr, std::unique_ptr<LocalVisitor> > Context::localVisitors

Definition at line 479 of file LongestPathAnalysis.cpp.

Referenced by getLocalVisitorMutable().

◆ mutex

llvm::sys::SmartMutex<true> Context::mutex
private

Definition at line 492 of file LongestPathAnalysis.cpp.

Referenced by notifyEnd(), and notifyStart().

◆ option

LongestPathAnalysisOptions Context::option
private

◆ running

llvm::SetVector<StringAttr> Context::running
private

Definition at line 493 of file LongestPathAnalysis.cpp.

Referenced by notifyEnd(), and notifyStart().


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