CIRCT 24.0.0git
Loading...
Searching...
No Matches
circt::synth::DataflowPath Class Reference

#include <LongestPathAnalysis.h>

Collaboration diagram for circt::synth::DataflowPath:

Public Types

using OutputPort = std::tuple<hw::HWModuleOp, size_t, size_t>
using EndPointType = std::variant<Object, OutputPort>

Public Member Functions

 DataflowPath (Object endPoint, OpenPath startPoint, hw::HWModuleOp root)
 DataflowPath (OutputPort endPoint, OpenPath startPoint, hw::HWModuleOp root)
 DataflowPath ()=default
int64_t getDelay () const
const Object & getStartPoint () const
const EndPointType & getEndPoint () const
const Object & getEndPointAsObject () const
const OutputPort & getEndPointAsPort () const
hw::HWModuleOp getRoot () const
const llvm::ImmutableList< DebugPoint > & getHistory () const
const OpenPath & getPath () const
Location getEndPointLoc ()
void setDelay (int64_t delay)
void print (llvm::raw_ostream &os)
void printEndPoint (llvm::raw_ostream &os)
DataflowPath & prependPaths (circt::igraph::InstancePathCache &cache, llvm::ImmutableListFactory< DebugPoint > *debugPointFactory, circt::igraph::InstancePath path)

Private Attributes

EndPointType endPoint
OpenPath path
hw::HWModuleOp root

Detailed Description

Definition at line 124 of file LongestPathAnalysis.h.

Member Typedef Documentation

◆ EndPointType

Definition at line 130 of file LongestPathAnalysis.h.

◆ OutputPort

using circt::synth::DataflowPath::OutputPort = std::tuple<hw::HWModuleOp, size_t, size_t>

Definition at line 129 of file LongestPathAnalysis.h.

Constructor & Destructor Documentation

◆ DataflowPath() [1/3]

circt::synth::DataflowPath::DataflowPath ( Object endPoint,
OpenPath startPoint,
hw::HWModuleOp root )
inline

Definition at line 133 of file LongestPathAnalysis.h.

References endPoint, path, and root.

Referenced by prependPaths().

◆ DataflowPath() [2/3]

circt::synth::DataflowPath::DataflowPath ( OutputPort endPoint,
OpenPath startPoint,
hw::HWModuleOp root )
inline

Definition at line 137 of file LongestPathAnalysis.h.

References endPoint, path, and root.

◆ DataflowPath() [3/3]

circt::synth::DataflowPath::DataflowPath ( )
default

Member Function Documentation

◆ getDelay()

int64_t circt::synth::DataflowPath::getDelay ( ) const
inline

Definition at line 142 of file LongestPathAnalysis.h.

References path.

Referenced by circt::synth::LongestPathCollection::sortInDescendingOrder().

◆ getEndPoint()

const EndPointType & circt::synth::DataflowPath::getEndPoint ( ) const
inline

Definition at line 144 of file LongestPathAnalysis.h.

References endPoint.

◆ getEndPointAsObject()

const Object & circt::synth::DataflowPath::getEndPointAsObject ( ) const
inline

Definition at line 145 of file LongestPathAnalysis.h.

References endPoint.

◆ getEndPointAsPort()

const OutputPort & circt::synth::DataflowPath::getEndPointAsPort ( ) const
inline

Definition at line 148 of file LongestPathAnalysis.h.

References endPoint.

◆ getEndPointLoc()

Location DataflowPath::getEndPointLoc ( )

Definition at line 367 of file LongestPathAnalysis.cpp.

References endPoint.

◆ getHistory()

const llvm::ImmutableList< DebugPoint > & circt::synth::DataflowPath::getHistory ( ) const
inline

Definition at line 152 of file LongestPathAnalysis.h.

References path.

◆ getPath()

const OpenPath & circt::synth::DataflowPath::getPath ( ) const
inline

Definition at line 155 of file LongestPathAnalysis.h.

References path.

◆ getRoot()

hw::HWModuleOp circt::synth::DataflowPath::getRoot ( ) const
inline

Definition at line 151 of file LongestPathAnalysis.h.

References root.

◆ getStartPoint()

const Object & circt::synth::DataflowPath::getStartPoint ( ) const
inline

Definition at line 143 of file LongestPathAnalysis.h.

References path.

◆ prependPaths()

DataflowPath & DataflowPath::prependPaths ( circt::igraph::InstancePathCache & cache,
llvm::ImmutableListFactory< DebugPoint > * debugPointFactory,
circt::igraph::InstancePath path )

Definition at line 349 of file LongestPathAnalysis.cpp.

References assert(), DataflowPath(), endPoint, path, and root.

◆ print()

void DataflowPath::print ( llvm::raw_ostream & os)

Definition at line 312 of file LongestPathAnalysis.cpp.

References path, printEndPoint(), and root.

◆ printEndPoint()

void DataflowPath::printEndPoint ( llvm::raw_ostream & os)

Definition at line 301 of file LongestPathAnalysis.cpp.

References endPoint, and root.

Referenced by print().

◆ setDelay()

void circt::synth::DataflowPath::setDelay ( int64_t delay)
inline

Definition at line 160 of file LongestPathAnalysis.h.

References path.

Member Data Documentation

◆ endPoint

EndPointType circt::synth::DataflowPath::endPoint
private

◆ path

OpenPath circt::synth::DataflowPath::path
private

◆ root

hw::HWModuleOp circt::synth::DataflowPath::root
private

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