|
CIRCT 24.0.0git
|

Public Types | |
| using | ObjectToMaxDistance |
Public Member Functions | |
| LocalVisitor (hw::HWModuleOp module, Context *ctx) | |
| LogicalResult | initializeAndRun () |
| void | waitUntilDone () const |
| FailureOr< ArrayRef< OpenPath > > | getOrComputePaths (Value value, size_t bitPos) |
| ArrayRef< OpenPath > | getCachedPaths (Value value, size_t bitPos) const |
| void | getInternalPaths (SmallVectorImpl< DataflowPath > &results) const |
| void | setTopLevel () |
| bool | isTopLevel () const |
| hw::HWModuleOp | getHWModuleOp () const |
| const auto & | getFromInputPortToEndPoint () const |
| const auto & | getFromOutputPortToStartPoint () const |
| const auto & | getEndPointResults () const |
| circt::igraph::InstancePathCache * | getInstancePathCache () const |
| llvm::ImmutableListFactory< DebugPoint > * | getDebugPointFactory () const |
Private Member Functions | |
| void | putUnclosedResult (const Object &object, int64_t delay, llvm::ImmutableList< DebugPoint > history, ObjectToMaxDistance &objectToMaxDistance) |
| LogicalResult | initializeAndRun (hw::InstanceOp instance) |
| LogicalResult | initializeAndRun (hw::OutputOp output) |
| LogicalResult | visitValue (Value value, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (mlir::BlockArgument argument, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (hw::InstanceOp op, size_t bitPos, size_t resultNum, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (hw::WireOp op, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (comb::ConcatOp op, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (comb::ExtractOp op, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (comb::ReplicateOp op, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| std::pair< Value, size_t > | findLeader (Value value, size_t bitpos) const |
| LogicalResult | markEquivalent (Value from, size_t fromBitPos, Value to, size_t toBitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (BooleanLogicOpInterface op, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (comb::AndOp op, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (comb::XorOp op, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (comb::OrOp op, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (comb::MuxOp op, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | addLogicOp (Operation *op, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (comb::TruthTableOp op, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (hw::ConstantOp op, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (seq::FirRegOp op, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (seq::CompRegOp op, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (seq::FirMemReadOp op, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visit (seq::FirMemReadWriteOp op, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | visitDefault (OpResult result, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | addEdge (Value to, size_t toBitPos, int64_t delay, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | markStartPoint (Value value, size_t bitPos, SmallVectorImpl< OpenPath > &results) |
| LogicalResult | markRegEndPoint (Value endPoint, Value start, Value reset={}, Value resetValue={}, Value enable={}) |
Private Attributes | |
| llvm::MapVector< std::pair< BlockArgument, size_t >, ObjectToMaxDistance > | fromInputPortToEndPoint |
| llvm::MapVector< std::tuple< size_t, size_t >, ObjectToMaxDistance > | fromOutputPortToStartPoint |
| llvm::EquivalenceClasses< std::pair< Value, size_t > > | ec |
| DenseMap< std::pair< Value, size_t >, std::pair< Value, size_t > > | ecMap |
| hw::HWModuleOp | module |
| Context * | ctx |
| std::unique_ptr< circt::igraph::InstancePathCache > | instancePathCache |
| std::unique_ptr< llvm::ImmutableListFactory< DebugPoint > > | debugPointFactory |
| DenseMap< std::pair< Value, size_t >, std::unique_ptr< SmallVector< OpenPath > > > | cachedResults |
| DenseMap< Object, SmallVector< OpenPath > > | endPointResults |
| std::unique_ptr< OperationAnalyzer > | operationAnalyzer |
| std::atomic_bool | done |
| std::condition_variable | cv |
| std::mutex | mutex |
| bool | topLevel = false |
Definition at line 579 of file LongestPathAnalysis.cpp.
Definition at line 595 of file LongestPathAnalysis.cpp.
| LocalVisitor::LocalVisitor | ( | hw::HWModuleOp | module, |
| Context * | ctx ) |
Definition at line 749 of file LongestPathAnalysis.cpp.
References ctx, debugPointFactory, done, instancePathCache, module, and operationAnalyzer.
|
private |
Definition at line 855 of file LongestPathAnalysis.cpp.
References failure(), getOrComputePaths(), and success().
Referenced by addLogicOp(), visit(), visit(), and visitDefault().
|
private |
|
inlineprivate |
Definition at line 660 of file LongestPathAnalysis.cpp.
References ec.
| ArrayRef< OpenPath > LocalVisitor::getCachedPaths | ( | Value | value, |
| size_t | bitPos ) const |
Definition at line 762 of file LongestPathAnalysis.cpp.
References cachedResults, ec, and getCachedPaths().
Referenced by getCachedPaths().
|
inline |
Definition at line 616 of file LongestPathAnalysis.cpp.
References debugPointFactory.
|
inline |
Definition at line 610 of file LongestPathAnalysis.cpp.
References endPointResults.
|
inline |
Definition at line 604 of file LongestPathAnalysis.cpp.
References fromInputPortToEndPoint.
|
inline |
Definition at line 607 of file LongestPathAnalysis.cpp.
References fromOutputPortToStartPoint.
|
inline |
Definition at line 602 of file LongestPathAnalysis.cpp.
|
inline |
Definition at line 612 of file LongestPathAnalysis.cpp.
References instancePathCache.
| void LocalVisitor::getInternalPaths | ( | SmallVectorImpl< DataflowPath > & | results | ) | const |
| FailureOr< ArrayRef< OpenPath > > LocalVisitor::getOrComputePaths | ( | Value | value, |
| size_t | bitPos ) |
Definition at line 1096 of file LongestPathAnalysis.cpp.
References assert(), cachedResults, ctx, ec, filterPaths(), getOrComputePaths(), and visitValue().
Referenced by addEdge(), getOrComputePaths(), initializeAndRun(), initializeAndRun(), initializeAndRun(), markRegEndPoint(), and visit().
| LogicalResult LocalVisitor::initializeAndRun | ( | ) |
Definition at line 1271 of file LongestPathAnalysis.cpp.
References ctx, circt::hw::getBitWidth(), getOrComputePaths(), module, and success().
|
private |
Definition at line 1185 of file LongestPathAnalysis.cpp.
References assert(), concatList(), ctx, debugPointFactory, endPointResults, failure(), fromInputPortToEndPoint, circt::hw::getBitWidth(), getOrComputePaths(), instancePathCache, mapList(), putUnclosedResult(), and success().
|
private |
Definition at line 1254 of file LongestPathAnalysis.cpp.
References failure(), fromOutputPortToStartPoint, circt::hw::getBitWidth(), getOrComputePaths(), putUnclosedResult(), and success().
|
inline |
Definition at line 601 of file LongestPathAnalysis.cpp.
References topLevel.
|
private |
Definition at line 844 of file LongestPathAnalysis.cpp.
References assert(), ec, and visitValue().
|
private |
Definition at line 795 of file LongestPathAnalysis.cpp.
References endPointResults, failure(), fromInputPortToEndPoint, circt::hw::getBitWidth(), getOrComputePaths(), putUnclosedResult(), and success().
|
private |
|
private |
Definition at line 780 of file LongestPathAnalysis.cpp.
Referenced by initializeAndRun(), initializeAndRun(), and markRegEndPoint().
|
inline |
Definition at line 600 of file LongestPathAnalysis.cpp.
References topLevel.
|
private |
Definition at line 868 of file LongestPathAnalysis.cpp.
References addLogicOp().
|
private |
Definition at line 873 of file LongestPathAnalysis.cpp.
References addLogicOp().
|
private |
Definition at line 1018 of file LongestPathAnalysis.cpp.
References failure(), circt::hw::getBitWidth(), and markEquivalent().
|
private |
Definition at line 908 of file LongestPathAnalysis.cpp.
References assert(), circt::hw::getBitWidth(), and markEquivalent().
|
private |
Definition at line 888 of file LongestPathAnalysis.cpp.
References addEdge(), ctx, failure(), filterPaths(), and success().
|
private |
Definition at line 878 of file LongestPathAnalysis.cpp.
References addLogicOp().
|
private |
Definition at line 916 of file LongestPathAnalysis.cpp.
References circt::hw::getBitWidth(), and markEquivalent().
|
private |
Definition at line 899 of file LongestPathAnalysis.cpp.
|
private |
Definition at line 883 of file LongestPathAnalysis.cpp.
References addLogicOp().
|
inlineprivate |
Definition at line 684 of file LongestPathAnalysis.cpp.
References success().
|
private |
Definition at line 933 of file LongestPathAnalysis.cpp.
References assert(), concatList(), ctx, debugPointFactory, failure(), getOrComputePaths(), instancePathCache, mapList(), markStartPoint(), and success().
|
private |
Definition at line 928 of file LongestPathAnalysis.cpp.
References markEquivalent().
|
private |
Definition at line 1082 of file LongestPathAnalysis.cpp.
References assert(), ctx, debugPointFactory, module, and success().
Referenced by visitValue().
|
inlineprivate |
Definition at line 695 of file LongestPathAnalysis.cpp.
References markStartPoint().
|
inlineprivate |
Definition at line 700 of file LongestPathAnalysis.cpp.
References markStartPoint().
|
inlineprivate |
Definition at line 705 of file LongestPathAnalysis.cpp.
References markStartPoint().
|
inlineprivate |
Definition at line 690 of file LongestPathAnalysis.cpp.
References markStartPoint().
|
private |
Definition at line 1048 of file LongestPathAnalysis.cpp.
References addEdge(), failure(), operationAnalyzer, and success().
Referenced by visitValue().
|
private |
Definition at line 1137 of file LongestPathAnalysis.cpp.
References ctx, debugPointFactory, success(), visit(), and visitDefault().
Referenced by getOrComputePaths(), and markEquivalent().
| void LocalVisitor::waitUntilDone | ( | ) | const |
Definition at line 789 of file LongestPathAnalysis.cpp.
|
private |
Definition at line 732 of file LongestPathAnalysis.cpp.
Referenced by getCachedPaths(), and getOrComputePaths().
|
private |
Definition at line 723 of file LongestPathAnalysis.cpp.
Referenced by addLogicOp(), getOrComputePaths(), initializeAndRun(), initializeAndRun(), LocalVisitor(), visit(), visit(), visit(), and visitValue().
|
mutableprivate |
Definition at line 742 of file LongestPathAnalysis.cpp.
Referenced by waitUntilDone().
|
private |
Definition at line 728 of file LongestPathAnalysis.cpp.
Referenced by getDebugPointFactory(), initializeAndRun(), LocalVisitor(), visit(), visit(), and visitValue().
|
private |
Definition at line 741 of file LongestPathAnalysis.cpp.
Referenced by LocalVisitor(), and waitUntilDone().
|
private |
Definition at line 658 of file LongestPathAnalysis.cpp.
Referenced by findLeader(), getCachedPaths(), getOrComputePaths(), and markEquivalent().
|
private |
Definition at line 659 of file LongestPathAnalysis.cpp.
|
private |
Definition at line 735 of file LongestPathAnalysis.cpp.
Referenced by getEndPointResults(), initializeAndRun(), and markRegEndPoint().
|
private |
Definition at line 627 of file LongestPathAnalysis.cpp.
Referenced by getFromInputPortToEndPoint(), initializeAndRun(), and markRegEndPoint().
|
private |
Definition at line 631 of file LongestPathAnalysis.cpp.
Referenced by getFromOutputPortToStartPoint(), and initializeAndRun().
|
private |
Definition at line 726 of file LongestPathAnalysis.cpp.
Referenced by getInstancePathCache(), initializeAndRun(), LocalVisitor(), and visit().
|
private |
Definition at line 722 of file LongestPathAnalysis.cpp.
Referenced by initializeAndRun(), om.Evaluator::instantiate(), LocalVisitor(), and visit().
|
mutableprivate |
Definition at line 743 of file LongestPathAnalysis.cpp.
Referenced by waitUntilDone().
|
private |
Definition at line 738 of file LongestPathAnalysis.cpp.
Referenced by LocalVisitor(), and visitDefault().
|
private |
Definition at line 746 of file LongestPathAnalysis.cpp.
Referenced by isTopLevel(), and setTopLevel().