Loading [MathJax]/extensions/tex2jax.js
CIRCT 22.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::tuple< hw::HWModuleOp, 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 116 of file LongestPathAnalysis.h.

Member Typedef Documentation

◆ FanOutType

Definition at line 122 of file LongestPathAnalysis.h.

◆ OutputPort

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

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

◆ DataflowPath() [2/3]

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

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

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

◆ getFanOut()

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

Definition at line 136 of file LongestPathAnalysis.h.

References fanOut.

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

◆ getFanOutAsObject()

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

Definition at line 137 of file LongestPathAnalysis.h.

References fanOut.

◆ getFanOutAsPort()

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

Definition at line 138 of file LongestPathAnalysis.h.

References fanOut.

◆ getFanOutLoc()

Location DataflowPath::getFanOutLoc ( )

Definition at line 301 of file LongestPathAnalysis.cpp.

◆ getHistory()

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

Definition at line 142 of file LongestPathAnalysis.h.

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

◆ getPath()

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

Definition at line 145 of file LongestPathAnalysis.h.

References path.

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

◆ getRoot()

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

Definition at line 141 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 
)

◆ print()

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

Definition at line 246 of file LongestPathAnalysis.cpp.

References aig.DataflowPath::root().

◆ printFanOut()

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

Definition at line 235 of file LongestPathAnalysis.cpp.

References aig.DataflowPath::root().

◆ setDelay()

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

Definition at line 150 of file LongestPathAnalysis.h.

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

Member Data Documentation

◆ fanOut

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

Definition at line 163 of file LongestPathAnalysis.h.

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

◆ path

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

Definition at line 164 of file LongestPathAnalysis.h.

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

◆ root

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

Definition at line 165 of file LongestPathAnalysis.h.

Referenced by getRoot().


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