15 #include "llvm/Support/DOTGraphTraits.h"
16 #include "llvm/Support/GraphWriter.h"
17 #include "llvm/Support/raw_ostream.h"
19 using namespace circt;
20 using namespace firrtl;
23 struct PrintInstanceGraphPass
24 :
public PrintInstanceGraphBase<PrintInstanceGraphPass> {
25 PrintInstanceGraphPass(raw_ostream &os) : os(os) {}
26 void runOnOperation()
override {
27 auto circuitOp = getOperation();
28 auto &instanceGraph = getAnalysis<InstanceGraph>();
29 llvm::WriteGraph(os, &instanceGraph,
false,
31 markAllAnalysesPreserved();
38 return std::make_unique<PrintInstanceGraphPass>(
llvm::errs());
std::unique_ptr< mlir::Pass > createPrintInstanceGraphPass()
This file defines an intermediate representation for circuits acting as an abstraction for constraint...
mlir::raw_indented_ostream & errs()