CIRCT 22.0.0git
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | List of all members
circt::synth::DataflowPath Class Reference

#include <LongestPathAnalysis.h>

Collaboration diagram for circt::synth::DataflowPath:
Collaboration graph
[legend]

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 ObjectgetStartPoint () const
 
const EndPointTypegetEndPoint () const
 
const ObjectgetEndPointAsObject () const
 
const OutputPortgetEndPointAsPort () const
 
hw::HWModuleOp getRoot () const
 
const llvm::ImmutableList< DebugPoint > & getHistory () const
 
const OpenPathgetPath () const
 
Location getEndPointLoc ()
 
void setDelay (int64_t delay)
 
void print (llvm::raw_ostream &os)
 
void printEndPoint (llvm::raw_ostream &os)
 
DataflowPathprependPaths (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 121 of file LongestPathAnalysis.h.

Member Typedef Documentation

◆ EndPointType

Definition at line 127 of file LongestPathAnalysis.h.

◆ OutputPort

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

Definition at line 126 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 130 of file LongestPathAnalysis.h.

◆ DataflowPath() [2/3]

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

Definition at line 134 of file LongestPathAnalysis.h.

◆ DataflowPath() [3/3]

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

Member Function Documentation

◆ getDelay()

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

◆ getEndPoint()

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

Definition at line 141 of file LongestPathAnalysis.h.

References endPoint.

Referenced by circt::synth::toJSON().

◆ getEndPointAsObject()

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

Definition at line 142 of file LongestPathAnalysis.h.

References endPoint.

◆ getEndPointAsPort()

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

Definition at line 145 of file LongestPathAnalysis.h.

References endPoint.

◆ getEndPointLoc()

Location DataflowPath::getEndPointLoc ( )

Definition at line 367 of file LongestPathAnalysis.cpp.

◆ getHistory()

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

Definition at line 149 of file LongestPathAnalysis.h.

References circt::synth::OpenPath::history, and path.

◆ getPath()

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

Definition at line 152 of file LongestPathAnalysis.h.

References path.

Referenced by circt::synth::toJSON().

◆ getRoot()

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

Definition at line 148 of file LongestPathAnalysis.h.

References root.

Referenced by circt::synth::toJSON().

◆ getStartPoint()

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

Definition at line 140 of file LongestPathAnalysis.h.

References path, and circt::synth::OpenPath::startPoint.

◆ prependPaths()

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

◆ print()

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

Definition at line 312 of file LongestPathAnalysis.cpp.

References synth.DataflowPath::root().

◆ printEndPoint()

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

Definition at line 301 of file LongestPathAnalysis.cpp.

References synth.DataflowPath::root().

◆ setDelay()

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

Definition at line 157 of file LongestPathAnalysis.h.

References circt::synth::OpenPath::delay, and path.

Member Data Documentation

◆ endPoint

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

Definition at line 170 of file LongestPathAnalysis.h.

Referenced by getEndPoint(), getEndPointAsObject(), and getEndPointAsPort().

◆ path

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

Definition at line 171 of file LongestPathAnalysis.h.

Referenced by getDelay(), getHistory(), getPath(), getStartPoint(), and setDelay().

◆ root

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

Definition at line 172 of file LongestPathAnalysis.h.

Referenced by getRoot().


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