CIRCT 24.0.0git
Loading...
Searching...
No Matches
DCPrintDot.cpp File Reference
#include "circt/Dialect/DC/DCOps.h"
#include "circt/Dialect/DC/DCPasses.h"
#include "mlir/Pass/Pass.h"
#include "circt/Dialect/Comb/CombDialect.h"
#include "circt/Dialect/Comb/CombOps.h"
#include "mlir/Support/IndentedOstream.h"
#include "llvm/ADT/ScopedHashTable.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/raw_ostream.h"
#include "circt/Dialect/DC/DCPasses.h.inc"
Include dependency graph for DCPrintDot.cpp:

Go to the source code of this file.

Namespaces

namespace  circt
 The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
namespace  circt::dc

Macros

#define GEN_PASS_DEF_DCDOTPRINT

Typedefs

using ValueMap = llvm::ScopedHashTable<mlir::Value, std::string>

Functions

static SmallVector< std::pair< mlir::Value, std::string > > valueToName (const SmallVector< mlir::Value > &values, SmallVector< std::pair< mlir::Value, std::string > > &currentMap, bool tokenFlag)
 gives a unique name to each value in the graph
static DotNode createDCNode (Operation &op, SmallVector< std::pair< mlir::Value, std::string > > &valuesMap)
 creates node in the dataflow graph for DC operations
static DotNode createCombNode (Operation &op, SmallVector< std::pair< mlir::Value, std::string > > &valuesMap)
 creates node in the dataflow graph for Comb operations

Macro Definition Documentation

◆ GEN_PASS_DEF_DCDOTPRINT

#define GEN_PASS_DEF_DCDOTPRINT

Definition at line 26 of file DCPrintDot.cpp.

Typedef Documentation

◆ ValueMap

using ValueMap = llvm::ScopedHashTable<mlir::Value, std::string>

Definition at line 35 of file DCPrintDot.cpp.

Function Documentation

◆ createCombNode()

DotNode createCombNode ( Operation & op,
SmallVector< std::pair< mlir::Value, std::string > > & valuesMap )
static

creates node in the dataflow graph for Comb operations

Definition at line 187 of file DCPrintDot.cpp.

References valueToName().

◆ createDCNode()

DotNode createDCNode ( Operation & op,
SmallVector< std::pair< mlir::Value, std::string > > & valuesMap )
static

creates node in the dataflow graph for DC operations

Definition at line 158 of file DCPrintDot.cpp.

References valueToName().

◆ valueToName()

SmallVector< std::pair< mlir::Value, std::string > > valueToName ( const SmallVector< mlir::Value > & values,
SmallVector< std::pair< mlir::Value, std::string > > & currentMap,
bool tokenFlag )
static

gives a unique name to each value in the graph

Definition at line 133 of file DCPrintDot.cpp.

References found.

Referenced by createCombNode(), and createDCNode().