Loading [MathJax]/extensions/tex2jax.js
CIRCT 21.0.0git
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Private Attributes | List of all members
circt::aig::DataflowPath Class Reference

#include <LongestPathAnalysis.h>

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

Public Types

using OutputPort = std::pair< size_t, size_t >
 
using FanOutType = std::variant< Object, OutputPort >
 

Public Member Functions

 DataflowPath (Object fanOut, OpenPath fanIn, hw::HWModuleOp root)
 
 DataflowPath (OutputPort fanOut, OpenPath fanIn, hw::HWModuleOp root)
 
 DataflowPath ()=default
 
int64_t getDelay () const
 
const ObjectgetFanIn () const
 
const FanOutTypegetFanOut () const
 
const ObjectgetFanOutAsObject () const
 
const OutputPortgetFanOutAsPort () const
 
hw::HWModuleOp getRoot () const
 
const llvm::ImmutableList< DebugPoint > & getHistory () const
 
const OpenPathgetPath () const
 
Location getFanOutLoc ()
 
void setDelay (int64_t delay)
 
void print (llvm::raw_ostream &os)
 
void printFanOut (llvm::raw_ostream &os)
 
DataflowPathprependPaths (circt::igraph::InstancePathCache &cache, llvm::ImmutableListFactory< DebugPoint > *debugPointFactory, circt::igraph::InstancePath path)
 

Private Attributes

FanOutType fanOut
 
OpenPath path
 
hw::HWModuleOp root
 

Detailed Description

Definition at line 114 of file LongestPathAnalysis.h.

Member Typedef Documentation

◆ FanOutType

Definition at line 120 of file LongestPathAnalysis.h.

◆ OutputPort

using circt::aig::DataflowPath::OutputPort = std::pair<size_t, size_t>

Definition at line 119 of file LongestPathAnalysis.h.

Constructor & Destructor Documentation

◆ DataflowPath() [1/3]

circt::aig::DataflowPath::DataflowPath ( Object  fanOut,
OpenPath  fanIn,
hw::HWModuleOp  root 
)
inline

Definition at line 123 of file LongestPathAnalysis.h.

◆ DataflowPath() [2/3]

circt::aig::DataflowPath::DataflowPath ( OutputPort  fanOut,
OpenPath  fanIn,
hw::HWModuleOp  root 
)
inline

Definition at line 127 of file LongestPathAnalysis.h.

◆ DataflowPath() [3/3]

circt::aig::DataflowPath::DataflowPath ( )
default

Member Function Documentation

◆ getDelay()

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

◆ getFanIn()

const Object & circt::aig::DataflowPath::getFanIn ( ) const
inline

Definition at line 133 of file LongestPathAnalysis.h.

References circt::aig::OpenPath::fanIn, and path.

◆ getFanOut()

const FanOutType & circt::aig::DataflowPath::getFanOut ( ) const
inline

Definition at line 134 of file LongestPathAnalysis.h.

References fanOut.

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

◆ getFanOutAsObject()

const Object & circt::aig::DataflowPath::getFanOutAsObject ( ) const
inline

Definition at line 135 of file LongestPathAnalysis.h.

References fanOut.

◆ getFanOutAsPort()

const OutputPort & circt::aig::DataflowPath::getFanOutAsPort ( ) const
inline

Definition at line 136 of file LongestPathAnalysis.h.

References fanOut.

◆ getFanOutLoc()

Location DataflowPath::getFanOutLoc ( )

Definition at line 294 of file LongestPathAnalysis.cpp.

References aig.DataflowPath::root.

◆ getHistory()

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

Definition at line 140 of file LongestPathAnalysis.h.

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

◆ getPath()

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

Definition at line 143 of file LongestPathAnalysis.h.

References path.

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

◆ getRoot()

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

Definition at line 139 of file LongestPathAnalysis.h.

References root.

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

◆ prependPaths()

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

Definition at line 276 of file LongestPathAnalysis.cpp.

References assert(), aig.DataflowPath::path, and aig.DataflowPath::root.

◆ print()

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

Definition at line 239 of file LongestPathAnalysis.cpp.

References aig.DataflowPath::path, and aig.DataflowPath::root.

◆ printFanOut()

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

Definition at line 228 of file LongestPathAnalysis.cpp.

References aig.DataflowPath::root.

◆ setDelay()

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

Definition at line 148 of file LongestPathAnalysis.h.

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

Member Data Documentation

◆ fanOut

FanOutType circt::aig::DataflowPath::fanOut
private

Definition at line 161 of file LongestPathAnalysis.h.

Referenced by getFanOut(), getFanOutAsObject(), and getFanOutAsPort().

◆ path

OpenPath circt::aig::DataflowPath::path
private

◆ root

hw::HWModuleOp circt::aig::DataflowPath::root
private

Definition at line 163 of file LongestPathAnalysis.h.

Referenced by getRoot().


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