13 #ifndef CIRCT_DIALECT_MSFT_EXPORTTCL_H
14 #define CIRCT_DIALECT_MSFT_EXPORTTCL_H
20 #include "llvm/ADT/MapVector.h"
21 #include "llvm/ADT/StringRef.h"
32 LogicalResult
emit(Operation *hwMod, StringRef outputFile);
47 llvm::MapVector<StringAttr, SmallVector<DynInstDataOpInterface, 0>>>
This stores lookup tables to make manipulating and working with the IR more efficient.
Instantiate for all Tcl emissions.
Operation * getDefinition(FlatSymbolRefAttr)
hw::HWSymbolCache topLevelSymbols
DenseMap< Operation *, llvm::MapVector< StringAttr, SmallVector< DynInstDataOpInterface, 0 > > > tclOpsForModInstance
Map Module operations to their top-level "instance" names.
DenseSet< hw::HierPathOp > refsUsed
LogicalResult emit(Operation *hwMod, StringRef outputFile)
Write out all the relevant tcl commands.
const DenseSet< hw::HierPathOp > & getRefsUsed()
void usedRef(hw::HierPathOp ref)
TclEmitter(mlir::ModuleOp topLevel)
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.